Cleanup HTML and CSS

This commit is contained in:
djmaze 2021-04-30 16:39:27 +02:00
parent d38a1acc24
commit 109c6b6ab5
28 changed files with 420 additions and 581 deletions

View file

@ -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);
} }
} }

View file

@ -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;

View file

@ -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;
}
} }
} }

View file

@ -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;
} }

View file

@ -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;
} }

View file

@ -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;

View file

@ -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 {

View file

@ -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;
} }

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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 {

View file

@ -21,8 +21,6 @@ class LoginAdminView extends AbstractViewCenter {
loginError: false, loginError: false,
passwordError: false, passwordError: false,
formHidden: false,
submitRequest: false, submitRequest: false,
submitError: '' submitError: ''
}); });

View file

@ -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: '',

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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">

View file

@ -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>

View file

@ -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">

View file

@ -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>&nbsp;<i class="icon-mail"></i></div> <div id="messagesDragImage"><span class="text"></span>&nbsp;<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>%

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>