feat(app): global loading screen

feat2456-ux-high-latency
baron_l 2018-11-12 17:55:47 +01:00
parent 6b05a35881
commit 168f3862d8
87 changed files with 226 additions and 80 deletions

View File

@ -7,6 +7,7 @@
<rd-header-content>Container instances</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<containergroups-datatable
@ -17,3 +18,4 @@
></containergroups-datatable>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="azure.containerinstances">Container instances</a> &gt; Add container
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -158,3 +158,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -3,6 +3,7 @@
<rd-header-content>Dashboard</rd-header-content>
</rd-header>
<rd-body>
<div class="row" ng-if="subscriptions">
<div class="col-sm-12 col-md-6">
<a ui-sref="azure.subscriptions">
@ -31,3 +32,4 @@
</a>
</div>
</div>
</rd-body>

View File

@ -7,7 +7,7 @@
</rd-header-title>
<rd-header-content>Docker</rd-header-content>
</rd-header>
<rd-body>
<information-panel-offline ng-if="$ctrl.offlineMode"></information-panel-offline>
<host-details-panel
@ -32,3 +32,4 @@
<disks-panel ng-if="$ctrl.isAgent && $ctrl.agentApiVersion > 1 && !$ctrl.offlineMode && $ctrl.hostFeaturesEnabled" disks="$ctrl.disks"></disks-panel>
<ng-transclude></ng-transclude>
</rd-body>

View File

@ -6,7 +6,7 @@
</rd-header-title>
<rd-header-content>Configs</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<configs-datatable
@ -18,3 +18,4 @@
></configs-datatable>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="docker.configs">Configs</a> &gt; Add config
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -77,3 +77,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -8,7 +8,7 @@
<a ui-sref="docker.configs">Configs</a> &gt; <a ui-sref="docker.configs.config({id: config.Id})">{{ config.Name }}</a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -84,3 +84,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="docker.containers">Containers</a> &gt; <a ui-sref="docker.containers.container({id: container.Id})">{{ container.Name|trimcontainername }}</a> &gt; Console
</rd-header-content>
</rd-header>
<rd-body>
<div class="row" ng-if="state.loaded">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -73,3 +73,4 @@
<div id="terminal-container" class="terminal-container"></div>
</div>
</div>
</rd-body>

View File

@ -6,6 +6,7 @@
</rd-header-title>
<rd-header-content>Containers</rd-header-content>
</rd-header>
<rd-body>
<information-panel-offline ng-if="offlineMode"></information-panel-offline>
<div class="row">
<div class="col-sm-12" ng-if="containers">
@ -20,3 +21,4 @@
></containers-datatable>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="docker.containers">Containers</a> &gt; Add container
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -661,3 +661,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -5,7 +5,7 @@
<a ui-sref="docker.containers">Containers</a> &gt; <a ui-sref="docker.containers.container({id: container.Id})">{{ container.Name|trimcontainername }}</a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -279,3 +279,4 @@
></container-networks-datatable>
</div>
</div>
</rd-body>

View File

@ -5,7 +5,7 @@
<a ui-sref="docker.containers">Containers</a> &gt; <a ui-sref="docker.containers.container({id: containerInfo.Id})">{{ containerInfo.Name|trimcontainername }}</a> &gt; Inspect
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -22,3 +22,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,8 @@
<a ui-sref="docker.containers">Containers</a> &gt; <a ui-sref="docker.containers.container({id: container.Id})">{{ container.Name|trimcontainername }}</a> &gt; Logs
</rd-header-content>
</rd-header>
<rd-body>
<log-viewer
data="logs" ng-if="logs" log-collection-change="changeLogCollection" display-timestamps="state.displayTimestamps" line-count="state.lineCount" since-timestamp="state.sinceTimestamp"
></log-viewer>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="docker.containers">Containers</a> &gt; <a ui-sref="docker.containers.container({id: container.Id})">{{ container.Name|trimcontainername }}</a> &gt; Stats
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-md-12">
<rd-widget>
@ -91,3 +91,4 @@
></container-processes-datatable>
</div>
</div>
</rd-body>

View File

@ -3,6 +3,7 @@
<rd-header-content>Endpoint summary</rd-header-content>
</rd-header>
<rd-body>
<div class="row" ng-if="applicationState.endpoint.mode.agentProxy && applicationState.endpoint.mode.provider === 'DOCKER_SWARM_MODE'">
<div class="col-sm-12">
<dashboard-cluster-agent-info></dashboard-cluster-agent-info>
@ -162,3 +163,4 @@
</a>
</div>
</div>
</rd-body>

View File

