2016-06-08 06:23:11 +00:00
< rd-header >
2016-06-14 02:32:44 +00:00
< 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 >
2017-01-24 01:28:40 +00:00
< i id = "loadImagesSpinner" class = "fa fa-cog fa-spin" style = "margin-left: 5px;" > < / i >
2016-06-14 02:32:44 +00:00
< / rd-header-title >
2016-06-08 06:23:11 +00:00
< rd-header-content > Images< / rd-header-content >
< / rd-header >
2016-07-06 04:32:46 +00:00
< div class = "row" >
< div class = "col-lg-12 col-md-12 col-xs-12" >
< rd-widget >
< rd-widget-header icon = "fa-download" title = "Pull image " >
< / rd-widget-header >
< rd-widget-body >
< form class = "form-horizontal" >
2017-06-20 11:00:32 +00:00
<!-- image - and - registry -->
2016-07-06 04:32:46 +00:00
< div class = "form-group" >
2017-06-20 11:00:32 +00:00
< por-image-registry image = "formValues.Image" registry = "formValues.Registry" > < / por-image-registry >
2016-07-06 04:32:46 +00:00
< / div >
2017-06-20 11:00:32 +00:00
<!-- !image - and - registry -->
2016-07-06 04:32:46 +00:00
<!-- tag - note -->
< div class = "form-group" >
< div class = "col-sm-12" >
< span class = "small text-muted" > Note: if you don't specify the tag in the image name, < span class = "label label-default" > latest< / span > will be used.< / span >
< / div >
< / div >
<!-- !tag - note -->
< div class = "form-group" >
< div class = "col-sm-12" >
2017-06-20 11:00:32 +00:00
< button type = "button" class = "btn btn-primary btn-sm" ng-disabled = "!formValues.Image" ng-click = "pullImage()" > Pull< / button >
2016-07-07 00:44:58 +00:00
< i id = "pullImageSpinner" class = "fa fa-cog fa-spin" style = "margin-left: 5px; display: none;" > < / i >
2016-07-06 04:32:46 +00:00
< / div >
< / div >
< / form >
< / rd-widget-body >
< / rd-widget >
< / div >
< / div >
< div class = "row" >
< div class = "col-lg-12 col-md-12 col-xs-12" >
< rd-widget >
< rd-widget-header icon = "fa-clone" title = "Images" >
2016-07-07 00:44:58 +00:00
< div class = "pull-right" >
2017-01-24 01:28:40 +00:00
Items per page:
< select ng-model = "state.pagination_count" ng-change = "changePaginationCount()" >
< option value = "0" > All< / option >
< option value = "10" > 10< / option >
< option value = "25" > 25< / option >
< option value = "50" > 50< / option >
< option value = "100" > 100< / option >
< / select >
2016-07-07 00:44:58 +00:00
< / div >
2016-07-06 04:32:46 +00:00
< / rd-widget-header >
< rd-widget-taskbar classes = "col-lg-12" >
< div class = "pull-left" >
2017-02-15 22:14:56 +00:00
< div class = "btn-group" >
< button type = "button" class = "btn btn-danger" ng-click = "removeAction()" ng-disabled = "!state.selectedItemCount" > < i class = "fa fa-trash space-right" aria-hidden = "true" > < / i > Remove< / button >
< button type = "button" class = "btn btn-danger dropdown-toggle" data-toggle = "dropdown" aria-haspopup = "true" aria-expanded = "false" ng-disabled = "!state.selectedItemCount" >
< span class = "caret" > < / span >
< span class = "sr-only" > Toggle Dropdown< / span >
< / button >
< ul class = "dropdown-menu" >
< li > < a ng-click = "confirmRemovalAction(true)" ng-disabled = "!state.selectedItemCount" > Force Remove< / a > < / li >
< / ul >
< / div >
2016-06-02 05:34:03 +00:00
< / div >
2016-07-06 04:32:46 +00:00
< div class = "pull-right" >
< input type = "text" id = "filter" ng-model = "state.filter" placeholder = "Filter..." class = "form-control input-sm" / >
< / div >
2017-07-11 07:56:28 +00:00
< span class = "btn-group btn-group-sm pull-right" style = "margin-right: 20px;" >
< label class = "btn btn-primary" ng-model = "state.containersCountFilter" uib-btn-radio = "undefined" >
All
< / label >
< label class = "btn btn-primary" ng-model = "state.containersCountFilter" uib-btn-radio = "'!' + 0" >
Used
< / label >
< label class = "btn btn-primary" ng-model = "state.containersCountFilter" uib-btn-radio = "0" >
Unused
< / label >
< / span >
2016-07-06 04:32:46 +00:00
< / rd-widget-taskbar >
< rd-widget-body classes = "no-padding" >
< div class = "table-responsive" >
2016-07-13 23:03:40 +00:00
< table class = "table table-hover" >
2016-07-06 04:32:46 +00:00
< thead >
< tr >
2017-01-04 20:15:41 +00:00
< th >
< input type = "checkbox" ng-model = "allSelected" ng-change = "selectItems(allSelected)" / >
< / th >
2016-07-06 04:32:46 +00:00
< th >
< a ui-sref = "images" ng-click = "order('Id')" >
Id
< span ng-show = "sortType == 'Id' && !sortReverse" class = "glyphicon glyphicon-chevron-down" > < / span >
< span ng-show = "sortType == 'Id' && sortReverse" class = "glyphicon glyphicon-chevron-up" > < / span >
< / a >
< / th >
< th >
< a ui-sref = "images" ng-click = "order('RepoTags')" >
2016-07-14 00:01:57 +00:00
Tags
2016-07-06 04:32:46 +00:00
< span ng-show = "sortType == 'RepoTags' && !sortReverse" class = "glyphicon glyphicon-chevron-down" > < / span >
< span ng-show = "sortType == 'RepoTags' && sortReverse" class = "glyphicon glyphicon-chevron-up" > < / span >
< / a >
< / th >
< th >
< a ui-sref = "images" ng-click = "order('VirtualSize')" >
2016-07-06 07:04:45 +00:00
Size
2016-07-06 04:32:46 +00:00
< span ng-show = "sortType == 'VirtualSize' && !sortReverse" class = "glyphicon glyphicon-chevron-down" > < / span >
< span ng-show = "sortType == 'VirtualSize' && sortReverse" class = "glyphicon glyphicon-chevron-up" > < / span >
< / a >
< / th >
2016-08-17 05:25:42 +00:00
< th >
< a ui-sref = "images" ng-click = "order('Created')" >
Created
< span ng-show = "sortType == 'Created' && !sortReverse" class = "glyphicon glyphicon-chevron-down" > < / span >
< span ng-show = "sortType == 'Created' && sortReverse" class = "glyphicon glyphicon-chevron-up" > < / span >
< / a >
< / th >
2016-07-06 04:32:46 +00:00
< / tr >
< / thead >
< tbody >
2017-07-11 07:56:28 +00:00
< tr dir-paginate = "image in (state.filteredImages = (images | filter:{ Containers: state.containersCountFilter } | filter:state.filter | orderBy:sortType:sortReverse | itemsPerPage: state.pagination_count))" >
2016-07-06 04:32:46 +00:00
< td > < input type = "checkbox" ng-model = "image.Checked" ng-change = "selectItem(image)" / > < / td >
2017-07-11 07:56:28 +00:00
< td >
< a class = "monospaced" ui-sref = "image({id: image.Id})" > {{ image.Id|truncate:20}}< / a >
< span style = "margin-left: 10px;" class = "label label-warning image-tag" ng-if = "::image.Containers === 0" > Unused< / span > < / td >
2016-07-14 00:01:57 +00:00
< td >
< span class = "label label-primary image-tag" ng-repeat = "tag in (image|repotags)" > {{ tag }}< / span >
< / td >
2016-07-06 04:32:46 +00:00
< td > {{ image.VirtualSize|humansize }}< / td >
2016-08-17 05:25:42 +00:00
< td > {{ image.Created|getisodatefromtimestamp }}< / td >
2016-07-06 04:32:46 +00:00
< / tr >
2016-10-08 01:59:58 +00:00
< tr ng-if = "!images" >
< td colspan = "5" class = "text-center text-muted" > Loading...< / td >
< / tr >
2016-10-07 04:55:09 +00:00
< tr ng-if = "images.length == 0" >
< td colspan = "5" class = "text-center text-muted" > No images available.< / td >
< / tr >
2016-07-06 04:32:46 +00:00
< / tbody >
< / table >
2016-11-17 12:50:46 +00:00
< div ng-if = "images" class = "pull-left pagination-controls" >
< dir-pagination-controls > < / dir-pagination-controls >
< / div >
2016-07-06 04:32:46 +00:00
< / div >
< / rd-widget-body >
2017-07-08 08:23:00 +00:00
< / rd-widget >
< / div >
< / div >