Merge changes Ia7755e80,I1b866cb9
* changes: ChangeScreen2: Use min-width to prevent button resizing ChangeScreen2: Replace revision selector with a popdown
This commit is contained in:
@@ -46,7 +46,6 @@ import com.google.gerrit.client.ui.ChangeLink;
|
||||
import com.google.gerrit.client.ui.CommentLinkProcessor;
|
||||
import com.google.gerrit.client.ui.Screen;
|
||||
import com.google.gerrit.client.ui.UserActivityMonitor;
|
||||
import com.google.gerrit.common.PageLinks;
|
||||
import com.google.gerrit.common.changes.ListChangesOption;
|
||||
import com.google.gerrit.reviewdb.client.Change;
|
||||
import com.google.gerrit.reviewdb.client.PatchSet;
|
||||
@@ -57,7 +56,6 @@ import com.google.gwt.core.client.JsArray;
|
||||
import com.google.gwt.core.client.JsArrayString;
|
||||
import com.google.gwt.dom.client.AnchorElement;
|
||||
import com.google.gwt.dom.client.Element;
|
||||
import com.google.gwt.event.dom.client.ChangeEvent;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.KeyPressEvent;
|
||||
import com.google.gwt.event.logical.shared.CloseEvent;
|
||||
@@ -72,10 +70,8 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.Button;
|
||||
import com.google.gwt.user.client.ui.FlowPanel;
|
||||
import com.google.gwt.user.client.ui.HTMLPanel;
|
||||
import com.google.gwt.user.client.ui.ListBox;
|
||||
import com.google.gwt.user.client.ui.PopupPanel;
|
||||
import com.google.gwt.user.client.ui.ToggleButton;
|
||||
import com.google.gwt.user.client.ui.UIObject;
|
||||
import com.google.gwtexpui.clippy.client.CopyableLabel;
|
||||
import com.google.gwtexpui.globalkey.client.GlobalKey;
|
||||
import com.google.gwtexpui.globalkey.client.KeyCommand;
|
||||
@@ -84,7 +80,6 @@ import com.google.gwtorm.client.KeyUtil;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.EnumSet;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -139,14 +134,13 @@ public class ChangeScreen2 extends Screen {
|
||||
@UiField Element actionDate;
|
||||
|
||||
@UiField Actions actions;
|
||||
@UiField Element revisionParent;
|
||||
@UiField ListBox revisionList;
|
||||
@UiField Labels labels;
|
||||
@UiField CommitBox commit;
|
||||
@UiField RelatedChanges related;
|
||||
@UiField FileTable files;
|
||||
@UiField FlowPanel history;
|
||||
|
||||
@UiField Button revisions;
|
||||
@UiField Button download;
|
||||
@UiField Button reply;
|
||||
@UiField Button expandAll;
|
||||
@@ -155,6 +149,7 @@ public class ChangeScreen2 extends Screen {
|
||||
@UiField QuickApprove quickApprove;
|
||||
private ReplyAction replyAction;
|
||||
private EditMessageAction editMessageAction;
|
||||
private RevisionsAction revisionsAction;
|
||||
private DownloadAction downloadAction;
|
||||
|
||||
public ChangeScreen2(Change.Id changeId, String revision, boolean openReplyBox) {
|
||||
@@ -179,8 +174,10 @@ public class ChangeScreen2 extends Screen {
|
||||
void loadChangeInfo(boolean fg, AsyncCallback<ChangeInfo> cb) {
|
||||
RestApi call = ChangeApi.detail(changeId.get());
|
||||
ChangeList.addOptions(call, EnumSet.of(
|
||||
ListChangesOption.ALL_REVISIONS,
|
||||
ListChangesOption.CURRENT_ACTIONS));
|
||||
ListChangesOption.CURRENT_ACTIONS,
|
||||
fg && revision != null
|
||||
? ListChangesOption.ALL_REVISIONS
|
||||
: ListChangesOption.CURRENT_REVISION));
|
||||
if (!fg) {
|
||||
call.background();
|
||||
}
|
||||
@@ -247,7 +244,13 @@ public class ChangeScreen2 extends Screen {
|
||||
}
|
||||
}
|
||||
|
||||
private void renderDownload(ChangeInfo info, String revision) {
|
||||
private void initRevisionsAction(ChangeInfo info, String revision) {
|
||||
revisionsAction = new RevisionsAction(
|
||||
info.legacy_id(), revision,
|
||||
style, headerLine, revisions);
|
||||
}
|
||||
|
||||
private void initDownloadAction(ChangeInfo info, String revision) {
|
||||
downloadAction = new DownloadAction(
|
||||
info.legacy_id(),
|
||||
info.project(),
|
||||
@@ -341,14 +344,9 @@ public class ChangeScreen2 extends Screen {
|
||||
downloadAction.show();
|
||||
}
|
||||
|
||||
@UiHandler("revisionList")
|
||||
void onChangeRevision(ChangeEvent e) {
|
||||
int idx = revisionList.getSelectedIndex();
|
||||
if (0 <= idx) {
|
||||
String n = revisionList.getValue(idx);
|
||||
revisionList.setEnabled(false);
|
||||
Gerrit.display(PageLinks.toChange2(changeId, n));
|
||||
}
|
||||
@UiHandler("revisions")
|
||||
void onRevision(ClickEvent e) {
|
||||
revisionsAction.show();
|
||||
}
|
||||
|
||||
@UiHandler("reply")
|
||||
@@ -597,9 +595,9 @@ public class ChangeScreen2 extends Screen {
|
||||
renderOwner(info);
|
||||
renderReviewers(info);
|
||||
renderActionTextDate(info);
|
||||
renderDownload(info, revision);
|
||||
renderRevisions(info);
|
||||
renderHistory(info);
|
||||
initRevisionsAction(info, revision);
|
||||
initDownloadAction(info, revision);
|
||||
actions.display(info, revision);
|
||||
|
||||
star.setValue(info.starred());
|
||||
@@ -660,35 +658,6 @@ public class ChangeScreen2 extends Screen {
|
||||
ccText.setInnerSafeHtml(labels.formatUserList(cc.values()));
|
||||
}
|
||||
|
||||
private void renderRevisions(ChangeInfo info) {
|
||||
if (info.revisions().size() == 1) {
|
||||
UIObject.setVisible(revisionParent, false);
|
||||
return;
|
||||
}
|
||||
|
||||
JsArray<RevisionInfo> list = info.revisions().values();
|
||||
RevisionInfo.sortRevisionInfoByNumber(list);
|
||||
if (Gerrit.isSignedIn()
|
||||
&& Gerrit.getUserAccount().getGeneralPreferences()
|
||||
.isReversePatchSetOrder()) {
|
||||
Collections.reverse(Natives.asList(list));
|
||||
}
|
||||
|
||||
int selected = -1;
|
||||
for (int i = 0; i < list.length(); i++) {
|
||||
RevisionInfo r = list.get(i);
|
||||
revisionList.addItem(
|
||||
r._number() + ": " + r.name().substring(0, 6),
|
||||
"" + r._number());
|
||||
if (revision.equals(r.name())) {
|
||||
selected = i;
|
||||
}
|
||||
}
|
||||
if (0 <= selected) {
|
||||
revisionList.setSelectedIndex(selected);
|
||||
}
|
||||
}
|
||||
|
||||
private void renderOwner(ChangeInfo info) {
|
||||
// TODO info card hover
|
||||
ownerText.setInnerText(info.owner().name() != null
|
||||
|
||||
@@ -97,6 +97,7 @@ limitations under the License.
|
||||
margin: 0;
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
min-width: 100px;
|
||||
}
|
||||
.popdown button div {
|
||||
padding-left: 6px;
|
||||
@@ -256,14 +257,14 @@ limitations under the License.
|
||||
</g:Button>
|
||||
</div>
|
||||
|
||||
<div class='{style.popdown}'>
|
||||
<div ui:field='revisionParent' style='display: inline-block;'>
|
||||
<ui:msg>Revision <g:ListBox ui:field='revisionList'/></ui:msg>
|
||||
</div>
|
||||
<g:FlowPanel styleName='{style.popdown}'>
|
||||
<g:Button ui:field='revisions' styleName=''>
|
||||
<div><ui:msg>Revisions</ui:msg></div>
|
||||
</g:Button>
|
||||
<g:Button ui:field='download' styleName=''>
|
||||
<div><ui:msg>Download</ui:msg></div>
|
||||
</g:Button>
|
||||
</div>
|
||||
</g:FlowPanel>
|
||||
</g:HTMLPanel>
|
||||
|
||||
<table class='{style.headerTable}'>
|
||||
|
||||
@@ -19,4 +19,9 @@ interface Constants extends com.google.gwt.i18n.client.Constants {
|
||||
String nextChange();
|
||||
String openChange();
|
||||
String reviewedFileTitle();
|
||||
|
||||
String ps();
|
||||
String commit();
|
||||
String date();
|
||||
String author();
|
||||
}
|
||||
|
||||
@@ -2,3 +2,8 @@ previousChange = Previous related change
|
||||
nextChange = Next related change
|
||||
openChange = Open related change
|
||||
reviewedFileTitle = Mark file as reviewed (Shortcut: r)
|
||||
|
||||
ps = PS
|
||||
commit = Commit
|
||||
date = Date
|
||||
author = Author
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
// Copyright (C) 2013 The Android Open Source Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package com.google.gerrit.client.change;
|
||||
|
||||
import com.google.gerrit.reviewdb.client.Change;
|
||||
import com.google.gwt.user.client.ui.UIObject;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
|
||||
class RevisionsAction extends RightSidePopdownAction {
|
||||
private final RevisionsBox revisionBox;
|
||||
|
||||
RevisionsAction(
|
||||
Change.Id changeId,
|
||||
String revision,
|
||||
ChangeScreen2.Style style,
|
||||
UIObject relativeTo,
|
||||
Widget downloadButton) {
|
||||
super(style, relativeTo, downloadButton);
|
||||
this.revisionBox = new RevisionsBox(changeId, revision);
|
||||
}
|
||||
|
||||
Widget getWidget() {
|
||||
return revisionBox;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,219 @@
|
||||
// Copyright (C) 2013 The Android Open Source Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package com.google.gerrit.client.change;
|
||||
|
||||
import com.google.gerrit.client.FormatUtil;
|
||||
import com.google.gerrit.client.Gerrit;
|
||||
import com.google.gerrit.client.changes.ChangeApi;
|
||||
import com.google.gerrit.client.changes.ChangeInfo;
|
||||
import com.google.gerrit.client.changes.ChangeInfo.CommitInfo;
|
||||
import com.google.gerrit.client.changes.ChangeInfo.RevisionInfo;
|
||||
import com.google.gerrit.client.changes.ChangeList;
|
||||
import com.google.gerrit.client.rpc.NativeMap;
|
||||
import com.google.gerrit.client.rpc.Natives;
|
||||
import com.google.gerrit.client.rpc.RestApi;
|
||||
import com.google.gerrit.client.ui.FancyFlexTableImpl;
|
||||
import com.google.gerrit.common.PageLinks;
|
||||
import com.google.gerrit.common.changes.ListChangesOption;
|
||||
import com.google.gerrit.reviewdb.client.Change;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.core.client.JsArray;
|
||||
import com.google.gwt.dom.client.NativeEvent;
|
||||
import com.google.gwt.resources.client.CssResource;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.user.client.DOM;
|
||||
import com.google.gwt.user.client.Event;
|
||||
import com.google.gwt.user.client.EventListener;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.Composite;
|
||||
import com.google.gwt.user.client.ui.FlexTable;
|
||||
import com.google.gwt.user.client.ui.HTMLPanel;
|
||||
import com.google.gwt.user.client.ui.PopupPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.google.gwt.user.client.ui.impl.HyperlinkImpl;
|
||||
import com.google.gwtexpui.safehtml.client.SafeHtmlBuilder;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.EnumSet;
|
||||
|
||||
class RevisionsBox extends Composite {
|
||||
interface Binder extends UiBinder<HTMLPanel, RevisionsBox> {}
|
||||
private static final Binder uiBinder = GWT.create(Binder.class);
|
||||
|
||||
private static final String OPEN;
|
||||
private static final HyperlinkImpl link = GWT.create(HyperlinkImpl.class);
|
||||
|
||||
static {
|
||||
OPEN = DOM.createUniqueId().replace('-', '_');
|
||||
init(OPEN);
|
||||
}
|
||||
|
||||
private static final native void init(String o) /*-{
|
||||
$wnd[o] = $entry(function(e,i) {
|
||||
return @com.google.gerrit.client.change.RevisionsBox::onOpen(Lcom/google/gwt/dom/client/NativeEvent;I)(e,i);
|
||||
});
|
||||
}-*/;
|
||||
|
||||
private static boolean onOpen(NativeEvent e, int idx) {
|
||||
if (link.handleAsClick(e.<Event> cast())) {
|
||||
RevisionsBox t = getRevisionBox(e);
|
||||
if (t != null) {
|
||||
t.onOpenRow(idx);
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private static RevisionsBox getRevisionBox(NativeEvent event) {
|
||||
com.google.gwt.user.client.Element e = event.getEventTarget().cast();
|
||||
for (e = DOM.getParent(e); e != null; e = DOM.getParent(e)) {
|
||||
EventListener l = DOM.getEventListener(e);
|
||||
if (l instanceof RevisionsBox) {
|
||||
return (RevisionsBox) l;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
interface Style extends CssResource {
|
||||
String current();
|
||||
String legacy_id();
|
||||
String commit();
|
||||
}
|
||||
|
||||
private final Change.Id changeId;
|
||||
private final String revision;
|
||||
private boolean loaded;
|
||||
private JsArray<RevisionInfo> revisions;
|
||||
|
||||
@UiField FlexTable table;
|
||||
@UiField Style style;
|
||||
|
||||
RevisionsBox(Change.Id changeId, String revision) {
|
||||
this.changeId = changeId;
|
||||
this.revision = revision;
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onLoad() {
|
||||
if (!loaded) {
|
||||
RestApi call = ChangeApi.detail(changeId.get());
|
||||
ChangeList.addOptions(call, EnumSet.of(
|
||||
ListChangesOption.ALL_REVISIONS,
|
||||
ListChangesOption.ALL_COMMITS));
|
||||
call.get(new AsyncCallback<ChangeInfo>() {
|
||||
@Override
|
||||
public void onSuccess(ChangeInfo result) {
|
||||
render(result.revisions());
|
||||
loaded = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void onOpenRow(int idx) {
|
||||
closeParent();
|
||||
Gerrit.display(url(revisions.get(idx)));
|
||||
}
|
||||
|
||||
private void render(NativeMap<RevisionInfo> map) {
|
||||
map.copyKeysIntoChildren("name");
|
||||
|
||||
revisions = map.values();
|
||||
RevisionInfo.sortRevisionInfoByNumber(revisions);
|
||||
Collections.reverse(Natives.asList(revisions));
|
||||
|
||||
SafeHtmlBuilder sb = new SafeHtmlBuilder();
|
||||
header(sb);
|
||||
for (int i = 0; i < revisions.length(); i++) {
|
||||
revision(sb, i, revisions.get(i));
|
||||
}
|
||||
|
||||
GWT.<FancyFlexTableImpl> create(FancyFlexTableImpl.class)
|
||||
.resetHtml(table, sb);
|
||||
}
|
||||
|
||||
private void header(SafeHtmlBuilder sb) {
|
||||
sb.openTr()
|
||||
.openTh()
|
||||
.setStyleName(style.legacy_id())
|
||||
.append(Resources.C.ps())
|
||||
.closeTh()
|
||||
.openTh().append(Resources.C.commit()).closeTh()
|
||||
.openTh().append(Resources.C.date()).closeTh()
|
||||
.openTh().append(Resources.C.author()).closeTh()
|
||||
.closeTr();
|
||||
}
|
||||
|
||||
private void revision(SafeHtmlBuilder sb, int index, RevisionInfo r) {
|
||||
CommitInfo c = r.commit();
|
||||
sb.openTr();
|
||||
if (revision.equals(r.name())) {
|
||||
sb.setStyleName(style.current());
|
||||
}
|
||||
|
||||
sb.openTd()
|
||||
.setStyleName(style.legacy_id())
|
||||
.append(r._number())
|
||||
.closeTd();
|
||||
|
||||
sb.openTd()
|
||||
.setStyleName(style.commit())
|
||||
.openAnchor()
|
||||
.setAttribute("href", "#" + url(r))
|
||||
.setAttribute("onclick", OPEN + "(event," + index + ")")
|
||||
.append(r.name().substring(0, 10))
|
||||
.closeAnchor()
|
||||
.closeTd();
|
||||
|
||||
sb.openTd()
|
||||
.append(FormatUtil.shortFormatDayTime(c.committer().date()))
|
||||
.closeTd();
|
||||
|
||||
String an = c.author() != null ? c.author().name() : null;
|
||||
String cn = c.committer() != null ? c.committer().name() : null;
|
||||
sb.openTd();
|
||||
sb.append(an);
|
||||
if (!"".equals(an) && !"".equals(cn) && !an.equals(cn)) {
|
||||
sb.append(" / ").append(cn);
|
||||
}
|
||||
sb.closeTd();
|
||||
|
||||
sb.closeTr();
|
||||
}
|
||||
|
||||
private String url(RevisionInfo r) {
|
||||
return PageLinks.toChange2(
|
||||
changeId,
|
||||
String.valueOf(r._number()));
|
||||
}
|
||||
|
||||
private void closeParent() {
|
||||
for (Widget w = getParent(); w != null; w = w.getParent()) {
|
||||
if (w instanceof PopupPanel) {
|
||||
((PopupPanel) w).hide(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (C) 2013 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<ui:UiBinder
|
||||
xmlns:ui='urn:ui:com.google.gwt.uibinder'
|
||||
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
|
||||
<ui:with field='res' type='com.google.gerrit.client.change.Resources'/>
|
||||
<ui:style type='com.google.gerrit.client.change.RevisionsBox.Style'>
|
||||
@eval selectionColor com.google.gerrit.client.Gerrit.getTheme().selectionColor;
|
||||
|
||||
.revisionBox {
|
||||
min-width: 300px;
|
||||
margin: 10px 0px 5px 5px;
|
||||
}
|
||||
|
||||
.scroll {
|
||||
min-width: 300px;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.table {
|
||||
border-spacing: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.table td, .table th {
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
border-right: 2px solid #ddd;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.table tr.current {
|
||||
background-color: selectionColor;
|
||||
}
|
||||
|
||||
.legacy_id {
|
||||
min-width: 50px;
|
||||
text-align: right;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.commit {
|
||||
font-family: monospace;
|
||||
}
|
||||
</ui:style>
|
||||
<g:HTMLPanel styleName='{style.revisionBox}'>
|
||||
<g:ScrollPanel styleName='{style.scroll}'>
|
||||
<g:FlexTable ui:field='table' styleName='{style.table}'/>
|
||||
</g:ScrollPanel>
|
||||
</g:HTMLPanel>
|
||||
</ui:UiBinder>
|
||||
@@ -14,13 +14,13 @@
|
||||
|
||||
package com.google.gerrit.client.ui;
|
||||
|
||||
import com.google.gerrit.client.ui.FancyFlexTable.MyFlexTable;
|
||||
import com.google.gwt.user.client.Element;
|
||||
import com.google.gwt.user.client.ui.FlexTable;
|
||||
import com.google.gwt.user.client.ui.HTMLTable;
|
||||
import com.google.gwtexpui.safehtml.client.SafeHtml;
|
||||
|
||||
public class FancyFlexTableImpl {
|
||||
public void resetHtml(final MyFlexTable myTable, final SafeHtml body) {
|
||||
public void resetHtml(final FlexTable myTable, final SafeHtml body) {
|
||||
SafeHtml.setInnerHTML(getBodyElement(myTable), body);
|
||||
}
|
||||
|
||||
|
||||
@@ -14,16 +14,16 @@
|
||||
|
||||
package com.google.gerrit.client.ui;
|
||||
|
||||
import com.google.gerrit.client.ui.FancyFlexTable.MyFlexTable;
|
||||
import com.google.gwt.user.client.DOM;
|
||||
import com.google.gwt.user.client.Element;
|
||||
import com.google.gwt.user.client.ui.FlexTable;
|
||||
import com.google.gwt.user.client.ui.HTMLTable;
|
||||
import com.google.gwtexpui.safehtml.client.SafeHtml;
|
||||
import com.google.gwtexpui.safehtml.client.SafeHtmlBuilder;
|
||||
|
||||
public class FancyFlexTableImplIE6 extends FancyFlexTableImpl {
|
||||
@Override
|
||||
public void resetHtml(final MyFlexTable myTable, final SafeHtml bodyHtml) {
|
||||
public void resetHtml(final FlexTable myTable, final SafeHtml bodyHtml) {
|
||||
final Element oldBody = getBodyElement(myTable);
|
||||
final Element newBody = parseBody(bodyHtml);
|
||||
assert newBody != null;
|
||||
|
||||
Reference in New Issue
Block a user