@ -6,7 +6,7 @@
</rd-header-title>
<rd-header-content>Events</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<events-datatable
@ -17,3 +17,4 @@
></events-datatable>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
Host &gt; <a ui-sref="docker.host">{{ $ctrl.host.Name }}</a> &gt; browse
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<host-browser
@ -12,3 +12,4 @@
></host-browser>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
Host &gt; <a ui-sref="docker.host">{{ $ctrl.host.Name }}</a> &gt; execute job
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -14,3 +14,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="docker.images">Images</a> &gt; Build image
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -239,3 +239,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="docker.images">Images</a> &gt; <a ui-sref="docker.images.image({id: image.Id})">{{ image.Id }}</a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row" ng-if="image.RepoTags.length > 0">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -246,3 +246,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -6,7 +6,7 @@
</rd-header-title>
<rd-header-content>Images</rd-header-content>
</rd-header>
<rd-body>
<div class="row" ng-if="!offlineMode">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -67,3 +67,4 @@
></images-datatable>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="docker.images">Images</a> &gt; Import image
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -57,4 +57,5 @@
</rd-widget-body>
</rd-widget>
</div>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="docker.networks">Networks</a> &gt; Add network
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -182,4 +182,5 @@
</rd-widget-body>
</rd-widget>
</div>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="docker.networks">Networks</a> &gt; <a ui-sref="docker.networks.network({id: network.Id})">{{ network.Name }}</a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -111,3 +111,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -6,6 +6,7 @@
</rd-header-title>
<rd-header-content>Networks</rd-header-content>
</rd-header>
<rd-body>
<information-panel-offline ng-if="offlineMode"></information-panel-offline>
<div class="row">
<div class="col-sm-12">
@ -20,3 +21,4 @@
></networks-datatable>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="docker.swarm">Swarm</a> &gt; <a ui-sref="docker.nodes.node({ id: $ctrl.nodeId })">{{ $ctrl.node.Hostname }}</a> &gt; browse
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<host-browser
@ -12,3 +12,4 @@
></host-browser>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="docker.swarm">Swarm</a> &gt; <a ui-sref="docker.nodes.node({ id: $ctrl.nodeId })">{{ $ctrl.node.Hostname }}</a> &gt; execute job
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -16,3 +16,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="docker.secrets">Secrets</a> &gt; Add secret
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -88,3 +88,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -8,7 +8,7 @@
<a ui-sref="docker.secrets">Secrets</a> &gt; <a ui-sref="docker.secrets.secret({id: secret.Id})">{{ secret.Name }}</a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -61,3 +61,4 @@
resource-type="'secret'">
</por-access-control-panel>
<!-- !access-control-panel -->
</rd-body>

View File

@ -6,7 +6,7 @@
</rd-header-title>
<rd-header-content>Secrets</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<secrets-datatable
@ -18,3 +18,4 @@
></secrets-datatable>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="docker.services">Services</a> &gt; Add service
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -486,3 +486,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -8,7 +8,7 @@
<a ui-sref="docker.services">Services</a> &gt; <a ui-sref="docker.services.service({id: service.Id})">{{ service.Name }}</a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div ng-if="isUpdating" class="col-lg-12 col-md-12 col-xs-12">
<div class="alert alert-info" role="alert" id="service-update-alert">
@ -196,3 +196,4 @@
<div id="service-tasks" class="padding-top" ng-include="'app/docker/views/services/edit/includes/tasks.html'"></div>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,8 @@
<a ui-sref="docker.services">Services</a> > <a ui-sref="docker.services.service({id: service.Id})">{{ service.Name }}</a> &gt; Logs
</rd-header-content>
</rd-header>
<rd-body>
<log-viewer
data="logs" ng-if="logs" log-collection-change="changeLogCollection" display-timestamps="state.displayTimestamps" line-count="state.lineCount" since-timestamp="state.sinceTimestamp"
></log-viewer>
</rd-body>

View File

@ -6,7 +6,7 @@
</rd-header-title>
<rd-header-content>Services</rd-header-content>
</rd-header>
<rd-body>
<div class="row" ng-if="services">
<div class="col-sm-12">
<services-datatable
@ -23,3 +23,4 @@
></services-datatable>
</div>
</div>
</rd-body>

View File

@ -6,7 +6,7 @@
</rd-header-title>
<rd-header-content>Swarm</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -55,3 +55,4 @@
></nodes-datatable>
</div>
</div>
</rd-body>

View File

