Expose RevisionInfo to panel extension points
Currently there is no way for panel extension points to retrieve the revision information. This is needed to call the plugin specific RevisionResource endpoints. To pass the revision info, the extensions call invocation is postponed to the point where RevisionInfo of current revision is set. Change-Id: I01196b34273abedbe39818bcdbbcbf4629446f7f
This commit is contained in:
@@ -34,6 +34,6 @@ public enum GerritUiExtensionPoint {
|
||||
PROJECT_INFO_SCREEN_TOP, PROJECT_INFO_SCREEN_BOTTOM;
|
||||
|
||||
public enum Key {
|
||||
ACCOUNT_INFO, CHANGE_INFO, PROJECT_NAME
|
||||
ACCOUNT_INFO, CHANGE_INFO, PROJECT_NAME, REVISION_INFO
|
||||
}
|
||||
}
|
||||
|
||||
@@ -278,28 +278,28 @@ public class ChangeScreen extends Screen {
|
||||
@Override
|
||||
public void onSuccess(ChangeInfo info) {
|
||||
info.init();
|
||||
addExtensionPoints(info);
|
||||
loadConfigInfo(info, base);
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
private void addExtensionPoints(ChangeInfo change) {
|
||||
private void addExtensionPoints(ChangeInfo change, RevisionInfo rev) {
|
||||
addExtensionPoint(GerritUiExtensionPoint.CHANGE_SCREEN_HEADER,
|
||||
headerExtension, change);
|
||||
headerExtension, change, rev);
|
||||
addExtensionPoint(GerritUiExtensionPoint.CHANGE_SCREEN_HEADER_RIGHT_OF_BUTTONS,
|
||||
headerExtensionMiddle, change);
|
||||
headerExtensionMiddle, change, rev);
|
||||
addExtensionPoint(GerritUiExtensionPoint.CHANGE_SCREEN_HEADER_RIGHT_OF_POP_DOWNS,
|
||||
headerExtensionRight, change);
|
||||
headerExtensionRight, change, rev);
|
||||
addExtensionPoint(
|
||||
GerritUiExtensionPoint.CHANGE_SCREEN_BELOW_CHANGE_INFO_BLOCK,
|
||||
changeExtension, change);
|
||||
changeExtension, change, rev);
|
||||
}
|
||||
|
||||
private void addExtensionPoint(GerritUiExtensionPoint extensionPoint,
|
||||
Panel p, ChangeInfo change) {
|
||||
Panel p, ChangeInfo change, RevisionInfo rev) {
|
||||
ExtensionPanel extensionPanel = new ExtensionPanel(extensionPoint);
|
||||
extensionPanel.putObject(GerritUiExtensionPoint.Key.CHANGE_INFO, change);
|
||||
extensionPanel.putObject(GerritUiExtensionPoint.Key.REVISION_INFO, rev);
|
||||
p.add(extensionPanel);
|
||||
}
|
||||
|
||||
@@ -895,6 +895,7 @@ public class ChangeScreen extends Screen {
|
||||
}
|
||||
}
|
||||
final RevisionInfo rev = resolveRevisionToDisplay(info);
|
||||
addExtensionPoints(info, rev);
|
||||
final RevisionInfo b = resolveRevisionOrPatchSetId(info, base, null);
|
||||
|
||||
CallbackGroup group = new CallbackGroup();
|
||||
|
||||
Reference in New Issue
Block a user