Improve error handling in 'gr-change-list-view'
- hide link 'Next' when an error occurs
- hide links 'Next' / 'Prev' initially
(and thus property '_changes' is undefined)
- remove unused code
Change-Id: Ib6f77232481988b81aad8b996bfc9c9432c4d826
diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.html b/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.html
index 1d3968f..1f06dff 100644
--- a/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.html
+++ b/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.html
@@ -49,17 +49,17 @@
}
}
</style>
- <div class="loading" hidden$="[[!_loading]]">Loading...</div>
- <div hidden$="[[_loading]]">
+ <div class="loading" hidden$="[[!_loading]]" hidden>Loading...</div>
+ <div hidden$="[[_loading]]" hidden>
<gr-change-list
changes="{{_changes}}"
selected-index="{{viewState.selectedChangeIndex}}"
show-star="[[loggedIn]]"></gr-change-list>
<nav>
<a href$="[[_computeNavLink(_query, _offset, -1, _changesPerPage)]]"
- hidden$="[[_hidePrevArrow(_offset)]]">← Prev</a>
+ hidden$="[[_hidePrevArrow(_offset)]]" hidden>← Prev</a>
<a href$="[[_computeNavLink(_query, _offset, 1, _changesPerPage)]]"
- hidden$="[[_hideNextArrow(_changes.length, _changesPerPage)]]">
+ hidden$="[[_hideNextArrow(_loading, _changesPerPage)]]" hidden>
Next →</a>
</nav>
</div>
diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.js b/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.js
index 79531ac..7fbe455 100644
--- a/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.js
+++ b/polygerrit-ui/app/elements/change-list/gr-change-list-view/gr-change-list-view.js
@@ -123,20 +123,12 @@
return href;
},
- _computeErrorHidden: function(loading, lastError) {
- return loading || lastError == null;
- },
-
- _computeListHidden: function(loading, lastError) {
- return loading || lastError != null;
- },
-
_hidePrevArrow: function(offset) {
- return offset == 0;
+ return offset === 0;
},
- _hideNextArrow: function(changesLen, changesPerPage) {
- return changesLen < changesPerPage;
+ _hideNextArrow: function(loading, changesPerPage) {
+ return loading || !this._changes || this._changes.length < changesPerPage;
},
});
})();