mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-09-07 16:37:02 +03:00
Cleanup HTML and CSS
This commit is contained in:
parent
d38a1acc24
commit
109c6b6ab5
28 changed files with 420 additions and 581 deletions
|
|
@ -92,7 +92,7 @@ export class AbstractViewCenter extends AbstractView
|
||||||
{
|
{
|
||||||
constructor(name, templateID)
|
constructor(name, templateID)
|
||||||
{
|
{
|
||||||
super(name, templateID, ViewType.Center);
|
super(name, templateID, ViewType.Content);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ export const ViewType = {
|
||||||
Popup: 'Popups',
|
Popup: 'Popups',
|
||||||
Left: 'Left',
|
Left: 'Left',
|
||||||
Right: 'Right',
|
Right: 'Right',
|
||||||
Center: 'Center'
|
Content: 'Content'
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -76,7 +76,7 @@ function buildViewModel(ViewModelClass, vmScreen) {
|
||||||
let vmDom = null;
|
let vmDom = null;
|
||||||
const vm = new ViewModelClass(vmScreen),
|
const vm = new ViewModelClass(vmScreen),
|
||||||
position = vm.viewModelPosition || '',
|
position = vm.viewModelPosition || '',
|
||||||
vmPlace = position ? doc.querySelector('#rl-content #rl-' + position.toLowerCase()) : null;
|
vmPlace = position ? doc.getElementById('rl-' + position.toLowerCase()) : null;
|
||||||
|
|
||||||
ViewModelClass.__builded = true;
|
ViewModelClass.__builded = true;
|
||||||
ViewModelClass.__vm = vm;
|
ViewModelClass.__vm = vm;
|
||||||
|
|
|
||||||
|
|
@ -1,39 +1,15 @@
|
||||||
|
|
||||||
.b-admin-left {
|
#rl-left {
|
||||||
|
overflow: auto;
|
||||||
.b-toolbar {
|
padding-top: 50px + @rlLowMargin + 10px;
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
left: 0;
|
|
||||||
height: 34px;
|
|
||||||
padding: 8px 0 0 @rlLowMargin;
|
|
||||||
}
|
|
||||||
|
|
||||||
.b-content {
|
|
||||||
position: absolute;
|
|
||||||
top: 50px + @rlLowMargin + 10px;
|
|
||||||
bottom: @rlLowMargin;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
.content {
|
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.b-admin-menu {
|
|
||||||
|
|
||||||
|
nav {
|
||||||
a {
|
a {
|
||||||
color: var(--settings-menu-color, #333);
|
color: var(--settings-menu-color, #333);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
display: block;
|
display: block;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
height: 30px;
|
line-height: 30px;
|
||||||
line-height: 29px;
|
|
||||||
overflow: hidden;
|
|
||||||
padding: 4px 10px;
|
padding: 4px 10px;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
@ -47,6 +23,7 @@
|
||||||
background-color: var(--settings-menu-selected-bg-color, #333);
|
background-color: var(--settings-menu-selected-bg-color, #333);
|
||||||
color: var(--settings-menu-selected-color, #eee);
|
color: var(--settings-menu-selected-color, #eee);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.b-admin-right {
|
.b-admin-right {
|
||||||
|
|
@ -82,10 +59,6 @@
|
||||||
|
|
||||||
box-shadow: @rlMainShadow;
|
box-shadow: @rlMainShadow;
|
||||||
border-radius: @rlMainBorderRadius;
|
border-radius: @rlMainBorderRadius;
|
||||||
|
|
||||||
.content {
|
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ html.rl-started-delay {
|
||||||
|
|
||||||
@media screen and (min-width: 1000px) {
|
@media screen and (min-width: 1000px) {
|
||||||
|
|
||||||
html.rl-started-trigger .b-login-content .loginFormWrapper {
|
html.rl-started-trigger .b-login-content {
|
||||||
/*transform: scale(1.1);*/
|
/*transform: scale(1.1);*/
|
||||||
transform: translateY(-20px);
|
transform: translateY(-20px);
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
|
|
@ -40,11 +40,7 @@ html.rl-started-delay {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.b-login-content .afterLoginHide {
|
.b-login-content {
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.b-login-content .loginFormWrapper {
|
|
||||||
transition: all 0.3s ease-out;
|
transition: all 0.3s ease-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@
|
||||||
transition: margin 0.3s linear;
|
transition: margin 0.3s linear;
|
||||||
}
|
}
|
||||||
|
|
||||||
.b-folders .b-content.opacity-on-panel-disabled {
|
#rl-left .b-content {
|
||||||
transition: opacity 0.3s linear;
|
transition: opacity 0.3s linear;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -66,10 +66,6 @@
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
scroll-behavior: smooth;
|
scroll-behavior: smooth;
|
||||||
|
|
||||||
.content {
|
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
}
|
|
||||||
|
|
||||||
.listClear {
|
.listClear {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
|
@ -179,10 +175,6 @@
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
border-left: 1px solid rgba(128,128,128,0.25);
|
border-left: 1px solid rgba(128,128,128,0.25);
|
||||||
|
|
||||||
.content {
|
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
}
|
|
||||||
|
|
||||||
span {
|
span {
|
||||||
height: 20px;
|
height: 20px;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
|
|
|
||||||
|
|
@ -58,10 +58,6 @@
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
min-width: 100px;
|
min-width: 100px;
|
||||||
|
|
||||||
.content {
|
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
hr {
|
hr {
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
background-position: center;
|
background-position: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
#rl-center, #rl-left, #rl-right {
|
#rl-left, #rl-right {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
|
|
@ -17,23 +17,8 @@
|
||||||
z-index: 0;
|
z-index: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#rl-content {
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#rl-center {
|
|
||||||
min-width: 600px;
|
|
||||||
min-height: 400px;
|
|
||||||
}
|
|
||||||
|
|
||||||
html.rl-mobile {
|
html.rl-mobile {
|
||||||
|
|
||||||
#rl-center {
|
|
||||||
min-width: 250px;
|
|
||||||
min-height: 250px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:not(.rl-left-panel-disabled) #rl-right {
|
&:not(.rl-left-panel-disabled) #rl-right {
|
||||||
right: -150px;
|
right: -150px;
|
||||||
}
|
}
|
||||||
|
|
@ -218,11 +203,10 @@ html:not(.rl-left-panel-disabled) #rl-left.resizable > .resizer,
|
||||||
z-index: 1100;
|
z-index: 1100;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
background-color: rgba(0,0,0,0.3);
|
background-color: rgba(0,0,0,0.3);
|
||||||
// -webkit-overflow-scrolling: touch;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.b-settings-content {
|
#rl-settings-subscreen {
|
||||||
padding:20px 20px 20px 30px;
|
padding:20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown-menu * + .dividerbar {
|
.dropdown-menu * + .dividerbar {
|
||||||
|
|
@ -295,8 +279,8 @@ html:not(.rl-left-panel-disabled) #rl-left.resizable > .resizer,
|
||||||
left: 155px;
|
left: 155px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.b-settings-content {
|
#rl-settings-subscreen {
|
||||||
padding: 10px 10px 10px 20px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown-menu a {
|
.dropdown-menu a {
|
||||||
|
|
@ -319,7 +303,7 @@ html.rl-left-panel-disabled {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.opacity-on-panel-disabled {
|
.b-content {
|
||||||
opacity: 0.3;
|
opacity: 0.3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
background-position: center;
|
background-position: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
#rl-center, #rl-left, #rl-right {
|
#rl-left, #rl-right {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
|
|
@ -17,16 +17,6 @@
|
||||||
z-index: 0;
|
z-index: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#rl-content {
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#rl-center {
|
|
||||||
min-width: 600px;
|
|
||||||
min-height: 400px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#rl-left {
|
#rl-left {
|
||||||
width: @rlLeftWidth;
|
width: @rlLeftWidth;
|
||||||
}
|
}
|
||||||
|
|
@ -45,11 +35,10 @@
|
||||||
z-index: 1100;
|
z-index: 1100;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
background-color: rgba(0,0,0,0.3);
|
background-color: rgba(0,0,0,0.3);
|
||||||
// -webkit-overflow-scrolling: touch;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.b-settings-content {
|
#rl-settings-subscreen {
|
||||||
padding:20px 20px 20px 30px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* desktop */
|
/* desktop */
|
||||||
|
|
@ -72,13 +61,8 @@
|
||||||
|
|
||||||
/* mobile and tablet */
|
/* mobile and tablet */
|
||||||
@media screen and (max-width: 999px) {
|
@media screen and (max-width: 999px) {
|
||||||
.b-settings-content {
|
#rl-settings-subscreen {
|
||||||
padding: 10px 10px 10px 20px;
|
padding: 10px;
|
||||||
}
|
|
||||||
|
|
||||||
#rl-center {
|
|
||||||
min-width: 250px;
|
|
||||||
min-height: 250px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
html:not(.rl-left-panel-disabled) #rl-right {
|
html:not(.rl-left-panel-disabled) #rl-right {
|
||||||
|
|
@ -87,11 +71,7 @@
|
||||||
|
|
||||||
html.rl-left-panel-disabled {
|
html.rl-left-panel-disabled {
|
||||||
#rl-left {
|
#rl-left {
|
||||||
width: 0px !important;
|
width: 0 !important;
|
||||||
|
|
||||||
.opacity-on-panel-disabled {
|
|
||||||
opacity: 0.3;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#rl-right {
|
#rl-right {
|
||||||
left: 5px !important;
|
left: 5px !important;
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,12 @@
|
||||||
|
.RL-Login, .RL-AdminLogin {
|
||||||
.rl-view-model {
|
|
||||||
&.RL-Login, &.RL-AdminLogin {
|
|
||||||
position: fixed;
|
position: fixed;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
transform: translate(-50%, -50%);
|
transform: translate(-50%, -50%);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: 450px;
|
min-width: 250px;
|
||||||
|
max-width: 600px;
|
||||||
z-index: 5;
|
z-index: 5;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@glass-color: #fff;
|
@glass-color: #fff;
|
||||||
|
|
@ -17,9 +15,7 @@
|
||||||
|
|
||||||
.b-login-content {
|
.b-login-content {
|
||||||
|
|
||||||
.loginFormWrapper {
|
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
|
||||||
|
|
||||||
.descWrapper {
|
.descWrapper {
|
||||||
color: var(--loading-color, #000);
|
color: var(--loading-color, #000);
|
||||||
|
|
@ -29,13 +25,19 @@
|
||||||
text-shadow: var(--loading-text-shadow);
|
text-shadow: var(--loading-text-shadow);
|
||||||
}
|
}
|
||||||
|
|
||||||
.loginForm {
|
.controls, .control-group {
|
||||||
|
margin-bottom: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
form {
|
||||||
background-color: var(--login-bg-color, rgba(0, 0, 0, .5));
|
background-color: var(--login-bg-color, rgba(0, 0, 0, .5));
|
||||||
border: var(--login-border, 1px solid rgba(255, 255, 255, .2));
|
border: var(--login-border, 1px solid rgba(255, 255, 255, .2));
|
||||||
border-radius: var(--login-border-radius, 7px);
|
border-radius: var(--login-border-radius, 7px);
|
||||||
box-shadow: var(--login-box-shadow);
|
box-shadow: var(--login-box-shadow);
|
||||||
color: var(--login-color, @glass-m-color);
|
color: var(--login-color, @glass-m-color);
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
padding: 40px 40px 20px 40px;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
* {
|
* {
|
||||||
color: var(--login-color, @glass-m-color);
|
color: var(--login-color, @glass-m-color);
|
||||||
|
|
@ -52,14 +54,28 @@
|
||||||
border-color: @glass-error-color;
|
border-color: @glass-error-color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.submitting > * {
|
||||||
|
opacity: 0.3;
|
||||||
}
|
}
|
||||||
|
|
||||||
.controls, .control-group {
|
&.submitting::after{
|
||||||
margin-bottom: 25px;
|
content: '';
|
||||||
}
|
position: absolute;
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
margin-top: -30px;
|
||||||
|
margin-left: -30px;
|
||||||
|
|
||||||
.wrapper {
|
border: 8px solid transparent;
|
||||||
padding: 40px 40px 20px 40px;
|
border-top-color: var(--spinner-color, #fff);
|
||||||
|
animation: loginRotation 1s infinite ease-in-out;
|
||||||
|
|
||||||
|
border-radius: 50%;
|
||||||
|
z-index: 1052;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.controls {
|
.controls {
|
||||||
|
|
@ -158,8 +174,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 480px) {
|
@media screen and (max-width: 480px) {
|
||||||
.b-login-content .loginFormWrapper {
|
.b-login-content {
|
||||||
.wrapper {
|
form {
|
||||||
padding: 30px 4vw 10px;
|
padding: 30px 4vw 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -169,30 +185,6 @@
|
||||||
to {transform: rotate(1turn);}
|
to {transform: rotate(1turn);}
|
||||||
}
|
}
|
||||||
|
|
||||||
.submitting-pane {
|
|
||||||
position: relative;
|
|
||||||
&.submitting > * {
|
|
||||||
opacity: 0.3;
|
|
||||||
}
|
|
||||||
html &.submitting::after{
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
width: 60px;
|
|
||||||
height: 60px;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
margin-top: -30px;
|
|
||||||
margin-left: -30px;
|
|
||||||
|
|
||||||
border: 8px solid transparent;
|
|
||||||
border-top-color: var(--spinner-color, #fff);
|
|
||||||
animation: loginRotation 1s infinite ease-in-out;
|
|
||||||
|
|
||||||
border-radius: 50%;
|
|
||||||
z-index: 1052;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-submit-icon-wrp {
|
.btn-submit-icon-wrp {
|
||||||
border: none;
|
border: none;
|
||||||
background: none;
|
background: none;
|
||||||
|
|
|
||||||
|
|
@ -134,10 +134,6 @@ html.rl-no-preview-pane {
|
||||||
|
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|
||||||
.content {
|
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
}
|
|
||||||
|
|
||||||
.listClear {
|
.listClear {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
|
|
||||||
|
|
@ -57,10 +57,6 @@
|
||||||
color: #DA4F49;
|
color: #DA4F49;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
}
|
|
||||||
|
|
||||||
.message-fixed-button-toolbar {
|
.message-fixed-button-toolbar {
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
@ -190,7 +186,6 @@
|
||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
border-radius: @rlLowBorderRadius;
|
border-radius: @rlLowBorderRadius;
|
||||||
scroll-behavior: smooth;
|
scroll-behavior: smooth;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,11 @@
|
||||||
|
|
||||||
.b-settins-left {
|
.b-settins-left {
|
||||||
|
|
||||||
.b-toolbar {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
left: 0;
|
|
||||||
height: 34px;
|
|
||||||
padding: 8px 0 0 @rlLowMargin;
|
|
||||||
}
|
|
||||||
|
|
||||||
.b-footer {
|
.b-footer {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 20px;
|
bottom: 10px;
|
||||||
right: 0;
|
right: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
height: 20px;
|
|
||||||
padding: 0 10px 0 5px;
|
padding: 0 10px 0 5px;
|
||||||
z-index: 101;
|
z-index: 101;
|
||||||
}
|
}
|
||||||
|
|
@ -27,10 +17,6 @@
|
||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
.content {
|
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -86,10 +72,6 @@
|
||||||
border: @rlMainBorderSize solid @rlMainDarkColor;
|
border: @rlMainBorderSize solid @rlMainDarkColor;
|
||||||
box-shadow: @rlMainShadow;
|
box-shadow: @rlMainShadow;
|
||||||
border-radius: @rlMainBorderRadius;
|
border-radius: @rlMainBorderRadius;
|
||||||
|
|
||||||
.content {
|
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
td {
|
td {
|
||||||
|
|
|
||||||
|
|
@ -21,8 +21,6 @@ class LoginAdminView extends AbstractViewCenter {
|
||||||
loginError: false,
|
loginError: false,
|
||||||
passwordError: false,
|
passwordError: false,
|
||||||
|
|
||||||
formHidden: false,
|
|
||||||
|
|
||||||
submitRequest: false,
|
submitRequest: false,
|
||||||
submitError: ''
|
submitError: ''
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -46,8 +46,6 @@ class LoginUserView extends AbstractViewCenter {
|
||||||
emailError: false,
|
emailError: false,
|
||||||
passwordError: false,
|
passwordError: false,
|
||||||
|
|
||||||
formHidden: false,
|
|
||||||
|
|
||||||
submitRequest: false,
|
submitRequest: false,
|
||||||
submitError: '',
|
submitError: '',
|
||||||
submitErrorAddidional: '',
|
submitErrorAddidional: '',
|
||||||
|
|
|
||||||
|
|
@ -33,12 +33,10 @@
|
||||||
<div id="rl-loading-error" hidden="">An error occurred.<br>Please refresh the page and try again.</div>
|
<div id="rl-loading-error" hidden="">An error occurred.<br>Please refresh the page and try again.</div>
|
||||||
<div id="rl-content" hidden="">
|
<div id="rl-content" hidden="">
|
||||||
<div id="rl-popups"></div>
|
<div id="rl-popups"></div>
|
||||||
<div id="rl-center">
|
|
||||||
<div id="rl-left"></div>
|
<div id="rl-left"></div>
|
||||||
<div id="rl-right"></div>
|
<div id="rl-right"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
{{BaseTemplates}}
|
{{BaseTemplates}}
|
||||||
<script type="text/javascript">{{BaseAppBootScript}}{{BaseLanguage}}</script>
|
<script type="text/javascript">{{BaseAppBootScript}}{{BaseLanguage}}</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,9 @@
|
||||||
<div class="b-login-content">
|
<div class="b-login-content">
|
||||||
<div class="loginFormWrapper" data-bind="css: {'afterLoginHide': formHidden}">
|
|
||||||
<div class="alert" data-bind="hidden: !submitError()">
|
<div class="alert" data-bind="hidden: !submitError()">
|
||||||
<button type="button" class="close" data-bind="click: function () { submitError('') }">×</button>
|
<button type="button" class="close" data-bind="click: function () { submitError('') }">×</button>
|
||||||
<span data-bind="text: submitError"></span>
|
<span data-bind="text: submitError"></span>
|
||||||
</div>
|
</div>
|
||||||
<form class="wrapper submitting-pane loginForm" action="#/" data-bind="submit: submitForm, css: {'errorAnimated': formError, 'submitting': submitRequest()}">
|
<form action="#/" data-bind="submit: submitForm, css: {'errorAnimated': formError, 'submitting': submitRequest()}">
|
||||||
<div class="controls" data-bind="css: {'error': loginError}">
|
<div class="controls" data-bind="css: {'error': loginError}">
|
||||||
<div class="input-append">
|
<div class="input-append">
|
||||||
<input required="" type="text" class="input-block-level inputLogin"
|
<input required="" type="text" class="input-block-level inputLogin"
|
||||||
|
|
@ -34,5 +33,4 @@
|
||||||
data-i18n="LOGIN/BUTTON_LOGIN"></button>
|
data-i18n="LOGIN/BUTTON_LOGIN"></button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
|
||||||
<div>
|
<div>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,3 @@
|
||||||
<div class="b-admin-left">
|
<nav data-bind="foreach: menu">
|
||||||
<div class="b-content opacity-on-panel-disabled">
|
|
||||||
<nav class="b-admin-menu" data-bind="foreach: menu">
|
|
||||||
<a data-bind="css: {'selected': selected }, attr: { 'href': $root.link(route), 'data-i18n': label }"></a>
|
<a data-bind="css: {'selected': selected }, attr: { 'href': $root.link(route), 'data-i18n': label }"></a>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,6 @@
|
||||||
<a class="btn btn-logout fontastic" data-bind="click: logoutClick">⏻</a>
|
<a class="btn btn-logout fontastic" data-bind="click: logoutClick">⏻</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="b-content">
|
<div class="b-content">
|
||||||
<div class="content">
|
<div id="rl-settings-subscreen"></div>
|
||||||
<div class="content-wrapper">
|
|
||||||
<div id="rl-settings-subscreen" class="b-settings-content"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<div class="adminSecurity g-ui-user-select-none">
|
<div class="g-ui-user-select-none">
|
||||||
<div class="legend" data-i18n="TAB_SECURITY/LEGEND_SECURITY"></div>
|
<div class="legend" data-i18n="TAB_SECURITY/LEGEND_SECURITY"></div>
|
||||||
<div class="form-horizontal">
|
<div class="form-horizontal">
|
||||||
<div class="control-group">
|
<div class="control-group">
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,11 @@
|
||||||
<div class="b-login-content">
|
<div class="b-login-content">
|
||||||
<div class="loginFormWrapper" data-bind="css: {'afterLoginHide': formHidden}">
|
|
||||||
<div class="descWrapper" data-bind="visible: '' !== loadingDesc, text: loadingDesc"></div>
|
<div class="descWrapper" data-bind="visible: '' !== loadingDesc, text: loadingDesc"></div>
|
||||||
<div class="alert" data-bind="hidden: !submitError()" hidden="">
|
<div class="alert" data-bind="hidden: !submitError()" hidden="">
|
||||||
<button type="button" class="close" data-bind="click: function () { submitError('') }">×</button>
|
<button type="button" class="close" data-bind="click: function () { submitError('') }">×</button>
|
||||||
<span data-bind="text: submitError"></span>
|
<span data-bind="text: submitError"></span>
|
||||||
<p data-bind="visible: '' !== submitErrorAddidional(), text: submitErrorAddidional"></p>
|
<p data-bind="visible: '' !== submitErrorAddidional(), text: submitErrorAddidional"></p>
|
||||||
</div>
|
</div>
|
||||||
<form class="wrapper submitting-pane loginForm" action="#/"
|
<form action="#/"
|
||||||
data-bind="submit: submitForm, css: {'errorAnimated': formError, 'submitting': submitRequest()}">
|
data-bind="submit: submitForm, css: {'errorAnimated': formError, 'submitting': submitRequest()}">
|
||||||
<div class="controls" data-bind="css: {'error': emailError}">
|
<div class="controls" data-bind="css: {'error': emailError}">
|
||||||
<div class="input-append">
|
<div class="input-append">
|
||||||
|
|
@ -55,5 +54,4 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -6,16 +6,12 @@
|
||||||
</a>
|
</a>
|
||||||
<a class="btn buttonContacts fontastic" data-bind="visible: allowContacts, click: contactsClick" data-i18n="[title]GLOBAL/CONTACTS">📇</a>
|
<a class="btn buttonContacts fontastic" data-bind="visible: allowContacts, click: contactsClick" data-i18n="[title]GLOBAL/CONTACTS">📇</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="b-content opacity-on-panel-disabled" data-bind="css: {'inbox-is-starred': isInboxStarred}">
|
<div class="b-content" data-bind="css: {'inbox-is-starred': isInboxStarred}">
|
||||||
<div class="content">
|
|
||||||
<div class="content-wrapper">
|
|
||||||
<div class="b-folders-system" data-bind="template: { name: 'MailFolderListSystemItem', foreach: folderListSystem }"></div>
|
<div class="b-folders-system" data-bind="template: { name: 'MailFolderListSystemItem', foreach: folderListSystem }"></div>
|
||||||
<hr/>
|
<hr/>
|
||||||
<div class="b-folders-user" data-bind="template: { name: 'MailFolderListItem', foreach: folderList }"></div>
|
<div class="b-folders-user" data-bind="template: { name: 'MailFolderListItem', foreach: folderList }"></div>
|
||||||
<div class="move-action-content-wrapper" data-bind="visible: moveAction"></div>
|
<div class="move-action-content-wrapper" data-bind="visible: moveAction"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="b-content show-on-panel-disabled" data-bind="click: function () { leftPanelDisabled(false); }"></div>
|
<div class="b-content show-on-panel-disabled" data-bind="click: function () { leftPanelDisabled(false); }"></div>
|
||||||
<div class="b-footer btn-toolbar hide-mobile">
|
<div class="b-footer btn-toolbar hide-mobile">
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
|
|
|
||||||
|
|
@ -163,7 +163,7 @@
|
||||||
<div class="input-append" data-bind="visible: allowSearch">
|
<div class="input-append" data-bind="visible: allowSearch">
|
||||||
<div class="close-input-wrp">
|
<div class="close-input-wrp">
|
||||||
<a class="close" data-bind="click: cancelSearch, visible: '' !== messageListSearchDesc()">×</a>
|
<a class="close" data-bind="click: cancelSearch, visible: '' !== messageListSearchDesc()">×</a>
|
||||||
<input type="text" class="span4 inputSearch" tabindex="-1" placeholder="Search" autocorrect="off" autocapitalize="off" data-i18n="[placeholder]GLOBAL/SEARCH" data-bind="value: inputProxyMessageListSearch, onEnter: searchEnterAction, hasfocus: inputMessageListSearchFocus" />
|
<input type="search" class="span4 inputSearch" tabindex="-1" placeholder="Search" autocorrect="off" autocapitalize="off" data-i18n="[placeholder]GLOBAL/SEARCH" data-bind="value: inputProxyMessageListSearch, onEnter: searchEnterAction, hasfocus: inputMessageListSearchFocus" />
|
||||||
</div>
|
</div>
|
||||||
<a class="btn buttonMoreSearch" data-bind="visible: allowSearchAdv, click: advancedSearchClick">
|
<a class="btn buttonMoreSearch" data-bind="visible: allowSearchAdv, click: advancedSearchClick">
|
||||||
<span class="caret"></span>
|
<span class="caret"></span>
|
||||||
|
|
@ -172,8 +172,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="b-content" data-bind="initDom: dragOverBodyArea">
|
<div class="b-content" data-bind="initDom: dragOverBodyArea">
|
||||||
<div class="content">
|
|
||||||
<div class="content-wrapper">
|
|
||||||
<div class="listThreadUidDesc" data-bind="visible: '' !== messageListEndThreadUid(), click: cancelThreadUid">
|
<div class="listThreadUidDesc" data-bind="visible: '' !== messageListEndThreadUid(), click: cancelThreadUid">
|
||||||
<i class="fontastic" data-bind="click: cancelThreadUid">⬅</i>
|
<i class="fontastic" data-bind="click: cancelThreadUid">⬅</i>
|
||||||
<span data-i18n="MESSAGE_LIST/BACK_TO_MESSAGE_LIST"></span>
|
<span data-i18n="MESSAGE_LIST/BACK_TO_MESSAGE_LIST"></span>
|
||||||
|
|
@ -247,8 +245,6 @@
|
||||||
</div>
|
</div>
|
||||||
<div id="messagesDragImage"><span class="text"></span> <i class="icon-mail"></i></div>
|
<div id="messagesDragImage"><span class="text"></span> <i class="icon-mail"></i></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="b-footer thm-message-list-bottom-toolbar">
|
<div class="b-footer thm-message-list-bottom-toolbar">
|
||||||
<span data-bind="visible: 0 < userUsageProc(), attr: { title: quotaTooltip() }" class="e-quota">
|
<span data-bind="visible: 0 < userUsageProc(), attr: { title: quotaTooltip() }" class="e-quota">
|
||||||
<span data-bind="text: userUsageProc"></span>%
|
<span data-bind="text: userUsageProc"></span>%
|
||||||
|
|
|
||||||
|
|
@ -244,9 +244,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="messageItem fixIndex" data-bind="css: viewLineAsCss(), attr: {'style': 'top:' + viewBodyTopValue() + 'px' }">
|
<div class="messageItem fixIndex" data-bind="css: viewLineAsCss(), attr: {'style': 'top:' + viewBodyTopValue() + 'px' }">
|
||||||
<div class="content" tabindex="0" data-bind="hasfocus: messageDomFocused, css: { 'focused': messageDomFocused }">
|
<div tabindex="0" data-bind="hasfocus: messageDomFocused, css: { 'focused': messageDomFocused }">
|
||||||
|
|
||||||
<div class="content-wrapper">
|
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<span class="buttonFull" data-bind="click: toggleFullScreen">
|
<span class="buttonFull" data-bind="click: toggleFullScreen">
|
||||||
|
|
@ -260,7 +258,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="g-ui-min-height-300 content-content" data-bind="visible: !messageLoadingThrottle()">
|
<div class="g-ui-min-height-300" data-bind="visible: !messageLoadingThrottle()">
|
||||||
<div class="bodySubHeader">
|
<div class="bodySubHeader">
|
||||||
<div class="showImages" data-bind="visible: message() && message().hasImages(), click: function() { showImages(message()); }">
|
<div class="showImages" data-bind="visible: message() && message().hasImages(), click: function() { showImages(message()); }">
|
||||||
<i class="fontastic">🖼</i>
|
<i class="fontastic">🖼</i>
|
||||||
|
|
@ -326,5 +324,4 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -161,8 +161,6 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="attachmentAreaParent b-content" data-bind="visible: attachmentsPlace">
|
<div class="attachmentAreaParent b-content" data-bind="visible: attachmentsPlace">
|
||||||
<div class="content">
|
|
||||||
<div class="content-wrapper">
|
|
||||||
<div class="b-attachment-place" data-bind="visible: addAttachmentEnabled() && dragAndDropEnabled() && dragAndDropVisible(), initDom: composeUploaderDropPlace, css: {'dragAndDropOver': dragAndDropOver}"
|
<div class="b-attachment-place" data-bind="visible: addAttachmentEnabled() && dragAndDropEnabled() && dragAndDropVisible(), initDom: composeUploaderDropPlace, css: {'dragAndDropOver': dragAndDropOver}"
|
||||||
data-i18n="COMPOSE/ATTACH_DROP_FILES_DESC"></div>
|
data-i18n="COMPOSE/ATTACH_DROP_FILES_DESC"></div>
|
||||||
<ul class="attachmentList" data-bind="foreach: attachments">
|
<ul class="attachmentList" data-bind="foreach: attachments">
|
||||||
|
|
@ -186,8 +184,6 @@
|
||||||
<div class="no-attachments-desc" data-bind="visible: 0 === attachments().length"
|
<div class="no-attachments-desc" data-bind="visible: 0 === attachments().length"
|
||||||
data-i18n="COMPOSE/NO_ATTACHMENTS_HERE_DESC"></div>
|
data-i18n="COMPOSE/NO_ATTACHMENTS_HERE_DESC"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="textAreaParent" data-bind="visible: !attachmentsPlace(), initDom: composeEditorArea"></div>
|
<div class="textAreaParent" data-bind="visible: !attachmentsPlace(), initDom: composeEditorArea"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,6 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="b-list-content g-ui-user-select-none" data-bind="css: {'hideContactListCheckbox': !useCheckboxesInList()}">
|
<div class="b-list-content g-ui-user-select-none" data-bind="css: {'hideContactListCheckbox': !useCheckboxesInList()}">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="content-wrapper">
|
|
||||||
<div class="listClear" data-bind="visible: viewClearSearch() && '' !== search()">
|
<div class="listClear" data-bind="visible: viewClearSearch() && '' !== search()">
|
||||||
<span class="g-ui-link" data-i18n="CONTACTS/CLEAR_SEARCH" data-bind="command: clearCommand"></span>
|
<span class="g-ui-link" data-i18n="CONTACTS/CLEAR_SEARCH" data-bind="command: clearCommand"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -74,7 +73,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="b-list-footer-toolbar thm-message-list-bottom-toolbar">
|
<div class="b-list-footer-toolbar thm-message-list-bottom-toolbar">
|
||||||
<div class="footer-pager">
|
<div class="footer-pager">
|
||||||
<!-- ko template: { name: 'Paginator', data: contactsPaginator } --><!-- /ko -->
|
<!-- ko template: { name: 'Paginator', data: contactsPaginator } --><!-- /ko -->
|
||||||
|
|
@ -127,8 +125,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="b-view-content" data-bind="css: {'read-only': viewReadOnly}">
|
<div class="b-view-content" data-bind="css: {'read-only': viewReadOnly}">
|
||||||
<div class="content">
|
|
||||||
<div class="content-wrapper">
|
|
||||||
<div class="b-contact-view-desc" data-bind="visible: emptySelection"
|
<div class="b-contact-view-desc" data-bind="visible: emptySelection"
|
||||||
data-i18n="CONTACTS/CONTACT_VIEW_DESC"></div>
|
data-i18n="CONTACTS/CONTACT_VIEW_DESC"></div>
|
||||||
<div data-bind="visible: !emptySelection()">
|
<div data-bind="visible: !emptySelection()">
|
||||||
|
|
@ -209,6 +205,4 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,13 @@
|
||||||
<div class="b-settins-left">
|
<div class="b-settins-left">
|
||||||
<div class="b-content opacity-on-panel-disabled">
|
<div class="b-content">
|
||||||
<nav class="b-settings-menu" data-bind="foreach: menu">
|
<nav class="b-settings-menu" data-bind="foreach: menu">
|
||||||
<a data-bind="css: {'selected': selected }, attr: { 'href': $root.link(route), 'data-i18n': label }"></a>
|
<a data-bind="css: {'selected': selected }, attr: { 'href': $root.link(route), 'data-i18n': label }"></a>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
<div class="b-content show-on-panel-disabled" data-bind="click: function () { leftPanelDisabled(false); }"></div>
|
<div class="b-content show-on-panel-disabled" data-bind="click: function () { leftPanelDisabled(false); }"></div>
|
||||||
<div class="b-footer">
|
<div class="b-footer">
|
||||||
<div class="btn-toolbar">
|
|
||||||
<div class="btn-group">
|
|
||||||
<a class="btn buttonResize" data-bind="click: function () { leftPanelDisabled(!leftPanelDisabled()); }">
|
<a class="btn buttonResize" data-bind="click: function () { leftPanelDisabled(!leftPanelDisabled()); }">
|
||||||
<i data-bind="css: {'icon-resize-out': leftPanelDisabled(), 'icon-resize-in': !leftPanelDisabled()}"></i>
|
<i data-bind="css: {'icon-resize-out': leftPanelDisabled(), 'icon-resize-in': !leftPanelDisabled()}"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -14,10 +14,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="b-content">
|
<div class="b-content">
|
||||||
<div class="content">
|
<div id="rl-settings-subscreen"></div>
|
||||||
<div class="content-wrapper">
|
|
||||||
<div id="rl-settings-subscreen" class="b-settings-content"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue