Merge "Fix related change show more calculation"

This commit is contained in:
Wyatt Allen
2017-06-24 00:24:29 +00:00
committed by Gerrit Code Review
3 changed files with 25 additions and 9 deletions

View File

@@ -227,6 +227,12 @@ limitations under the License.
.collapseToggleContainer {
display: flex;
}
#relatedChangesToggle {
display: none;
}
#relatedChangesToggle.showToggle {
display: flex;
}
.collapseToggleContainer gr-button {
display: block;
}
@@ -425,8 +431,7 @@ limitations under the License.
</gr-related-changes-list>
<div
id="relatedChangesToggle"
class="collapseToggleContainer"
hidden$="[[_computeRelatedChangesToggleHidden(_relatedChangesLoading)]]">
class$="collapseToggleContainer [[_computeRelatedChangesToggleClass(_relatedChangesLoading)]]">
<gr-button
link
id="relatedChangesToggleButton"

View File

@@ -1260,9 +1260,14 @@
this.updateStyles();
},
_computeRelatedChangesToggleHidden() {
return this._getScrollHeight(this.$.relatedChanges) <=
this._getOffsetHeight(this.$.relatedChanges);
_computeRelatedChangesToggleClass() {
// Prevents showMore from showing when click on related change, since the
// line height would be positive, but related changes height is 0.
if (!this._getScrollHeight(this.$.relatedChanges)) { return ''; }
return this._getScrollHeight(this.$.relatedChanges) >
(this._getOffsetHeight(this.$.relatedChanges) +
this._getLineHeight(this.$.relatedChanges)) ? 'showToggle' : '';
},
_startUpdateCheckTimer() {

View File

@@ -1172,23 +1172,29 @@ limitations under the License.
test('relatedChangesToggle shown height greater than changeInfo height',
() => {
assert.isTrue(element.$.relatedChangesToggle.hasAttribute('hidden'));
assert.isFalse(element.$.relatedChangesToggle.classList
.contains('showToggle'));
sandbox.stub(element, '_getOffsetHeight', () => 50);
sandbox.stub(element, '_getScrollHeight', () => 60);
sandbox.stub(element, '_getLineHeight', () => 5);
sandbox.stub(window, 'matchMedia', () => ({matches: true}));
element._relatedChangesLoading = false;
assert.isFalse(element.$.relatedChangesToggle.hasAttribute('hidden'));
assert.isTrue(element.$.relatedChangesToggle.classList
.contains('showToggle'));
assert.equal(updateHeightSpy.callCount, 1);
});
test('relatedChangesToggle hidden height less than changeInfo height',
() => {
assert.isTrue(element.$.relatedChangesToggle.hasAttribute('hidden'));
assert.isFalse(element.$.relatedChangesToggle.classList
.contains('showToggle'));
sandbox.stub(element, '_getOffsetHeight', () => 50);
sandbox.stub(element, '_getScrollHeight', () => 40);
sandbox.stub(element, '_getLineHeight', () => 5);
sandbox.stub(window, 'matchMedia', () => ({matches: true}));
element._relatedChangesLoading = false;
assert.isTrue(element.$.relatedChangesToggle.hasAttribute('hidden'));
assert.isFalse(element.$.relatedChangesToggle.classList
.contains('showToggle'));
assert.equal(updateHeightSpy.callCount, 1);
});