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">