diff --git a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata.html b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata.html
index ca94356c3c..514f3a9471 100644
--- a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata.html
+++ b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata.html
@@ -28,6 +28,7 @@ limitations under the License.
+
@@ -135,6 +136,13 @@ limitations under the License.
.parentList gr-commit-info {
display: inline-block;
}
+ #parentNotCurrentMessage {
+ display: none;
+ }
+ .parentList.notCurrent.nonMerge #parentNotCurrentMessage {
+ --arrow-color: red;
+ display: inline-block;
+ }
@media screen and (max-width: 50em), screen and (min-width: 75em) {
:host {
display: table;
@@ -236,13 +244,18 @@ limitations under the License.
[[_computeParentsLabel(_currentParents)]]
-
+
-
+
diff --git a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata.js b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata.js
index 92763ee360..ddee577cb0 100644
--- a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata.js
+++ b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata.js
@@ -25,6 +25,8 @@
CHERRY_PICK: 'Cherry Pick',
};
+ const NOT_CURRENT_MESSAGE = 'Not current - rebase possible';
+
Polymer({
is: 'gr-change-metadata',
@@ -46,6 +48,12 @@
* @type {{ note_db_enabled: string }}
*/
serverConfig: Object,
+ parentIsCurrent: Boolean,
+ _notCurrentMessage: {
+ type: String,
+ value: NOT_CURRENT_MESSAGE,
+ readOnly: true,
+ },
_topicReadOnly: {
type: Boolean,
computed: '_computeTopicReadOnly(mutable, change)',
@@ -425,8 +433,12 @@
return parents.length > 1 ? 'Parents' : 'Parent';
},
- _computeParentListClass(parents) {
- return parents.length > 1 ? 'parentList merge' : 'parentList';
+ _computeParentListClass(parents, parentIsCurrent) {
+ return [
+ 'parentList',
+ parents.length > 1 ? 'merge' : 'nonMerge',
+ parentIsCurrent ? 'current' : 'notCurrent',
+ ].join(' ');
},
});
})();
diff --git a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html
index f6d020e206..9ee09eac83 100644
--- a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html
+++ b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html
@@ -336,6 +336,18 @@ limitations under the License.
'Parents');
});
+ test('_computeParentListClass', () => {
+ const parent = {commit: 'abc123', subject: 'My parent commit'};
+ assert.equal(element._computeParentListClass([parent], true),
+ 'parentList nonMerge current');
+ assert.equal(element._computeParentListClass([parent], false),
+ 'parentList nonMerge notCurrent');
+ assert.equal(element._computeParentListClass([parent, parent], false),
+ 'parentList merge notCurrent');
+ assert.equal(element._computeParentListClass([parent, parent], true),
+ 'parentList merge current');
+ });
+
test('_showAddTopic', () => {
assert.isTrue(element._showAddTopic(null, false));
assert.isTrue(element._showAddTopic({base: {topic: null}}, false));
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.html b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.html
index 7db2bc45bf..7e661c75f5 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.html
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.html
@@ -370,6 +370,7 @@ limitations under the License.
server-config="[[_serverConfig]]"
missing-labels="[[_missingLabels]]"
mutable="[[_loggedIn]]"
+ parent-is-current="[[!_rebaseOriginallyEnabled]]"
on-show-reply-dialog="_handleShowReplyDialog">
ⓘ