@ -8,7 +8,7 @@
<a ui-sref="docker.swarm">Swarm</a> &gt; <a ui-sref="docker.swarm.visualizer">Cluster visualizer</a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -112,3 +112,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="docker.services">Services</a> &gt; <a ui-sref="docker.services.service({id: service.Id })">{{ service.Name }}</a> &gt; {{ task.Id }}
</rd-header-content>
</rd-header>
<rd-body>
<div class="row" ng-if="task && service">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -53,3 +53,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,8 @@
<a ui-sref="docker.services">Services</a> &gt; <a ui-sref="docker.services.service({id: service.Id })">{{ service.Name }}</a> &gt; <a ui-sref="docker.tasks.task({id: task.Id })">{{ task.Id }}</a> &gt; Logs
</rd-header-content>
</rd-header>
<rd-body>
<log-viewer
data="logs" ng-if="logs" log-collection-change="changeLogCollection" display-timestamps="state.displayTimestamps" line-count="state.lineCount" since-timestamp="state.sinceTimestamp"
></log-viewer>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="docker.volumes">Volumes</a> &gt; <a ui-sref="docker.volumes.volume({ id: volumeId })">{{ volumeId }}</a> &gt; browse
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<volume-browser
@ -15,3 +15,4 @@
></volume-browser>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="docker.volumes">Volumes</a> &gt; Add volume
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -105,3 +105,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="docker.volumes">Volumes</a> &gt; <a ui-sref="docker.volumes.volume({id: volume.Id})">{{ volume.Id }}</a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row" ng-if="volume">
<div class="col-sm-12">
<rd-widget>
@ -94,3 +94,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -6,6 +6,7 @@
</rd-header-title>
<rd-header-content>Volumes</rd-header-content>
</rd-header>
<rd-body>
<information-panel-offline ng-if="offlineMode"></information-panel-offline>
<div class="row">
<div class="col-sm-12">
@ -21,3 +22,4 @@
></volumes-datatable>
</div>
</div>
</rd-body>

View File

@ -5,6 +5,7 @@
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -159,3 +160,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -10,7 +10,7 @@
<a ui-sref="portainer.registries.registry.repository()">{{ repository.Name }} </a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-8">
<rd-widget>
@ -85,4 +85,5 @@
<registries-repository-tags-datatable title-text="Tags" title-icon="fa-tags" dataset="tags" table-key="registryRepositoryTags"
order-by="Name" remove-action="removeTags" retag-action="retagAction"></registries-repository-tags-datatable>
</div>
</div>
</div>
</rd-body>

View File

@ -8,7 +8,7 @@
<a ui-sref="portainer.registries">Registries</a> &gt; <a ui-sref="portainer.registries.registry({id: registry.Id})">{{ registry.Name }}</a> &gt; Repositories
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<information-panel ng-if="state.displayInvalidConfigurationMessage" title-text="Registry management configuration required">
<span class="small text-muted">
@ -35,3 +35,4 @@
</registry-repositories-datatable>
</div>
</div>
</rd-body>

View File

@ -8,7 +8,7 @@
<a ui-sref="storidge.cluster">Storidge</a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -143,3 +143,4 @@
</rd-widget>
</div>
</div> -->
</rd-body>

View File

@ -8,7 +8,7 @@
<a ui-sref="storidge.cluster">Storidge</a> &gt; <a ui-sref="storidge.monitor">Cluster monitoring</a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-md-4 col-sm-12">
<rd-widget>
@ -199,3 +199,4 @@
</rd-widget>
</div>
</div> -->
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="storidge.cluster">Storidge</a> &gt; <a ui-sref="storidge.profiles">Profiles</a> &gt; Add profile
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-md-12">
<rd-widget>
@ -198,3 +198,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="storidge.cluster">Storidge</a> &gt; <a ui-sref="storidge.profiles">Profiles</a> &gt; {{ profile.Name }}
</rd-header-content>
</rd-header>
<rd-body>
<div class="row" ng-if="profile">
<div class="col-md-12">
<rd-widget>
@ -196,3 +196,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -8,7 +8,7 @@
<a ui-sref="storidge.cluster">Storidge</a> &gt; <a ui-sref="storidge.profiles">Profiles</a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-md-12">
<rd-widget>
@ -121,3 +121,4 @@
</rd-widget>
</div>
</div> -->
</rd-body>

View File

