mirror of
https://github.com/portainer/portainer.git
synced 2025-07-19 13:29:41 +02:00
* feat(back): saved data in snapshot * feat(endpoints): adding interceptors to retrieve saved data on offline endpoints * feat(endpoints): offline dashboard working - need tests on offline views * refactor(endpoints): interceptors cleaning and saving/loading offline endpoints data in/from localstorage * feat(endpoints): browsing offline endpoints * feat(endpoints): removing all the link in offline mode - sidebar not working when switching between off and on modes w/ stateManager logic * feat(endpoints): endpoint status detection in real time * fix(endpoints): offline swarm endpoint are not accessible anymore * fix(endpoints): refactor message + disable offline browsing for an endpoint when no snapshot is available for it * fix(endpoints): adding timeout and enabling loading bar for offline requests * fix(endpoints): trying to access a down endpoint wont remove sidebar items if it fails * feat(endpoints): disable checkboxes on offline views for offline mode * feat(endpoints): updating endpoint status when detecting a change * refactor(host): moved offline status panel from engine view to new host view * fix(endpoints): missing endpoint update on ping from home view * fix(api): rework EndpointUpdate operation * refactor(offline): moved endpoint status to EndpointProvider and refactor the status-changed detection * fix(offline): moved status detection to callback on views -> prevent displaying the offline message when endpoint is back online on view change * fix(offline): offline message is now displayed online when browsing an offline endpoint * fix(offline): sidebar updates correctly on endpoint status change * fix(offline): offline panel not displayed and hidden on online mode * refactor(offline): rework of OfflineMode management * refactor(offline): extract information-panel for offlineMode into a component * refactor(offline): remove redundant binding of informationPanel + endpointStatusInterceptor patter as service * refactor(interceptors): moved interceptors pattern to service pattern * feat(stacks): prevent inspection of a stack in offline mode * feat(host): hide devices/disk panels in offline mode * feat(host): disable browse action in offline mode * refactor(home): remove comments
53 lines
1.4 KiB
JavaScript
53 lines
1.4 KiB
JavaScript
angular.module('portainer.docker')
|
|
.factory('SystemService', ['$q', 'System', 'SystemEndpoint', function SystemServiceFactory($q, System, SystemEndpoint) {
|
|
'use strict';
|
|
var service = {};
|
|
|
|
service.plugins = function() {
|
|
var deferred = $q.defer();
|
|
System.info({}).$promise
|
|
.then(function success(data) {
|
|
var plugins = data.Plugins;
|
|
deferred.resolve(plugins);
|
|
})
|
|
.catch(function error(err) {
|
|
deferred.reject({msg: 'Unable to retrieve plugins information from system', err: err});
|
|
});
|
|
return deferred.promise;
|
|
};
|
|
|
|
service.info = function() {
|
|
return System.info({}).$promise;
|
|
};
|
|
|
|
service.ping = function(endpointId) {
|
|
return SystemEndpoint.ping({endpointId: endpointId}).$promise;
|
|
};
|
|
|
|
service.version = function() {
|
|
return System.version({}).$promise;
|
|
};
|
|
|
|
service.events = function(from, to) {
|
|
var deferred = $q.defer();
|
|
|
|
System.events({since: from, until: to}).$promise
|
|
.then(function success(data) {
|
|
var events = data.map(function (item) {
|
|
return new EventViewModel(item);
|
|
});
|
|
deferred.resolve(events);
|
|
})
|
|
.catch(function error(err) {
|
|
deferred.reject({ msg: 'Unable to retrieve engine events', err: err });
|
|
});
|
|
|
|
return deferred.promise;
|
|
};
|
|
|
|
service.dataUsage = function () {
|
|
return System.dataUsage().$promise;
|
|
};
|
|
|
|
return service;
|
|
}]);
|