Show the latest commit message always in the overview

+ Part two of a series of changes to simplify confusion around
  top-level patch sets changing the entire view.
+ Since you can easily view a patch set’s commit message via
  its diff + selected patch set in the file list, this removes
  a redundant feature and helps it fit with the new IA of the page.

Change-Id: I740a6de355b50db4383009e9451d6549748c694e
This commit is contained in:
Andrew Bonventre
2016-08-23 14:47:39 -04:00
parent 04cc51d446
commit d0df174950
3 changed files with 23 additions and 33 deletions

View File

@@ -234,9 +234,9 @@ limitations under the License.
<div class="commitMessage">
<gr-editable-content id="commitMessageEditor"
editing="[[_editingCommitMessage]]"
content="{{_commitInfo.message}}">
content="{{_latestCommitMessage}}">
<gr-linked-text pre
content="[[_commitInfo.message]]"
content="[[_latestCommitMessage]]"
config="[[_projectConfig.commentlinks]]"></gr-linked-text>
</gr-editable-content>
<gr-button link

View File

@@ -66,7 +66,11 @@
_hideEditCommitMessage: {
type: Boolean,
computed: '_computeHideEditCommitMessage(_loggedIn, ' +
'_editingCommitMessage, _change.*, _patchRange.patchNum)',
'_editingCommitMessage)',
},
_latestCommitMessage: {
type: String,
value: '',
},
_patchRange: Object,
_allPatchSets: {
@@ -123,7 +127,7 @@
this.$.commitMessageEditor.disabled = false;
if (!resp.ok) { return; }
this.set('_commitInfo.message', message);
this._latestCommitMessage = message;
this._editingCommitMessage = false;
this._reloadWindow();
}.bind(this)).catch(function(err) {
@@ -148,18 +152,8 @@
}.bind(this));
},
_computeHideEditCommitMessage: function(loggedIn, editing, changeRecord,
patchNum) {
if (!changeRecord || !loggedIn || editing) { return true; }
patchNum = parseInt(patchNum, 10);
if (isNaN(patchNum)) { return true; }
var change = changeRecord.base;
if (!change.current_revision) { return true; }
if (change.revisions[change.current_revision]._number !== patchNum) {
return true;
}
_computeHideEditCommitMessage: function(loggedIn, editing) {
if (!loggedIn || editing) { return true; }
return false;
},
@@ -551,6 +545,14 @@
}.bind(this));
},
_getLatestCommitMessage: function() {
return this.$.restAPI.getChangeCommitInfo(this._changeNum,
this._computeLatestPatchNum(this._allPatchSets)).then(
function(commitInfo) {
this._latestCommitMessage = commitInfo.message;
}.bind(this));
},
_getCommitInfo: function() {
return this.$.restAPI.getChangeCommitInfo(
this._changeNum, this._patchRange.patchNum).then(
@@ -593,6 +595,7 @@
if (!this._change) { return Promise.resolve(); }
return Promise.all([
this._getLatestCommitMessage(),
this.$.relatedChanges.reload(),
this._getProjectConfig(),
]);

View File

@@ -332,23 +332,10 @@ limitations under the License.
});
test('show commit message edit button', function() {
var changeRecord = {
base: {
revisions: {
rev1: {_number: 1},
rev2: {_number: 2},
},
current_revision: 'rev2',
},
};
assert.isTrue(element._computeHideEditCommitMessage(
false, false, changeRecord, '2'));
assert.isTrue(element._computeHideEditCommitMessage(
true, true, changeRecord, '2'));
assert.isTrue(element._computeHideEditCommitMessage(
true, false, changeRecord, '1'));
assert.isFalse(element._computeHideEditCommitMessage(
true, false, changeRecord, '2'));
assert.isTrue(element._computeHideEditCommitMessage(false, false));
assert.isTrue(element._computeHideEditCommitMessage(true, true));
assert.isTrue(element._computeHideEditCommitMessage(false, true));
assert.isFalse(element._computeHideEditCommitMessage(true, false));
});
test('topic is coalesced to null', function(done) {