diff options
Diffstat (limited to 'gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/CustomDashboardScreen.java')
-rw-r--r-- | gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/CustomDashboardScreen.java | 88 |
1 files changed, 17 insertions, 71 deletions
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/CustomDashboardScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/CustomDashboardScreen.java index c9f1dc6199..840ebaa6b2 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/CustomDashboardScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/CustomDashboardScreen.java @@ -14,97 +14,43 @@ package com.google.gerrit.client.changes; -import com.google.gerrit.client.Gerrit; -import com.google.gerrit.client.rpc.NativeList; -import com.google.gerrit.client.rpc.ScreenLoadCallback; import com.google.gerrit.client.ui.Screen; -import com.google.gwt.http.client.URL; - -import java.util.ArrayList; -import java.util.List; public class CustomDashboardScreen extends Screen implements ChangeListScreen { - private String title; - private List<String> titles; - private List<String> queries; - private ChangeTable2 table; - private List<ChangeTable2.Section> sections; + private DashboardTable table; + private String params; public CustomDashboardScreen(String params) { - titles = new ArrayList<String>(); - queries = new ArrayList<String>(); - for (String kvPair : params.split("[,;&]")) { - String[] kv = kvPair.split("=", 2); - if (kv.length != 2 || kv[0].isEmpty()) { - continue; - } - - if ("title".equals(kv[0])) { - title = URL.decodeQueryString(kv[1]); - } else { - titles.add(URL.decodeQueryString(kv[0])); - queries.add(URL.decodeQueryString(kv[1])); - } - } + this.params = params; } @Override protected void onInitUI() { + table = new DashboardTable(params) { + @Override + protected void onLoad() { + super.onLoad(); + } + + @Override + public void finishDisplay() { + super.finishDisplay(); + display(); + } + }; + super.onInitUI(); + String title = table.getTitle(); if (title != null) { setWindowTitle(title); setPageTitle(title); } - table = new ChangeTable2(); - table.addStyleName(Gerrit.RESOURCES.css().accountDashboard()); - - sections = new ArrayList<ChangeTable2.Section>(); - for (String title : titles) { - ChangeTable2.Section s = new ChangeTable2.Section(); - s.setTitleText(title); - table.addSection(s); - sections.add(s); - } add(table); } @Override - protected void onLoad() { - super.onLoad(); - - if (queries.isEmpty()) { - display(); - } else if (queries.size() == 1) { - ChangeList.next(queries.get(0), - 0, PagedSingleListScreen.MAX_SORTKEY, - new ScreenLoadCallback<ChangeList>(this) { - @Override - protected void preDisplay(ChangeList result) { - table.updateColumnsForLabels(result); - sections.get(0).display(result); - table.finishDisplay(); - } - }); - } else { - ChangeList.query( - new ScreenLoadCallback<NativeList<ChangeList>>(this) { - @Override - protected void preDisplay(NativeList<ChangeList> result) { - table.updateColumnsForLabels( - result.asList().toArray(new ChangeList[result.size()])); - for (int i = 0; i < result.size(); i++) { - sections.get(i).display(result.get(i)); - } - table.finishDisplay(); - } - }, - queries.toArray(new String[queries.size()])); - } - } - - @Override public void registerKeys() { super.registerKeys(); table.setRegisterKeys(true); |