summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Ostrovsky <david@ostrovsky.org>2013-10-12 17:46:04 +0200
committerDavid Ostrovsky <david@ostrovsky.org>2013-10-16 21:40:47 +0200
commit0d14e71b5f2d92d8e5d14a1b3451835d24bb2ebf (patch)
treee431b2061d97d3a8f5576891471f7a3ef9f51901
parent1a2d39fd171824e191f20b3edd6cfdf6601b84ce (diff)
ChangeScreen2: linkify branch and project name
Bug: issue 2075 Change-Id: I6ddef6f1417b53e6a1e2b795ac9b67309d39abb6
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.java33
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.ui.xml13
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/BranchLink.java2
3 files changed, 40 insertions, 8 deletions
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.java
index 2f9a670bd2..17133c975e 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.java
@@ -39,15 +39,18 @@ import com.google.gerrit.client.rpc.NativeString;
import com.google.gerrit.client.rpc.Natives;
import com.google.gerrit.client.rpc.RestApi;
import com.google.gerrit.client.rpc.ScreenLoadCallback;
+import com.google.gerrit.client.ui.BranchLink;
import com.google.gerrit.client.ui.ChangeLink;
import com.google.gerrit.client.ui.CommentLinkProcessor;
+import com.google.gerrit.client.ui.InlineHyperlink;
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.Change.Status;
import com.google.gerrit.reviewdb.client.PatchSet;
import com.google.gerrit.reviewdb.client.Project;
-import com.google.gerrit.reviewdb.client.Change.Status;
import com.google.gerrit.reviewdb.client.Project.SubmitType;
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.JsArray;
@@ -135,8 +138,8 @@ public class ChangeScreen2 extends Screen {
@UiField Element changeIdText;
@UiField Element ownerText;
@UiField Element statusText;
- @UiField Element projectText;
- @UiField Element branchText;
+ @UiField InlineHyperlink projectLink;
+ @UiField InlineHyperlink branchLink;
@UiField Element submitActionText;
@UiField Element notMergeable;
@UiField CopyableLabel idText;
@@ -291,6 +294,26 @@ public class ChangeScreen2 extends Screen {
style, headerLine, download);
}
+ private void initProjectLink(ChangeInfo info) {
+ projectLink.setText(info.project());
+ projectLink.setTargetHistoryToken(
+ PageLinks.toChangeQuery(
+ PageLinks.projectQuery(
+ info.project_name_key(),
+ info.status())));
+ }
+
+ private void initBranchLink(ChangeInfo info) {
+ branchLink.setText(info.branch());
+ branchLink.setTargetHistoryToken(
+ PageLinks.toChangeQuery(
+ BranchLink.query(
+ info.project_name_key(),
+ info.status(),
+ info.branch(),
+ info.topic())));
+ }
+
private void initEditMessageAction(ChangeInfo info, String revision) {
NativeMap<ActionInfo> actions = info.revision(revision).actions();
if (actions != null && actions.containsKey("message")) {
@@ -636,13 +659,13 @@ public class ChangeScreen2 extends Screen {
initIncludedInAction(info);
initRevisionsAction(info, revision);
initDownloadAction(info, revision);
+ initProjectLink(info);
+ initBranchLink(info);
actions.display(info, revision);
star.setValue(info.starred());
permalink.setHref(ChangeLink.permalink(changeId));
changeIdText.setInnerText(String.valueOf(info.legacy_id()));
- projectText.setInnerText(info.project());
- branchText.setInnerText(info.branch());
idText.setText("Change-Id: " + info.change_id());
idText.setPreviewText(info.change_id());
reload.set(info);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.ui.xml b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.ui.xml
index 395328ea7f..fca9e09c4b 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.ui.xml
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.ui.xml
@@ -18,6 +18,7 @@ limitations under the License.
xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:c='urn:import:com.google.gerrit.client.change'
xmlns:g='urn:import:com.google.gwt.user.client.ui'
+ xmlns:x='urn:import:com.google.gerrit.client.ui'
xmlns:clippy='urn:import:com.google.gwtexpui.clippy.client'>
<ui:with field='res' type='com.google.gerrit.client.change.Resources'/>
<ui:style type='com.google.gerrit.client.change.ChangeScreen2.Style'>
@@ -316,11 +317,19 @@ limitations under the License.
</tr>
<tr>
<th><ui:msg>Project</ui:msg></th>
- <td ui:field='projectText'/>
+ <td><x:InlineHyperlink ui:field='projectLink'
+ title='Search for changes on this project'>
+ <ui:attribute name='title'/>
+ </x:InlineHyperlink>
+ </td>
</tr>
<tr>
<th><ui:msg>Branch</ui:msg></th>
- <td ui:field='branchText'/>
+ <td><x:InlineHyperlink ui:field='branchLink'
+ title='Search for changes on this branch'>
+ <ui:attribute name='title'/>
+ </x:InlineHyperlink>
+ </td>
</tr>
<tr>
<th><ui:msg>Strategy</ui:msg></th>
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/BranchLink.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/BranchLink.java
index fddae84d0d..c9a05903a3 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/BranchLink.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/BranchLink.java
@@ -57,7 +57,7 @@ public class BranchLink extends InlineHyperlink {
}
}
- private static String query(Project.NameKey project, Change.Status status,
+ public static String query(Project.NameKey project, Change.Status status,
String branch, String topic) {
String query = PageLinks.projectQuery(project, status);