@ -0,0 +1,32 @@
angular.module('portainer.app')
.directive('rdBody', ['$rootScope', '$timeout', function rdBody($rootScope, $timeout) {
var directive = {
scope: {
'ngModel': '='
},
transclude: true,
templateUrl: 'app/portainer/components/rd-body/body.template.html',
restrict: 'EA',
link: function(scope) {
var removeLoadingScreen = function() {
scope.viewLoading = false;
scope.viewLoadingTimeoutPromise = null;
};
scope.viewLoading = true;
scope.viewLoadingTimeoutPromise = $timeout(removeLoadingScreen, 1000);
$rootScope.$on('cfpLoadingBar:started', function() {
if (scope.viewLoadingTimeoutPromise) {
$timeout.cancel(scope.viewLoadingTimeoutPromise);
scope.viewLoadingTimeoutPromise = null;
}
scope.viewLoading = true;
});
$rootScope.$on('cfpLoadingBar:completed', function() {
scope.viewLoadingTimeoutPromise = $timeout(removeLoadingScreen, 1000);
});
}
};
return directive;
}]);

View File

@ -0,0 +1,22 @@
<div class="page-wrapper" ng-show="viewLoading">
<!-- loading box -->
<div class="container simple-box">
<div class="col-md-6 col-md-offset-3 col-sm-6 col-sm-offset-3">
<!-- loading box logo -->
<div class="row">
<img ng-if="logo" ng-src="{{ logo }}" class="simple-box-logo">
<img ng-if="!logo" src="images/logo_alt.png" class="simple-box-logo" alt="Portainer">
</div>
<!-- !loading box logo -->
<!-- panel -->
<div class="row" style="text-align: center">
Loading data...
<i class="fa fa-spinner fa-spin" style="margin-left: 5px"></i>
</div>
<!-- !panel -->
</div>
</div>
<!-- !loading box -->
</div>
<div ng-transclude ng-show="!viewLoading"></div>

View File

@ -5,7 +5,6 @@
About Portainer
</rd-header-content>
</rd-header>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -89,4 +88,4 @@
</rd-widget-body>
</rd-widget>
</div>
</div>
</div>

View File

@ -2,7 +2,7 @@
<rd-header-title title-text="User settings"></rd-header-title>
<rd-header-content>User settings</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -63,3 +63,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="portainer.endpoints">Endpoints</a> &gt; <a ui-sref="portainer.endpoints.endpoint({id: endpoint.Id})">{{ endpoint.Name }}</a> &gt; Access management
</rd-header-content>
</rd-header>
<rd-body>
<div class="row" ng-if="endpoint">
<div class="col-sm-12">
<rd-widget>
@ -44,3 +44,4 @@
></por-access-management>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="portainer.endpoints">Endpoints</a> &gt; Add endpoint
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -250,3 +250,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="portainer.endpoints">Endpoints</a> &gt; <a ui-sref="portainer.endpoints.endpoint({id: endpoint.Id})">{{ endpoint.Name }}</a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -91,3 +91,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -6,7 +6,7 @@
</rd-header-title>
<rd-header-content>Endpoint management</rd-header-content>
</rd-header>
<rd-body>
<div class="row" ng-if="!applicationState.application.endpointManagement">
<div class="col-sm-12">
<rd-widget>
@ -34,3 +34,4 @@
></endpoints-datatable>
</div>
</div>
</rd-body>

View File

@ -2,7 +2,7 @@
<rd-header-title title-text="Extensions"></rd-header-title>
<rd-header-content>Portainer extensions</rd-header-content>
</rd-header>
<rd-body>
<information-panel title-text="Information">
<span class="text-muted" style="font-size: 90%;">
<p>
@ -123,3 +123,4 @@
</p>
</span>
</information-panel>
</rd-body>

View File

@ -5,6 +5,7 @@
</rd-header-content>
</rd-header>
<rd-body>
<div class="row" ng-if="extension">
<div class="col-sm-12">
<rd-widget>
@ -132,3 +133,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="portainer.groups">Groups</a> &gt; <a ui-sref="portainer.groups.group({id: group.Id})">{{ group.Name }}</a> &gt; Access management
</rd-header-content>
</rd-header>
<rd-body>
<div class="row" ng-if="group">
<div class="col-sm-12">
<rd-widget>
@ -32,3 +32,4 @@
></por-access-management>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="portainer.groups">Endpoint groups</a> &gt; Add group
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -24,3 +24,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="portainer.groups">Groups</a> &gt; {{ ::group.Name }}
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -24,3 +24,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -6,7 +6,7 @@
</rd-header-title>
<rd-header-content>Endpoint group management</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<groups-datatable
@ -18,3 +18,4 @@
></groups-datatable>
</div>
</div>
</rd-body>

View File

