Show "File X of Y" next to file navigation links in diff view
Bug: Issue 4917 Change-Id: Ie993504fe80034da0e3d3ddee99687ba09ebc2ff
This commit is contained in:
@@ -41,6 +41,9 @@ limitations under the License.
|
||||
:host {
|
||||
background-color: var(--view-background-color);
|
||||
}
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
gr-patch-range-select {
|
||||
display: block;
|
||||
}
|
||||
@@ -214,6 +217,10 @@ limitations under the License.
|
||||
</div>
|
||||
</h3>
|
||||
<div class="navLinks desktop">
|
||||
<span class$="fileNum [[_computeFileNumVisible(_fileNum, _formattedFiles)]]">
|
||||
File [[_fileNum]] of [[_formattedFiles.length]]
|
||||
<span class="separator"></span>
|
||||
</span>
|
||||
<a class="navLink"
|
||||
href$="[[_computeNavLinkURL(_change, _path, _fileList, -1, 1)]]">
|
||||
Prev</a>
|
||||
|
@@ -93,6 +93,10 @@
|
||||
type: String,
|
||||
observer: '_pathChanged',
|
||||
},
|
||||
_fileNum: {
|
||||
type: Number,
|
||||
computed: '_computeFileNum(_path, _formattedFiles)',
|
||||
},
|
||||
_loggedIn: {
|
||||
type: Boolean,
|
||||
value: false,
|
||||
@@ -928,5 +932,19 @@
|
||||
_getRevisionInfo(change) {
|
||||
return new Gerrit.RevisionInfo(change);
|
||||
},
|
||||
|
||||
_computeFileNum(file, files) {
|
||||
return files.findIndex(({value}) => value === file) + 1;
|
||||
},
|
||||
|
||||
_computeFileNumVisible(file, files) {
|
||||
if (!files) { return 'hidden'; }
|
||||
const fileNum = this._computeFileNum(file, files);
|
||||
if (!isNaN(fileNum) && isFinite(fileNum) && fileNum > 0) {
|
||||
return '';
|
||||
} else {
|
||||
return 'hidden';
|
||||
}
|
||||
},
|
||||
});
|
||||
})();
|
||||
|
@@ -876,6 +876,19 @@ limitations under the License.
|
||||
assert.isTrue(callCompute({basePatchNum: 1, patchNum: 'edit'}));
|
||||
});
|
||||
|
||||
test('_computeFileNum', () => {
|
||||
assert.equal(element._computeFileNum('/foo',
|
||||
[{value: '/foo'}, {value: '/bar'}]), 1);
|
||||
assert.equal(element._computeFileNum('/bar',
|
||||
[{value: '/foo'}, {value: '/bar'}]), 2);
|
||||
});
|
||||
|
||||
test('_computeFileNumVisible', () => {
|
||||
assert.equal(element._computeFileNumVisible('', []), 'hidden');
|
||||
assert.equal(element._computeFileNumVisible('/bar',
|
||||
[{value: '/foo'}, {value: '/bar'}]), '');
|
||||
});
|
||||
|
||||
suite('editMode behavior', () => {
|
||||
setup(() => {
|
||||
element._loggedIn = true;
|
||||
|
Reference in New Issue
Block a user