diff --git a/apps/jobbrowser/src/jobbrowser/templates/job_browser.mako b/apps/jobbrowser/src/jobbrowser/templates/job_browser.mako index a3f4c19514..03e44649d8 100644 --- a/apps/jobbrowser/src/jobbrowser/templates/job_browser.mako +++ b/apps/jobbrowser/src/jobbrowser/templates/job_browser.mako @@ -492,7 +492,7 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode } - +
@@ -2452,7 +2452,6 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode }
-
@@ -2474,6 +2473,7 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode } ${_('lastModifiedTime')} + + + + + + + + + @@ -2810,9 +2818,9 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode } self.paginationPage = ko.observable(1); self.paginationOffset = ko.observable(1); // Starting index self.paginationResultPage = ko.observable(50); - self.totalApps = ko.observable(null); + self.totalApps = ko.observable(job.properties && job.properties.total_actions || 0); self.hasPagination = ko.computed(function() { - return ['workflows', 'schedules', 'bundles'].indexOf(vm.interface()) != -1; + return self.totalApps() && ['workflows', 'schedules', 'bundles'].indexOf(vm.interface()) !== -1; }); self.pagination = ko.pureComputed(function() { return { @@ -2822,11 +2830,9 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode } }; }); - self.pagination.subscribe(function(value) { - if (vm.interface() === 'schedules' && value.page > 1) { - vm.interface('schedules'); - self.hasPagination(true); - self.fetchJob(); + self.pagination.subscribe(function() { + if (vm.interface() === 'schedules') { + self.updateJob(false, true); } }); @@ -2967,13 +2973,10 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode } {'types': ko.mapping.toJS(self.typesFilter())}, ]; }); - self.applyingFilters = ko.observable(false); + self.forceUpdatingJob = ko.observable(false); self.filters.subscribe(function () { if (self.type() === 'schedule') { - self.applyingFilters(true); - self.updateJob(false, true).always(function () { - self.applyingFilters(false); - }); + self.updateJob(false, true); } else { self.fetchProfile('tasks'); } @@ -3268,6 +3271,9 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode } var deferred = $.Deferred(); if (vm.job() == self && (self.apiStatus() == 'RUNNING' || forceUpdate)) { vm.apiHelper.cancelActiveRequest(lastUpdateJobRequest); + if (forceUpdate) { + self.forceUpdatingJob(true); + } lastUpdateJobRequest = self._fetchJob(function (data) { var requests = []; if (['schedule', 'workflow'].indexOf(vm.job().type()) >= 0) { @@ -3304,6 +3310,8 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode } $.when.apply(this, requests).done(function (){ deferred.resolve(); }); + }).always(function () { + self.forceUpdatingJob(false); }); } return deferred;