feat search: search files, depth-first

feat files.view: Open files using Web Activities
feat copy/paste: Copy and Paste/Move files
fix filters: add "all" filter which clears filters out
This commit is contained in:
Mahdi Dibaiee
2015-09-06 15:53:48 +04:30
parent 764554c6b9
commit 7f6884cea8
50 changed files with 9157 additions and 5534 deletions

View File

@ -6,3 +6,4 @@
@import 'breadcrumb';
@import 'file-list';
@import 'dialog';
@import 'spinner';

View File

@ -4,7 +4,9 @@
align-items: center;
width: 100vw;
height: 3.5rem;
height: 4.5rem;
overflow-x: auto;
padding: 8px;
@ -16,6 +18,14 @@
border-bottom: 1px solid @dark-transparent;
overflow-x: scroll;
overflow-y: hidden;
white-space: nowrap;
span {
white-space: nowrap;
}
i {
margin: 0 2px;
}

View File

@ -8,8 +8,7 @@
transform: translate(-50%, -50%);
width: 335px;
width: 90vw;
height: auto;
padding: 1.5rem 1.7rem;
@ -18,9 +17,9 @@
.shadow-16;
z-index: 3;
z-index: 5;
transition: opacity 0.5s ease;
transition: opacity 0.3s ease;
opacity: 0;
pointer-events: none;

View File

@ -14,10 +14,14 @@
p {
flex: 1 1;
text-overflow: ellipsis;
}
> span {
.thin-small;
margin-left: 1rem;
}
i {

View File

@ -1,5 +1,5 @@
.file-list {
height: ~'calc(100vh - 13.5rem)';
height: ~'calc(100vh - 14.5rem)';
overflow-x: hidden;
overflow-y: auto;

View File

@ -15,6 +15,12 @@ header {
h1 {
margin-left: -3rem;
flex: 1;
}
i {
margin-right: 16px;
}
button {

View File

@ -13,7 +13,7 @@
opacity: 0;
transition: opacity 0.5s ease;
transition: opacity 0.3s ease;
.shadow-8;
@ -39,5 +39,11 @@
&:last-of-type {
border-bottom: none;
}
&.disabled {
color: @overlay;
pointer-events: none;
}
}
}

View File

@ -9,20 +9,28 @@ nav {
width: 70vw;
height: 100vh;
overflow-y: auto;
background: @dark;
color: white;
box-shadow: 3px 0 16px 5px @dark-transparent;
box-shadow: 3px 0 16px 5px transparent,
0 0 0 1000px rgba(0, 0, 0, 0);
z-index: 6;
transition: left 0.5s ease;
transition: left 0.3s ease, box-shadow 0.3s ease;
ul:last-of-type li:last-of-type {
margin-bottom: 13px;
}
&.active {
left: 0;
box-shadow: 3px 0 16px 5px @dark-transparent,
0 0 0 1000px rgba(0, 0, 0, 0.55);
i {
pointer-events: all;
opacity: 0.99;
}
}
@ -39,6 +47,8 @@ nav {
}
li {
display: flex;
.light-medium;
padding: 1rem 0 1rem 3rem;
@ -52,26 +62,27 @@ nav {
padding-bottom: 0;
border-bottom: none;
}
label {
flex: 1;
order: 0;
}
input {
order: 1;
}
}
i {
display: block;
position: fixed;
left: 0;
left: 70vw;
top: 0;
pointer-events: none;
width: 100vw;
width: 30vw;
height: 100vh;
background: rgba(0, 0, 0, 0.55);
opacity: 0;
z-index: -1;
transition: opacity 0.5s ease;
pointer-events: none;
}
}

View File

@ -0,0 +1,56 @@
.sk-cube-grid {
opacity: 0;
pointer-events: none;
width: 4rem;
height: 4rem;
position: fixed;
left: 50%;
top: 50%;
margin-top: -2rem;
margin-left: -2rem;
z-index: 5;
transition: opacity 0.3s ease;
&.show {
opacity: 1;
}
}
.sk-cube-grid .sk-cube {
width: 33.33%;
height: 33.33%;
background-color: #333;
float: left;
animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
}
.sk-cube-grid .sk-cube1 {
animation-delay: 0.2s; }
.sk-cube-grid .sk-cube2 {
animation-delay: 0.3s; }
.sk-cube-grid .sk-cube3 {
animation-delay: 0.4s; }
.sk-cube-grid .sk-cube4 {
animation-delay: 0.1s; }
.sk-cube-grid .sk-cube5 {
animation-delay: 0.2s; }
.sk-cube-grid .sk-cube6 {
animation-delay: 0.3s; }
.sk-cube-grid .sk-cube7 {
animation-delay: 0s; }
.sk-cube-grid .sk-cube8 {
animation-delay: 0.1s; }
.sk-cube-grid .sk-cube9 {
animation-delay: 0.2s; }
@keyframes sk-cubeGridScaleDelay {
0%, 70%, 100% {
transform: scale3D(1, 1, 1);
} 35% {
transform: scale3D(0, 0, 1);
}
}

View File

@ -50,3 +50,18 @@
width: 6px;
height: 24px;
}
.icon-search {
.icon;
background: url(/img/Search.svg) no-repeat;
width: 19px;
height: 27px;
}
.icon-cross {
.icon-plus;
transform: rotate(45deg);
svg * {
fill: white;
}
}

View File

@ -25,3 +25,9 @@ body {
flex-flow: column;
}
a {
color: currentColor;
text-decoration: none;
}

View File

@ -2,3 +2,37 @@
@import 'shadows';
@import 'buttons';
@import 'forms';
.coming-soon::after {
content: 'soon...';
background: @cream;
color: @dark;
padding: 2px 8px;
border-radius: 12px;
font-size: 11px;
font-weight: normal;
}
li.coming-soon::after {
margin-right: 13px;
float: right;
}
button.coming-soon {
position: relative;
}
button.coming-soon::after {
position: absolute;
left: 50%;
top: 50%;
opacity: 0.8;
transform: translate(-50%, -50%) rotate(-45deg);
}

View File

@ -14,9 +14,8 @@ input {
.light-medium;
}
label {
clear: left;
input[type='checkbox'] + label,
input[type='radio'] + label {
&::after {
content: '';
display: block;
@ -36,10 +35,8 @@ label {
}
}
input[type='checkbox'] {
clear: right;
float: right;
input[type='checkbox'],
input[type='radio'] {
display: none;
}

View File

@ -5,6 +5,7 @@
@gray: #F0F0F0;
@background: #FAFAFA;
@blue: #63B0CD;
@cream: #F7C59F;
@success: #B8E986;