1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-23 15:29:42 +02:00

fix(docker/services): get datas from local storage when auto refresh is enable

This commit is contained in:
alice groux 2021-01-27 16:10:49 +01:00
parent 36fbaa9026
commit 51d584bb50
3 changed files with 25 additions and 12 deletions

View file

@ -24,10 +24,6 @@ angular.module('portainer.docker').controller('ServicesDatatableController', [
} }
}; };
this.onSettingsRepeaterChange = function () {
DatatableService.setDataTableSettings(this.tableKey, this.settings);
};
this.expandItem = function (item, expanded) { this.expandItem = function (item, expanded) {
item.Expanded = expanded; item.Expanded = expanded;
if (item.Expanded) { if (item.Expanded) {
@ -70,6 +66,13 @@ angular.module('portainer.docker').controller('ServicesDatatableController', [
} }
}; };
this.onDataRefresh = function () {
var storedExpandedItems = DatatableService.getDataTableExpandedItems(this.tableKey);
if (storedExpandedItems !== null) {
this.expandItems(storedExpandedItems);
}
};
this.$onInit = function () { this.$onInit = function () {
this.setDefaults(); this.setDefaults();
this.prepareTableFromDataset(); this.prepareTableFromDataset();

View file

@ -13,12 +13,13 @@ angular.module('portainer.docker').controller('ServicesController', [
function getServices() { function getServices() {
var agentProxy = $scope.applicationState.endpoint.mode.agentProxy; var agentProxy = $scope.applicationState.endpoint.mode.agentProxy;
$q.all({ return $q
services: ServiceService.services(), .all({
tasks: TaskService.tasks(), services: ServiceService.services(),
containers: agentProxy ? ContainerService.containers(1) : [], tasks: TaskService.tasks(),
nodes: NodeService.nodes(), containers: agentProxy ? ContainerService.containers(1) : [],
}) nodes: NodeService.nodes(),
})
.then(function success(data) { .then(function success(data) {
var services = data.services; var services = data.services;
var tasks = data.tasks; var tasks = data.tasks;

View file

@ -183,8 +183,9 @@ angular.module('portainer.app').controller('GenericDatatableController', [
}; };
this.startRepeater = function () { this.startRepeater = function () {
this.repeater = $interval(() => { this.repeater = $interval(async () => {
this.refreshCallback(); await this.refreshCallback();
this.onDataRefresh();
}, this.settings.repeater.refreshRate * 1000); }, this.settings.repeater.refreshRate * 1000);
}; };
@ -197,6 +198,14 @@ angular.module('portainer.app').controller('GenericDatatableController', [
} }
DatatableService.setDataTableSettings(this.tableKey, this.settings); DatatableService.setDataTableSettings(this.tableKey, this.settings);
}; };
/**
* Override this method to execute code after calling the refresh callback
*/
this.onDataRefresh = function () {
return;
};
/** /**
* !REPEATER SECTION * !REPEATER SECTION
*/ */