Remove infinite scroll from logs page and fix multiple loading bug
This should make viewing logs significantly less janky
This commit is contained in:
parent
9e2c5417b8
commit
b8d2e1be9c
4 changed files with 15 additions and 8 deletions
|
@ -21,6 +21,7 @@ angular.module('quay').directive('logsView', function () {
|
|||
controller: function($scope, $element, $sce, Restangular, ApiService, TriggerService,
|
||||
StringBuilderService, ExternalNotificationData, UtilService) {
|
||||
$scope.loading = true;
|
||||
$scope.loadCounter = -1;
|
||||
$scope.logs = null;
|
||||
$scope.kindsAllowed = null;
|
||||
$scope.chartVisible = true;
|
||||
|
@ -399,7 +400,7 @@ angular.module('quay').directive('logsView', function () {
|
|||
|
||||
var isValid = isValidEndpoint && hasValidLogStartDate && hasValidLogEndDate;
|
||||
|
||||
if (!$scope.makevisible || !isValid) {
|
||||
if (!$scope.makevisible || !isValid || ($scope.loading && $scope.loadCounter >= 0)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -429,12 +430,19 @@ angular.module('quay').directive('logsView', function () {
|
|||
if ($scope.loading || !$scope.hasAdditional) { return; }
|
||||
|
||||
$scope.loading = true;
|
||||
$scope.loadCounter++;
|
||||
|
||||
var currentCounter = $scope.loadCounter;
|
||||
var url = getUrl('logs');
|
||||
url.setQueryParameter('next_page', $scope.nextPageToken);
|
||||
|
||||
var loadLogs = Restangular.one(url.toString());
|
||||
loadLogs.customGET().then(function(resp) {
|
||||
if ($scope.loadCounter != currentCounter) {
|
||||
// Loaded logs data is out of date.
|
||||
return;
|
||||
}
|
||||
|
||||
resp.logs.forEach(function(log) {
|
||||
$scope.logs.push(log);
|
||||
});
|
||||
|
@ -462,7 +470,6 @@ angular.module('quay').directive('logsView', function () {
|
|||
log.metadata['_ip'] = log.ip ? log.ip : null;
|
||||
|
||||
// Note: This is for back-compat for logs that previously did not have namespaces.
|
||||
// TODO(jschorr): Remove this after a month or two (~April 2017).
|
||||
var namespace = '';
|
||||
if (log.namespace) {
|
||||
namespace = log.namespace.username || log.namespace.name;
|
||||
|
|
|
@ -18,7 +18,6 @@ var quayDependencies: string[] = [
|
|||
'pasvaz.bindonce',
|
||||
'ansiToHtml',
|
||||
'core-ui',
|
||||
'infinite-scroll',
|
||||
'ngTagsInput',
|
||||
];
|
||||
|
||||
|
|
Reference in a new issue