mirror of
https://github.com/kwk/docker-registry-frontend.git
synced 2024-09-20 15:26:22 +08:00
97c9ca0446
I did some cleanup and unified the deletion of items (e.g. tags or repos) a bit. Now, you can select multiple repositories or tags and delete them at once. Confirmation is done using a modal popup. Success and error messages will still be prompted for each operation using toastr notification. One thing that is still missing is the selection of multiple items using some automation like a stupid "select all" button. Also, any selected item remains selected even if it does not show up any longer due to filtering. That's why the delete buttons explicitly tell the number of items to be deleted. This can cause issues when paging (not implemented yet) or filtering.
147 lines
3.2 KiB
CSS
147 lines
3.2 KiB
CSS
.container {
|
|
margin-top: 0px;
|
|
display: flex;
|
|
min-height: 100vh;
|
|
flex-direction: column;
|
|
}
|
|
|
|
/* Display all links inside tables as blocks which should make them easier to click*/
|
|
table a {
|
|
display: block;
|
|
}
|
|
|
|
/* Apply this class a table column (td) that shall grow */
|
|
.grow {
|
|
width: 100%;
|
|
}
|
|
|
|
/* A separate style to create free space below repository search box*/
|
|
.repository-list-search {
|
|
margin-bottom: 1em;
|
|
}
|
|
|
|
ol.breadcrumb li:first-child::before {
|
|
content: "You are here: ";
|
|
}
|
|
|
|
main {
|
|
flex: 1;
|
|
}
|
|
|
|
footer {
|
|
padding-top: 20px;
|
|
padding-bottom: 20px;
|
|
margin-top: 40px;
|
|
border-top: 1px solid #eee;
|
|
text-align: center;
|
|
}
|
|
|
|
footer a + a {
|
|
margin-left: 50px;
|
|
}
|
|
|
|
footer img {
|
|
max-height: 50px;
|
|
}
|
|
|
|
/* Style the repository list */
|
|
|
|
.list-group-item-group-header {
|
|
background-color: #dedede;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.list-group-item-group-item {
|
|
padding-left: 2em;
|
|
}
|
|
|
|
/* Main marketing message and sign up button */
|
|
.jumbotron {
|
|
text-align: center;
|
|
background-color: transparent;
|
|
}
|
|
.jumbotron .btn {
|
|
padding: 14px 24px;
|
|
font-size: 21px;
|
|
}
|
|
|
|
/* Customize the nav-justified links to be fill the entire space of the .navbar */
|
|
|
|
.nav-justified {
|
|
background-color: #eee;
|
|
border: 1px solid #ccc;
|
|
border-radius: 5px;
|
|
}
|
|
|
|
.nav-justified > li > a {
|
|
padding-top: 15px;
|
|
padding-bottom: 15px;
|
|
margin-bottom: 0;
|
|
font-weight: bold;
|
|
color: #777;
|
|
text-align: center;
|
|
background-color: #e5e5e5; /* Old browsers */
|
|
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e5e5e5));
|
|
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e5e5e5 100%);
|
|
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e5e5e5 100%);
|
|
background-image: -webkit-gradient(linear, left top, left bottom, from(top), color-stop(0%, #f5f5f5), to(#e5e5e5));
|
|
background-image: linear-gradient(top, #f5f5f5 0%, #e5e5e5 100%);
|
|
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#e5e5e5',GradientType=0 ); /* IE6-9 */
|
|
background-repeat: repeat-x; /* Repeat the gradient */
|
|
border-bottom: 1px solid #d5d5d5;
|
|
}
|
|
.nav-justified > .active > a,
|
|
.nav-justified > .active > a:hover,
|
|
.nav-justified > .active > a:focus {
|
|
background-color: #ddd;
|
|
background-image: none;
|
|
-webkit-box-shadow: inset 0 3px 7px rgba(0,0,0,.15);
|
|
box-shadow: inset 0 3px 7px rgba(0,0,0,.15);
|
|
}
|
|
.nav-justified > li:first-child > a {
|
|
border-radius: 5px 5px 0 0;
|
|
}
|
|
.nav-justified > li:last-child > a {
|
|
border-bottom: 0;
|
|
border-radius: 0 0 5px 5px;
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.nav-justified {
|
|
max-height: 52px;
|
|
}
|
|
.nav-justified > li > a {
|
|
border-right: 1px solid #d5d5d5;
|
|
border-left: 1px solid #fff;
|
|
}
|
|
.nav-justified > li:first-child > a {
|
|
border-left: 0;
|
|
border-radius: 5px 0 0 5px;
|
|
}
|
|
.nav-justified > li:last-child > a {
|
|
border-right: 0;
|
|
border-radius: 0 5px 5px 0;
|
|
}
|
|
}
|
|
|
|
/* Responsive: Portrait tablets and up */
|
|
@media screen and (min-width: 768px) {
|
|
/* Remove the padding we set earlier */
|
|
.masthead,
|
|
.marketing,
|
|
footer {
|
|
padding-right: 0;
|
|
padding-left: 0;
|
|
}
|
|
}
|
|
|
|
/** Form validation */
|
|
|
|
.css-form input.ng-invalid.ng-dirty {
|
|
background-color: #FA787E;
|
|
}
|
|
|
|
.css-form input.ng-valid.ng-dirty {
|
|
background-color: #78FA89;
|
|
}
|