1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-30 18:59:41 +02:00

feat(endpoints): add the ability to browse offline endpoints (#2253)

* 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
This commit is contained in:
baron_l 2018-10-28 10:27:06 +01:00 committed by Anthony Lapenna
parent 354fda31f1
commit a61654a35d
59 changed files with 637 additions and 212 deletions

View file

@ -8,25 +8,27 @@
<rd-header-content>Docker</rd-header-content>
</rd-header>
<information-panel-offline ng-if="$ctrl.offlineMode"></information-panel-offline>
<host-details-panel
host="$ctrl.hostDetails"
is-browse-enabled="$ctrl.isAgent && $ctrl.agentApiVersion > 1"
is-browse-enabled="$ctrl.isAgent && $ctrl.agentApiVersion > 1 && !$ctrl.offlineMode"
browse-url="{{$ctrl.browseUrl}}"
is-job-enabled="$ctrl.isJobEnabled"
is-job-enabled="$ctrl.isJobEnabled && !$ctrl.offlineMode"
job-url="{{$ctrl.jobUrl}}"
></host-details-panel>
<engine-details-panel engine="$ctrl.engineDetails"></engine-details-panel>
<jobs-datatable
ng-if="$ctrl.isJobEnabled && $ctrl.jobs"
ng-if="$ctrl.isJobEnabled && $ctrl.jobs && !$ctrl.offlineMode"
title-text="Jobs" title-icon="fa-tasks"
dataset="$ctrl.jobs"
table-key="jobs"
order-by="Created" reverse-order="true"
></jobs-datatable>
<devices-panel ng-if="$ctrl.isAgent && $ctrl.agentApiVersion > 1" devices="$ctrl.devices"></devices-panel>
<disks-panel ng-if="$ctrl.isAgent && $ctrl.agentApiVersion > 1" disks="$ctrl.disks"></disks-panel>
<devices-panel ng-if="$ctrl.isAgent && $ctrl.agentApiVersion > 1 && !$ctrl.offlineMode" devices="$ctrl.devices"></devices-panel>
<disks-panel ng-if="$ctrl.isAgent && $ctrl.agentApiVersion > 1 && !$ctrl.offlineMode" disks="$ctrl.disks"></disks-panel>
<ng-transclude></ng-transclude>

View file

@ -6,6 +6,7 @@ angular.module('portainer.docker').component('hostOverview', {
devices: '<',
disks: '<',
isAgent: '<',
offlineMode: '<',
agentApiVersion: '<',
refreshUrl: '@',
browseUrl: '@',