server/apps/files/css/files.css
Morris Jobke f4bc852db3 Show hint if there is no delete permission
* add class .no-permission which shows the default delete icon
* fixes #15172
* add unit test for no permission and for delete permission
2015-04-23 21:49:59 +02:00

669 lines
15 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* Copyright (c) 2011, Jan-Christoph Borchardt, http://jancborchardt.net
This file is licensed under the Affero General Public License version 3 or later.
See the COPYING-README file. */
/* FILE MENU */
.actions { padding:5px; height:32px; display: inline-block; float: left; }
.actions input, .actions button, .actions .button { margin:0; float:left; }
.actions .button a { color: #555; }
.actions .button a:hover,
.actions .button a:focus,
.actions .button a:active {
color: #333;
}
.actions.hidden { display: none; }
.actions.creatable {
position: relative;
z-index: -30;
}
#new {
z-index: 1010;
float: left;
padding: 0 !important; /* override default control bar button padding */
}
#trash {
margin-right: 8px;
float: right;
z-index: 1010;
padding: 10px;
font-weight: normal;
}
#new > a {
padding: 14px 10px;
position: relative;
top: 7px;
}
#new.active {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
border-bottom: none;
background: #f8f8f8;
}
#new > ul {
display: none;
position: fixed;
min-width: 112px;
z-index: -10;
padding: 8px;
padding-bottom: 0;
margin-top: 13.5px;
margin-left: -1px;
text-align: left;
background: #f8f8f8;
border: 1px solid #ddd;
border: 1px solid rgba(190, 190, 190, 0.901961);
border-radius: 5px;
border-top-left-radius: 0;
box-shadow: 0 2px 7px rgba(170,170,170,.4);
}
#new > ul > li {
height: 36px;
margin: 5px;
padding-left: 42px;
padding-bottom: 2px;
background-position: left center;
cursor: pointer;
}
#new > ul > li > p {
cursor: pointer;
padding-top: 7px;
padding-bottom: 7px;
}
#new .error, #fileList .error {
color: #e9322d;
border-color: #e9322d;
-webkit-box-shadow: 0 0 6px #f8b9b7;
-moz-box-shadow: 0 0 6px #f8b9b7;
box-shadow: 0 0 6px #f8b9b7;
}
/* FILE TABLE */
#filestable {
position: relative;
top: 44px;
width: 100%;
}
/* make sure there's enough room for the file actions */
#body-user #filestable {
min-width: 688px; /* 768 (mobile break) - 80 (nav width) */
}
#body-user #controls {
min-width: 688px; /* 768 (mobile break) - 80 (nav width) */
}
#filestable tbody tr { background-color:#fff; height:51px; }
/* fit app list view heights */
.app-files #app-content>.viewcontainer {
min-height: 100%;
}
/* icons for sidebar */
.nav-icon-files {
background-image: url('../img/folder.svg');
}
.nav-icon-favorites {
background-image: url('../img/star.svg');
}
.nav-icon-sharingin,
.nav-icon-sharingout {
background-image: url('../img/share.svg');
}
.nav-icon-sharinglinks {
background-image: url('../img/public.svg');
}
.nav-icon-extstoragemounts {
background-image: url('../img/external.svg');
}
.nav-icon-trashbin {
background-image: url('../img/delete.svg');
}
/* move Deleted Files to bottom of sidebar */
.nav-trashbin {
position: fixed !important;
bottom: 44px;
width: inherit !important;
background-color: #f5f5f5;
}
/* double padding to account for Deleted files entry, issue with Firefox */
.app-files #app-navigation > ul li:nth-last-child(2) {
margin-bottom: 44px;
}
#filestable tbody tr { background-color:#fff; height:40px; }
#filestable tbody tr:hover,
#filestable tbody tr:focus,
#filestable tbody .name:focus,
#filestable tbody tr:active {
background-color: rgb(240,240,240);
}
#filestable tbody tr.selected {
background-color: rgb(230,230,230);
}
#filestable tbody tr.searchresult {
background-color: rgb(240,240,240);
}
tbody a { color:#000; }
span.extension, span.uploading, td.date {
color: #999;
}
span.extension {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
filter: alpha(opacity=70);
opacity: .7;
-webkit-transition: opacity 300ms;
-moz-transition: opacity 300ms;
-o-transition: opacity 300ms;
transition: opacity 300ms;
vertical-align: top;
}
tr:hover span.extension,
tr:focus span.extension {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
filter: alpha(opacity=100);
opacity: 1;
color: #777;
}
table tr.mouseOver td {
background-color: #eee;
}
table th, table th a {
color: #999;
}
table.multiselect th a {
color: #000;
}
table th .columntitle {
display: block;
padding: 15px;
height: 50px;
box-sizing: border-box;
-moz-box-sizing: border-box;
vertical-align: middle;
}
table th .columntitle.name {
padding-left: 5px;
padding-right: 80px;
margin-left: 50px;
}
table th .sort-indicator {
width: 10px;
height: 8px;
margin-left: 5px;
display: inline-block;
vertical-align: text-bottom;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
filter: alpha(opacity=30);
opacity: .3;
}
.sort-indicator.hidden {
visibility: hidden;
}
table th:hover .sort-indicator.hidden,
table th:focus .sort-indicator.hidden {
visibility: visible;
}
table th, table td { border-bottom:1px solid #ddd; text-align:left; font-weight:normal; }
table td {
padding: 0 15px;
border-bottom: 1px solid #eee;
font-style: normal;
background-position: 8px center;
background-repeat: no-repeat;
}
table th#headerName {
position: relative;
width: 9999px; /* not really sure why this works better than 100% … table styling */
padding: 0;
}
#headerName-container {
position: relative;
height: 50px;
}
.has-favorites #headerName-container {
padding-left: 50px;
}
table th#headerSize, table td.filesize {
text-align: right;
}
table th#headerDate, table td.date,
table th.column-last, table td.column-last {
-moz-box-sizing: border-box;
box-sizing: border-box;
position: relative;
/* this can not be just width, both need to be set … table styling */
min-width: 176px;
max-width: 176px;
}
/* Multiselect bar */
#filestable.multiselect {
top: 95px;
}
table.multiselect thead {
position: fixed;
top: 89px;
z-index: 10;
-moz-box-sizing: border-box;
box-sizing: border-box;
left: 250px; /* sidebar */
}
table thead th {
background-color: #fff;
}
table.multiselect thead th {
background-color: rgba(220,220,220,.8);
color: #000;
font-weight: bold;
border-bottom: 0;
}
table.multiselect #headerName {
position: relative;
width: 9999px; /* when we use 100%, the styling breaks on mobile … table styling */
}
table.multiselect #modified {
display: none;
}
table td.selection,
table th.selection,
table td.fileaction {
width: 32px;
text-align: center;
}
table td.filename a.name {
position:relative; /* Firefox needs to explicitly have this default set … */
-moz-box-sizing: border-box;
box-sizing: border-box;
display: block;
height: 50px;
line-height: 50px;
padding: 0;
}
table td.filename .thumbnail {
display: inline-block;
width: 32px;
height: 32px;
margin-left: 8px;
margin-top: 9px;
cursor: pointer;
float: left;
position: absolute;
z-index: 4;
}
table td.filename input.filename {
width: 70%;
margin-top: 9px;
margin-left: 48px;
cursor: text;
}
.has-favorites table td.filename input.filename {
margin-left: 52px;
}
table td.filename a, table td.login, table td.logout, table td.download, table td.upload, table td.create, table td.delete { padding:3px 8px 8px 3px; }
table td.filename .nametext, .uploadtext, .modified, .column-last>span:first-child { float:left; padding:15px 0; }
.modified, .column-last>span:first-child {
position: relative;
overflow: hidden;
text-overflow: ellipsis;
width: 90%;
}
/* ellipsize long modified dates to make room for showing delete button */
#fileList tr:hover .modified,
#fileList tr:focus .modified,
#fileList tr:hover .column-last>span:first-child,
#fileList tr:focus .column-last>span:first-child {
width: 75%;
}
/* TODO fix usability bug (accidental file/folder selection) */
table td.filename .nametext {
position: absolute;
left: 55px;
padding: 0;
overflow: hidden;
text-overflow: ellipsis;
max-width: 800px;
height: 100%;
}
/* IE8 text-overflow: ellipsis support */
.ie8 table td.filename .nametext {
min-width: 50%;
}
.has-favorites #fileList td.filename a.name {
left: 50px;
margin-right: 50px;
}
table td.filename .nametext .innernametext {
text-overflow: ellipsis;
overflow: hidden;
position: relative;
display: inline-block;
vertical-align: top;
}
/* IE8 text-overflow: ellipsis support */
.ie8 table td.filename .nametext .innernametext {
white-space: nowrap;
word-wrap: normal;
-ms-text-overflow: ellipsis;
max-width: 47%;
}
@media only screen and (min-width: 1366px) {
table td.filename .nametext .innernametext {
max-width: 760px;
}
table tr:hover td.filename .nametext .innernametext,
table tr:focus td.filename .nametext .innernametext {
max-width: 480px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1366px) {
table td.filename .nametext .innernametext {
max-width: 600px;
}
table tr:hover td.filename .nametext .innernametext,
table tr:focus td.filename .nametext .innernametext {
max-width: 320px;
}
}
@media only screen and (min-width: 1000px) and (max-width: 1200px) {
table td.filename .nametext .innernametext {
max-width: 400px;
}
table tr:hover td.filename .nametext .innernametext,
table tr:focus td.filename .nametext .innernametext {
max-width: 120px;
}
}
@media only screen and (min-width: 768px) and (max-width: 1000px) {
table td.filename .nametext .innernametext {
max-width: 320px;
}
table tr:hover td.filename .nametext .innernametext,
table tr:focus td.filename .nametext .innernametext {
max-width: 40px;
}
}
/* for smaller resolutions - see mobile.css */
table td.filename .uploadtext {
font-weight: normal;
margin-left: 55px;
margin-top: 5px;
height: 20px;
padding: 10px 0;
font-size: 11px;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
filter: alpha(opacity=50);
opacity: .5;
}
.ie8 input[type="checkbox"]{
padding: 0;
}
/* File checkboxes */
#fileList tr td.filename>.selectCheckBox {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
opacity: 0;
float: left;
top: 0;
margin: 32px 0 4px 32px; /* bigger clickable area doesnt work in FF width:2.8em; height:2.4em;*/
}
/* Show checkbox when hovering, checked, or selected */
#fileList tr:hover td.filename>.selectCheckBox,
#fileList tr:focus td.filename>.selectCheckBox,
#fileList tr td.filename>.selectCheckBox:checked,
#fileList tr.selected td.filename>.selectCheckBox {
opacity: 1;
}
.lte9 #fileList tr:hover td.filename>.selectCheckBox,
.lte9 #fileList tr:focus td.filename>.selectCheckBox,
.lte9 #fileList tr td.filename>.selectCheckBox[checked=checked],
.lte9 #fileList tr.selected td.filename>.selectCheckBox {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
filter: alpha(opacity=100);
}
/* Use label to have bigger clickable size for checkbox */
#fileList tr td.filename>.selectCheckBox + label,
.select-all + label {
height: 50px;
position: absolute;
width: 50px;
z-index: 5;
}
#fileList tr td.filename>.selectCheckBox {
/* sometimes checkbox height is bigger (KDE/Qt), so setting to absolute
* to prevent it to increase the height */
position: absolute;
z-index: 10;
}
.select-all + label {
top: 0;
}
.select-all {
position: absolute;
top: 18px;
left: 18px;
z-index: 10;
}
.has-favorites .select-all {
left: 68px;
}
#fileList tr td.filename {
position: relative;
width: 100%;
padding-left: 0;
-webkit-transition:background-image 500ms; -moz-transition:background-image 500ms; -o-transition:background-image 500ms; transition:background-image 500ms;
}
#fileList tr td.filename a.name label {
position: absolute;
width: 80%;
height: 50px;
}
#fileList tr td.filename .favorite {
display: inline-block;
float: left;
}
#fileList tr td.filename .action-favorite {
display: block;
float: left;
width: 30px;
line-height: 100%;
text-align: center;
}
#uploadsize-message,#delete-confirm { display:none; }
/* File actions */
.fileactions {
position: absolute;
right: 0;
font-size: 11px;
}
/* force show the loading icon, not only on hover */
#fileList .icon-loading-small {
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
filter:alpha(opacity=100);
opacity: 1 !important;
display: inline !important;
}
#fileList img.move2trash { display:inline; margin:-8px 0; padding:16px 8px 16px 8px !important; float:right; }
#fileList a.action.delete {
position: absolute;
right: 15px;
padding: 17px 14px;
}
#fileList .action.action-share-notification span, #fileList a.name {
cursor: default !important;
}
a.action>img {
max-height:16px;
max-width:16px;
vertical-align:text-bottom;
margin-bottom: -1px;
}
/* Actions for selected files */
.selectedActions {
position: absolute;
top: 0;
right: 0;
}
.selectedActions a {
display: inline;
font-size: 11px;
line-height: 50px;
padding: 18px 5px;
}
.selectedActions a.delete-selected {
padding-right: 15px;
}
.selectedActions a.hidden {
display: none;
}
.selectedActions a img {
position:relative;
vertical-align: text-bottom;
margin-bottom: -1px;
}
#fileList a.action {
display: inline;
padding: 17px 8px;
line-height: 50px;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
opacity: 0;
display:none;
}
#fileList a.action[data-action="Rename"] {
padding: 16px 14px 17px !important;
}
.ie8 #fileList a.action img,
#fileList tr:hover a.action,
#fileList a.action.permanent,
#fileList tr:focus a.action,
#fileList a.action.permanent,
#fileList tr:hover a.action.no-permission:hover,
#fileList tr:focus a.action.no-permission:focus
/*#fileList .name:focus .action*/ {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
filter: alpha(opacity=50);
opacity: .5;
display:inline;
}
.ie8 #fileList a.action:hover img,
#fileList tr:hover a.action:hover,
#fileList tr:focus a.action:focus,
#fileList .name:focus a.action:focus {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
filter: alpha(opacity=100);
opacity: 1;
display:inline;
}
.summary {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
filter: alpha(opacity=30);
opacity: .3;
/* add whitespace to bottom of files list to correctly show dropdowns */
height: 300px;
}
.summary:hover,
.summary:focus,
.summary,
table tr.summary td {
background-color: transparent;
}
.summary td {
border-bottom: none;
vertical-align: top;
padding-top: 20px;
}
.summary .info {
margin-left: 40px;
}
.has-favorites .summary .info {
margin-left: 90px;
}
#scanning-message{ top:40%; left:40%; position:absolute; display:none; }
table.dragshadow {
width:auto;
}
table.dragshadow td.filename {
padding-left:60px;
padding-right:16px;
height: 36px;
}
table.dragshadow td.size {
padding-right:8px;
}
#upgrade {
width: 400px;
position: absolute;
top: 200px;
left: 50%;
text-align: center;
margin-left: -200px;
}
.mask {
z-index: 50;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: white;
background-repeat: no-repeat no-repeat;
background-position: 50%;
opacity: 0.7;
filter: alpha(opacity=70);
transition: opacity 100ms;
-moz-transition: opacity 100ms;
-o-transition: opacity 100ms;
-ms-transition: opacity 100ms;
-webkit-transition: opacity 100ms;
}
.mask.transparent{
opacity: 0;
}