mirror of https://github.com/portainer/portainer
commit
2ec247827d
|
@ -4,7 +4,6 @@ angular.module('uifordocker', [
|
||||||
'ui.router',
|
'ui.router',
|
||||||
'ui.select',
|
'ui.select',
|
||||||
'ngCookies',
|
'ngCookies',
|
||||||
'ngRoute',
|
|
||||||
'ngSanitize',
|
'ngSanitize',
|
||||||
'dockerui.services',
|
'dockerui.services',
|
||||||
'dockerui.filters',
|
'dockerui.filters',
|
||||||
|
@ -114,4 +113,4 @@ angular.module('uifordocker', [
|
||||||
// You need to set this to the api endpoint without the port i.e. http://192.168.1.9
|
// You need to set this to the api endpoint without the port i.e. http://192.168.1.9
|
||||||
.constant('DOCKER_ENDPOINT', 'dockerapi')
|
.constant('DOCKER_ENDPOINT', 'dockerapi')
|
||||||
.constant('DOCKER_PORT', '') // Docker port, leave as an empty string if no port is requred. If you have a port, prefix it with a ':' i.e. :4243
|
.constant('DOCKER_PORT', '') // Docker port, leave as an empty string if no port is requred. If you have a port, prefix it with a ':' i.e. :4243
|
||||||
.constant('UI_VERSION', 'v1.0.1');
|
.constant('UI_VERSION', 'v1.0.2');
|
||||||
|
|
|
@ -61,8 +61,8 @@
|
||||||
<button class="btn btn-danger" ng-click="remove()" ng-disabled="container.State.Running">Remove</button>
|
<button class="btn btn-danger" ng-click="remove()" ng-disabled="container.State.Running">Remove</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn-group" role="group" aria-label="...">
|
<div class="btn-group" role="group" aria-label="...">
|
||||||
<a class="btn btn-default" type="button" href="#/containers/{{ container.Id }}/stats">Stats</a>
|
<a class="btn btn-default" type="button" ui-sref="stats({id: container.Id})">Stats</a>
|
||||||
<a class="btn btn-default" type="button" href="#/containers/{{ container.Id }}/logs">Logs</a>
|
<a class="btn btn-default" type="button" ui-sref="logs({id: container.Id})">Logs</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="comment">
|
<div class="comment">
|
||||||
|
@ -169,7 +169,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Image</td>
|
<td>Image</td>
|
||||||
<td><a href="#/images/{{ container.Image }}/">{{ container.Image }}</a></td>
|
<td><a ui-sref="image({id: container.Image})">{{ container.Image }}</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
<div ng-include="template" ng-controller="StartContainerController"></div>
|
<div ng-include="template" ng-controller="StartContainerController"></div>
|
||||||
|
|
||||||
<rd-header>
|
<rd-header>
|
||||||
<rd-header-title title="Container list"></rd-header-title>
|
<rd-header-title title="Container list">
|
||||||
|
<a data-toggle="tooltip" title="Refresh" ui-sref="containers" ui-sref-opts="{reload: true}">
|
||||||
|
<i class="fa fa-refresh" aria-hidden="true"></i>
|
||||||
|
</a>
|
||||||
|
</rd-header-title>
|
||||||
<rd-header-content>Containers</rd-header-content>
|
<rd-header-content>Containers</rd-header-content>
|
||||||
</rd-header>
|
</rd-header>
|
||||||
|
|
||||||
|
@ -34,35 +38,35 @@
|
||||||
<tr>
|
<tr>
|
||||||
<th><label><input type="checkbox" ng-model="state.toggle" ng-change="toggleSelectAll()" /> Select</label></th>
|
<th><label><input type="checkbox" ng-model="state.toggle" ng-change="toggleSelectAll()" /> Select</label></th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/containers/" ng-click="order('Names')">
|
<a ui-sref="containers" ng-click="order('Names')">
|
||||||
Name
|
Name
|
||||||
<span ng-show="sortType == 'Names' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'Names' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'Names' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'Names' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/containers/" ng-click="order('Image')">
|
<a ui-sref="containers" ng-click="order('Image')">
|
||||||
Image
|
Image
|
||||||
<span ng-show="sortType == 'Image' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'Image' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'Image' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'Image' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/containers/" ng-click="order('Command')">
|
<a ui-sref="containers" ng-click="order('Command')">
|
||||||
Command
|
Command
|
||||||
<span ng-show="sortType == 'Command' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'Command' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'Command' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'Command' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/containers/" ng-click="order('Created')">
|
<a ui-sref="containers" ng-click="order('Created')">
|
||||||
Created
|
Created
|
||||||
<span ng-show="sortType == 'Created' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'Created' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'Created' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'Created' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/containers/" ng-click="order('Status')">
|
<a ui-sref="containers" ng-click="order('Status')">
|
||||||
Status
|
Status
|
||||||
<span ng-show="sortType == 'Status' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'Status' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'Status' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'Status' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
|
@ -73,8 +77,8 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr ng-repeat="container in (state.filteredContainers = ( containers | filter:state.filter | orderBy:sortType:sortReverse))">
|
<tr ng-repeat="container in (state.filteredContainers = ( containers | filter:state.filter | orderBy:sortType:sortReverse))">
|
||||||
<td><input type="checkbox" ng-model="container.Checked" ng-change="selectItem(container)"/></td>
|
<td><input type="checkbox" ng-model="container.Checked" ng-change="selectItem(container)"/></td>
|
||||||
<td><a href="#/containers/{{ container.Id }}">{{ container|containername}}</a></td>
|
<td><a ui-sref="container({id: container.Id})">{{ container|containername}}</a></td>
|
||||||
<td><a href="#/images/{{ container.Image }}/">{{ container.Image }}</a></td>
|
<td><a ui-sref="image({id: container.Image})">{{ container.Image }}</a></td>
|
||||||
<td>{{ container.Command|truncate:40 }}</td>
|
<td>{{ container.Command|truncate:40 }}</td>
|
||||||
<td>{{ container.Created|getdate }}</td>
|
<td>{{ container.Created|getdate }}</td>
|
||||||
<td><span class="label label-{{ container.Status|statusbadge }}">{{ container.Status }}</span></td>
|
<td><span class="label label-{{ container.Status|statusbadge }}">{{ container.Status }}</span></td>
|
||||||
|
|
|
@ -61,7 +61,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Parent</td>
|
<td>Parent</td>
|
||||||
<td><a href="#/images/{{ image.Parent }}/">{{ image.Parent }}</a></td>
|
<td><a ui-sref="image({id: image.Parent})">{{ image.Parent }}</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Size (Virtual Size)</td>
|
<td>Size (Virtual Size)</td>
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
<div ng-include="template" ng-controller="PullImageController"></div>
|
<div ng-include="template" ng-controller="PullImageController"></div>
|
||||||
|
|
||||||
<rd-header>
|
<rd-header>
|
||||||
<rd-header-title title="Image list"></rd-header-title>
|
<rd-header-title title="Image list">
|
||||||
|
<a data-toggle="tooltip" title="Refresh" ui-sref="images" ui-sref-opts="{reload: true}">
|
||||||
|
<i class="fa fa-refresh" aria-hidden="true"></i>
|
||||||
|
</a>
|
||||||
|
</rd-header-title>
|
||||||
|
|
||||||
<rd-header-content>Images</rd-header-content>
|
<rd-header-content>Images</rd-header-content>
|
||||||
</rd-header>
|
</rd-header>
|
||||||
|
|
||||||
|
@ -27,28 +32,28 @@
|
||||||
<tr>
|
<tr>
|
||||||
<th><label><input type="checkbox" ng-model="state.toggle" ng-change="toggleSelectAll()" /> Select</label></th>
|
<th><label><input type="checkbox" ng-model="state.toggle" ng-change="toggleSelectAll()" /> Select</label></th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/images/" ng-click="order('Id')">
|
<a ui-sref="images" ng-click="order('Id')">
|
||||||
Id
|
Id
|
||||||
<span ng-show="sortType == 'Id' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'Id' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'Id' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'Id' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/images/" ng-click="order('RepoTags')">
|
<a ui-sref="images" ng-click="order('RepoTags')">
|
||||||
Repository
|
Repository
|
||||||
<span ng-show="sortType == 'RepoTags' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'RepoTags' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'RepoTags' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'RepoTags' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/images/" ng-click="order('VirtualSize')">
|
<a ui-sref="images" ng-click="order('VirtualSize')">
|
||||||
VirtualSize
|
VirtualSize
|
||||||
<span ng-show="sortType == 'VirtualSize' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'VirtualSize' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'VirtualSize' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'VirtualSize' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/images/" ng-click="order('Created')">
|
<a ui-sref="images" ng-click="order('Created')">
|
||||||
Created
|
Created
|
||||||
<span ng-show="sortType == 'Created' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'Created' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'Created' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'Created' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
|
@ -59,7 +64,7 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr ng-repeat="image in (state.filteredImages = (images | filter:state.filter | orderBy:sortType:sortReverse))">
|
<tr ng-repeat="image in (state.filteredImages = (images | filter:state.filter | orderBy:sortType:sortReverse))">
|
||||||
<td><input type="checkbox" ng-model="image.Checked" ng-change="selectItem(image)" /></td>
|
<td><input type="checkbox" ng-model="image.Checked" ng-change="selectItem(image)" /></td>
|
||||||
<td><a href="#/images/{{ image.Id }}/?tag={{ image|repotag }}">{{ image.Id|truncate:20}}</a></td>
|
<td><a ui-sref="image({id: image.Id})">{{ image.Id|truncate:20}}</a></td>
|
||||||
<td>{{ image|repotag }}</td>
|
<td>{{ image|repotag }}</td>
|
||||||
<td>{{ image.VirtualSize|humansize }}</td>
|
<td>{{ image.VirtualSize|humansize }}</td>
|
||||||
<td>{{ image.Created|getdate }}</td>
|
<td>{{ image.Created|getdate }}</td>
|
||||||
|
|
|
@ -80,7 +80,7 @@
|
||||||
<table class="table table-striped" ng-repeat="(Id, container) in network.Containers">
|
<table class="table table-striped" ng-repeat="(Id, container) in network.Containers">
|
||||||
<tr>
|
<tr>
|
||||||
<td>Id</td>
|
<td>Id</td>
|
||||||
<td><a href="#/containers/{{ Id }}">{{ Id }}</a></td>
|
<td><a ui-sref="container({id: Id})">{{ Id }}</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>EndpointID</td>
|
<td>EndpointID</td>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
angular.module('network', []).config(['$routeProvider', function ($routeProvider) {
|
angular.module('network', [])
|
||||||
}]).controller('NetworkController', ['$scope', 'Network', 'ViewSpinner', 'Messages', '$state', '$stateParams', 'errorMsgFilter',
|
.controller('NetworkController', ['$scope', 'Network', 'ViewSpinner', 'Messages', '$state', '$stateParams', 'errorMsgFilter',
|
||||||
function ($scope, Network, ViewSpinner, Messages, $state, $stateParams, errorMsgFilter) {
|
function ($scope, Network, ViewSpinner, Messages, $state, $stateParams, errorMsgFilter) {
|
||||||
|
|
||||||
$scope.disconnect = function disconnect(networkId, containerId) {
|
$scope.disconnect = function disconnect(networkId, containerId) {
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
<div ng-include="template" ng-controller="CreateNetworkController"></div>
|
<div ng-include="template" ng-controller="CreateNetworkController"></div>
|
||||||
|
|
||||||
<rd-header>
|
<rd-header>
|
||||||
<rd-header-title title="Network list"></rd-header-title>
|
<rd-header-title title="Network list">
|
||||||
|
<a data-toggle="tooltip" title="Refresh" ui-sref="networks" ui-sref-opts="{reload: true}">
|
||||||
|
<i class="fa fa-refresh" aria-hidden="true"></i>
|
||||||
|
</a>
|
||||||
|
</rd-header-title>
|
||||||
<rd-header-content>Networks</rd-header-content>
|
<rd-header-content>Networks</rd-header-content>
|
||||||
</rd-header>
|
</rd-header>
|
||||||
|
|
||||||
|
@ -28,49 +32,49 @@
|
||||||
<tr>
|
<tr>
|
||||||
<th><label><input type="checkbox" ng-model="state.toggle" ng-change="toggleSelectAll()"/> Select</label></th>
|
<th><label><input type="checkbox" ng-model="state.toggle" ng-change="toggleSelectAll()"/> Select</label></th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/networks/" ng-click="order('Name')">
|
<a ui-sref="networks" ng-click="order('Name')">
|
||||||
Name
|
Name
|
||||||
<span ng-show="sortType == 'Name' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'Name' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'Name' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'Name' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/networks/" ng-click="order('Id')">
|
<a ui-sref="networks" ng-click="order('Id')">
|
||||||
Id
|
Id
|
||||||
<span ng-show="sortType == 'Id' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'Id' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'Id' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'Id' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/networks/" ng-click="order('Scope')">
|
<a ui-sref="networks" ng-click="order('Scope')">
|
||||||
Scope
|
Scope
|
||||||
<span ng-show="sortType == 'Scope' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'Scope' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'Scope' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'Scope' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/networks/" ng-click="order('Driver')">
|
<a ui-sref="networks" ng-click="order('Driver')">
|
||||||
Driver
|
Driver
|
||||||
<span ng-show="sortType == 'Driver' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'Driver' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'Driver' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'Driver' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/networks/" ng-click="order('IPAM.Driver')">
|
<a ui-sref="networks" ng-click="order('IPAM.Driver')">
|
||||||
IPAM Driver
|
IPAM Driver
|
||||||
<span ng-show="sortType == 'IPAM.Driver' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'IPAM.Driver' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'IPAM.Driver' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'IPAM.Driver' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/networks/" ng-click="order('IPAM.Config[0].Subnet')">
|
<a ui-sref="networks" ng-click="order('IPAM.Config[0].Subnet')">
|
||||||
IPAM Subnet
|
IPAM Subnet
|
||||||
<span ng-show="sortType == 'IPAM.Config[0].Subnet' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'IPAM.Config[0].Subnet' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'IPAM.Config[0].Subnet' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'IPAM.Config[0].Subnet' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/networks/" ng-click="order('IPAM.Config[0].Gateway')">
|
<a ui-sref="networks" ng-click="order('IPAM.Config[0].Gateway')">
|
||||||
IPAM Gateway
|
IPAM Gateway
|
||||||
<span ng-show="sortType == 'IPAM.Config[0].Gateway' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'IPAM.Config[0].Gateway' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'IPAM.Config[0].Gateway' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'IPAM.Config[0].Gateway' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
|
@ -81,7 +85,7 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr ng-repeat="network in ( state.filteredNetworks = (networks | filter:state.filter | orderBy:sortType:sortReverse))">
|
<tr ng-repeat="network in ( state.filteredNetworks = (networks | filter:state.filter | orderBy:sortType:sortReverse))">
|
||||||
<td><input type="checkbox" ng-model="network.Checked" ng-change="selectItem(network)"/></td>
|
<td><input type="checkbox" ng-model="network.Checked" ng-change="selectItem(network)"/></td>
|
||||||
<td><a href="#/networks/{{ network.Id }}/">{{ network.Name|truncate:20}}</a></td>
|
<td><a ui-sref="network({id: network.Id})">{{ network.Name|truncate:20}}</a></td>
|
||||||
<td>{{ network.Id }}</td>
|
<td>{{ network.Id }}</td>
|
||||||
<td>{{ network.Scope }}</td>
|
<td>{{ network.Scope }}</td>
|
||||||
<td>{{ network.Driver }}</td>
|
<td>{{ network.Driver }}</td>
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
<rd-header>
|
<rd-header>
|
||||||
<rd-header-title title="Cluster overview"></rd-header-title>
|
<rd-header-title title="Cluster overview">
|
||||||
|
<a data-toggle="tooltip" title="Refresh" ui-sref="swarm" ui-sref-opts="{reload: true}">
|
||||||
|
<i class="fa fa-refresh" aria-hidden="true"></i>
|
||||||
|
</a>
|
||||||
|
</rd-header-title>
|
||||||
<rd-header-content>Swarm</rd-header-content>
|
<rd-header-content>Swarm</rd-header-content>
|
||||||
</rd-header>
|
</rd-header>
|
||||||
|
|
||||||
|
@ -91,28 +95,28 @@
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/swarm/" ng-click="order('Name')">
|
<a ui-sref="swarm" ng-click="order('Name')">
|
||||||
Name
|
Name
|
||||||
<span ng-show="sortType == 'Name' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'Name' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'Name' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'Name' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/swarm/" ng-click="order('IP')">
|
<a ui-sref="swarm" ng-click="order('IP')">
|
||||||
IP
|
IP
|
||||||
<span ng-show="sortType == 'IP' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'IP' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'IP' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'IP' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/swarm/" ng-click="order('Containers')">
|
<a ui-sref="swarm" ng-click="order('Containers')">
|
||||||
Containers
|
Containers
|
||||||
<span ng-show="sortType == 'Containers' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'Containers' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'Containers' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'Containers' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/swarm/" ng-click="order('Status')">
|
<a ui-sref="swarm" ng-click="order('Status')">
|
||||||
Status
|
Status
|
||||||
<span ng-show="sortType == 'Status' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'Status' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'Status' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'Status' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
<div ng-include="template" ng-controller="CreateVolumeController"></div>
|
<div ng-include="template" ng-controller="CreateVolumeController"></div>
|
||||||
|
|
||||||
<rd-header>
|
<rd-header>
|
||||||
<rd-header-title title="Volume list"></rd-header-title>
|
<rd-header-title title="Volume list">
|
||||||
|
<a data-toggle="tooltip" title="Refresh" ui-sref="volumes" ui-sref-opts="{reload: true}">
|
||||||
|
<i class="fa fa-refresh" aria-hidden="true"></i>
|
||||||
|
</a>
|
||||||
|
</rd-header-title>
|
||||||
<rd-header-content>Volumes</rd-header-content>
|
<rd-header-content>Volumes</rd-header-content>
|
||||||
</rd-header>
|
</rd-header>
|
||||||
|
|
||||||
|
@ -27,21 +31,21 @@
|
||||||
<tr>
|
<tr>
|
||||||
<th><label><input type="checkbox" ng-model="state.toggle" ng-change="toggleSelectAll()"/> Select</label></th>
|
<th><label><input type="checkbox" ng-model="state.toggle" ng-change="toggleSelectAll()"/> Select</label></th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/volumes/" ng-click="order('Name')">
|
<a ui-sref="volumes" ng-click="order('Name')">
|
||||||
Name
|
Name
|
||||||
<span ng-show="sortType == 'Name' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'Name' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'Name' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'Name' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/volumes/" ng-click="order('Driver')">
|
<a ui-sref="volumes" ng-click="order('Driver')">
|
||||||
Driver
|
Driver
|
||||||
<span ng-show="sortType == 'Driver' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'Driver' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'Driver' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'Driver' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
</a>
|
</a>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<a href="#/volumes/" ng-click="order('Mountpoint')">
|
<a ui-sref="volumes" ng-click="order('Mountpoint')">
|
||||||
Mountpoint
|
Mountpoint
|
||||||
<span ng-show="sortType == 'Mountpoint' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
<span ng-show="sortType == 'Mountpoint' && !sortReverse" class="glyphicon glyphicon-chevron-down"></span>
|
||||||
<span ng-show="sortType == 'Mountpoint' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
<span ng-show="sortType == 'Mountpoint' && sortReverse" class="glyphicon glyphicon-chevron-up"></span>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
angular.module('volumes', [])
|
angular.module('volumes', [])
|
||||||
.controller('VolumesController', ['$scope', 'Volume', 'ViewSpinner', 'Messages', '$route', 'errorMsgFilter',
|
.controller('VolumesController', ['$scope', 'Volume', 'ViewSpinner', 'Messages', 'errorMsgFilter',
|
||||||
function ($scope, Volume, ViewSpinner, Messages, $route, errorMsgFilter) {
|
function ($scope, Volume, ViewSpinner, Messages, errorMsgFilter) {
|
||||||
$scope.state = {};
|
$scope.state = {};
|
||||||
$scope.state.toggle = false;
|
$scope.state.toggle = false;
|
||||||
$scope.state.selectedItemCount = 0;
|
$scope.state.selectedItemCount = 0;
|
||||||
|
|
|
@ -4,10 +4,10 @@ angular
|
||||||
var directive = {
|
var directive = {
|
||||||
requires: '^rdHeader',
|
requires: '^rdHeader',
|
||||||
scope: {
|
scope: {
|
||||||
title: '@',
|
title: '@'
|
||||||
},
|
},
|
||||||
transclude: true,
|
transclude: true,
|
||||||
template: '<div class="page">{{title}}</div>',
|
template: '<div class="page">{{title}}<span class="header_title_content" ng-transclude><span></div>',
|
||||||
restrict: 'E'
|
restrict: 'E'
|
||||||
};
|
};
|
||||||
return directive;
|
return directive;
|
||||||
|
|
|
@ -139,3 +139,7 @@
|
||||||
display: inline;
|
display: inline;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.header_title_content {
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "uifordocker",
|
"name": "uifordocker",
|
||||||
"version": "1.0.1",
|
"version": "1.0.2",
|
||||||
"homepage": "https://github.com/kevana/ui-for-docker",
|
"homepage": "https://github.com/kevana/ui-for-docker",
|
||||||
"authors": [
|
"authors": [
|
||||||
"Michael Crosby <crosbymichael@gmail.com>",
|
"Michael Crosby <crosbymichael@gmail.com>",
|
||||||
|
@ -32,7 +32,6 @@
|
||||||
"angular-mocks": "~1.5.0",
|
"angular-mocks": "~1.5.0",
|
||||||
"angular-oboe": "*",
|
"angular-oboe": "*",
|
||||||
"angular-resource": "~1.5.0",
|
"angular-resource": "~1.5.0",
|
||||||
"angular-route": "~1.5.0",
|
|
||||||
"angular-ui-select": "~0.17.1",
|
"angular-ui-select": "~0.17.1",
|
||||||
"bootstrap": "~3.3.6",
|
"bootstrap": "~3.3.6",
|
||||||
"font-awesome": "~4.5.0",
|
"font-awesome": "~4.5.0",
|
||||||
|
|
|
@ -152,7 +152,6 @@ module.exports = function (grunt) {
|
||||||
src: ['bower_components/angular/angular.min.js',
|
src: ['bower_components/angular/angular.min.js',
|
||||||
'bower_components/angular-sanitize/angular-sanitize.min.js',
|
'bower_components/angular-sanitize/angular-sanitize.min.js',
|
||||||
'bower_components/angular-cookies/angular-cookies.min.js',
|
'bower_components/angular-cookies/angular-cookies.min.js',
|
||||||
'bower_components/angular-route/angular-route.min.js',
|
|
||||||
'bower_components/angular-ui-router/release/angular-ui-router.min.js',
|
'bower_components/angular-ui-router/release/angular-ui-router.min.js',
|
||||||
'bower_components/angular-resource/angular-resource.min.js',
|
'bower_components/angular-resource/angular-resource.min.js',
|
||||||
'bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js',
|
'bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js',
|
||||||
|
|
12
index.html
12
index.html
|
@ -38,22 +38,22 @@
|
||||||
</li>
|
</li>
|
||||||
<li class="sidebar-title"><span>NAVIGATION</span></li>
|
<li class="sidebar-title"><span>NAVIGATION</span></li>
|
||||||
<li class="sidebar-list">
|
<li class="sidebar-list">
|
||||||
<a href="#">Dashboard <span class="menu-icon fa fa-tachometer"></span></a>
|
<a ui-sref="index">Dashboard <span class="menu-icon fa fa-tachometer"></span></a>
|
||||||
</li>
|
</li>
|
||||||
<li class="sidebar-list">
|
<li class="sidebar-list">
|
||||||
<a href="#/containers/">Containers <span class="menu-icon fa fa-server"></span></a>
|
<a ui-sref="containers">Containers <span class="menu-icon fa fa-server"></span></a>
|
||||||
</li>
|
</li>
|
||||||
<li class="sidebar-list">
|
<li class="sidebar-list">
|
||||||
<a href="#/images/">Images <span class="menu-icon fa fa-clone"></span></a>
|
<a ui-sref="images">Images <span class="menu-icon fa fa-clone"></span></a>
|
||||||
</li>
|
</li>
|
||||||
<li class="sidebar-list">
|
<li class="sidebar-list">
|
||||||
<a href="#/networks/">Networks <span class="menu-icon fa fa-sitemap"></span></a>
|
<a ui-sref="networks">Networks <span class="menu-icon fa fa-sitemap"></span></a>
|
||||||
</li>
|
</li>
|
||||||
<li class="sidebar-list">
|
<li class="sidebar-list">
|
||||||
<a href="#/volumes/">Volumes <span class="menu-icon fa fa-cubes"></span></a>
|
<a ui-sref="volumes">Volumes <span class="menu-icon fa fa-cubes"></span></a>
|
||||||
</li>
|
</li>
|
||||||
<li class="sidebar-list">
|
<li class="sidebar-list">
|
||||||
<a href="#/swarm/">Swarm <span class="menu-icon fa fa-object-group"></span></a>
|
<a ui-sref="swarm">Swarm <span class="menu-icon fa fa-object-group"></span></a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="sidebar-footer">
|
<div class="sidebar-footer">
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"author": "Michael Crosby & Kevan Ahlquist",
|
"author": "Michael Crosby & Kevan Ahlquist",
|
||||||
"name": "uifordocker",
|
"name": "uifordocker",
|
||||||
"homepage": "https://github.com/kevana/ui-for-docker",
|
"homepage": "https://github.com/kevana/ui-for-docker",
|
||||||
"version": "1.0.1",
|
"version": "1.0.2",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git@github.com:kevana/ui-for-docker.git"
|
"url": "git@github.com:kevana/ui-for-docker.git"
|
||||||
|
|
Loading…
Reference in New Issue