@ -6,7 +6,7 @@
</rd-header-title>
<rd-header-content>Endpoints</rd-header-content>
</rd-header>
<rd-body>
<information-panel
ng-if="motd && motd.Message !== '' && applicationState.UI.dismissedInfoHash !== motd.Hash"
title-text="Important message"
@ -40,3 +40,4 @@
></endpoint-list>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="portainer.registries">Registries</a> &gt; <a ui-sref="portainer.registries.registry({id: registry.Id})">{{ registry.Name }}</a> &gt; Access management
</rd-header-content>
</rd-header>
<rd-body>
<div class="row" ng-if="registry">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -41,3 +41,4 @@
<por-access-management ng-if="registry" access-controlled-entity="registry" update-access="updateAccess(userAccesses, teamAccesses)">
</por-access-management>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="portainer.registries">Registries</a> &gt; Add registry
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -77,3 +77,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="portainer.registries">Registries</a> &gt; <a ui-sref="portainer.registries.registry({id: registry.Id})">{{ registry.Name }}</a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -76,3 +76,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -6,7 +6,7 @@
</rd-header-title>
<rd-header-content>Registry management</rd-header-content>
</rd-header>
<rd-body>
<div class="row" ng-if="dockerhub">
<div class="col-sm-12">
<rd-widget>
@ -80,3 +80,4 @@
></registries-datatable>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="portainer.schedules">Schedules</a> &gt; Add schedule
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -21,3 +21,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -8,7 +8,7 @@
<a ui-sref="portainer.schedules">Schedules</a> &gt; {{ ::schedule.Name }}</a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -64,3 +64,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -6,7 +6,7 @@
</rd-header-title>
<rd-header-content>Schedules</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<schedules-datatable
@ -17,3 +17,4 @@
></schedules-datatable>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="portainer.settings">Settings</a> &gt; Authentication
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -322,3 +322,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -2,7 +2,7 @@
<rd-header-title title-text="Settings"></rd-header-title>
<rd-header-content>Settings</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -185,3 +185,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="portainer.stacks">Stacks</a> &gt; Add stack
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -226,3 +226,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -8,7 +8,7 @@
<a ui-sref="portainer.stacks">Stacks</a> &gt; {{ stackName }}</a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -188,3 +188,4 @@
resource-type="'stack'">
</por-access-control-panel>
<!-- !access-control-panel -->
</rd-body>

View File

@ -6,6 +6,7 @@
</rd-header-title>
<rd-header-content>Stacks</rd-header-content>
</rd-header>
<rd-body>
<information-panel-offline ng-if="offlineMode"></information-panel-offline>
<div class="row">
<div class="col-sm-12">
@ -19,3 +20,4 @@
></stacks-datatable>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="portainer.support">Portainer support</a> &gt; {{ product.Name }}
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -82,3 +82,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -5,7 +5,7 @@
Commercial support options
</rd-header-content>
</rd-header>
<rd-body>
<information-panel title-text="Information">
<span class="small text-muted">
<p>
@ -32,3 +32,4 @@
></product-list>
</div>
</div>
</rd-body>

View File

@ -6,7 +6,7 @@
</rd-header-title>
<rd-header-content>Tag management</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -57,3 +57,4 @@
></tags-datatable>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="portainer.teams">Teams</a> &gt; <a ui-sref="portainer.teams.team({id: team.Id})">{{ team.Name }}</a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -172,3 +172,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -6,7 +6,7 @@
</rd-header-title>
<rd-header-content>Teams management</rd-header-content>
</rd-header>
<rd-body>
<div class="row" ng-if="isAdmin">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -76,3 +76,4 @@
></teams-datatable>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="portainer.templates">Templates</a> &gt; Add template
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -22,3 +22,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -8,7 +8,7 @@
<a ui-sref="portainer.templates">Templates</a> &gt; {{ ::template.Title }}</a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-sm-12">
<rd-widget>
@ -26,3 +26,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -6,7 +6,7 @@
</rd-header-title>
<rd-header-content>Templates</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<!-- stack-form -->
<div class="col-sm-12" ng-if="state.selectedTemplate && (state.selectedTemplate.Type === 2 || state.selectedTemplate.Type === 3)">
@ -360,3 +360,4 @@
></template-list>
</div>
</div>
</rd-body>

View File

@ -4,7 +4,7 @@
<a ui-sref="portainer.users">Users</a> &gt; <a ui-sref="portainer.users.user({id: user.Id})">{{ user.Username }}</a>
</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -76,3 +76,4 @@
</rd-widget>
</div>
</div>
</rd-body>

View File

@ -6,7 +6,7 @@
</rd-header-title>
<rd-header-content>User management</rd-header-content>
</rd-header>
<rd-body>
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12">
<rd-widget>
@ -123,3 +123,4 @@
></users-datatable>
</div>
</div>
</rd-body>