mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Drop bootstrap .well and .pull-left
Reduce bootstrap .pull-right usage
This commit is contained in:
parent
d64cfb96ad
commit
99c72ad9e6
29 changed files with 348 additions and 391 deletions
|
|
@ -15,7 +15,6 @@
|
||||||
@import "../../vendors/bootstrap/less/button-groups.less";
|
@import "../../vendors/bootstrap/less/button-groups.less";
|
||||||
@import "../../vendors/bootstrap/less/alerts.less";
|
@import "../../vendors/bootstrap/less/alerts.less";
|
||||||
@import "../../vendors/bootstrap/less/utilities.less";
|
@import "../../vendors/bootstrap/less/utilities.less";
|
||||||
@import "../../vendors/bootstrap/less/wells.less";
|
|
||||||
|
|
||||||
@import "_FontasticToBoot.less";
|
@import "_FontasticToBoot.less";
|
||||||
@import "_BootstrapFix.less";
|
@import "_BootstrapFix.less";
|
||||||
|
|
|
||||||
|
|
@ -10,33 +10,32 @@
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
table {
|
||||||
|
|
||||||
.b-admin-packages-list-table {
|
|
||||||
|
|
||||||
width: 700px;
|
width: 700px;
|
||||||
|
|
||||||
.package-img {
|
div:first-child {
|
||||||
font-size: 12px;
|
display: flex;
|
||||||
margin-right: 2px;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.package-name {
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
.package-name.core {
|
.package-name.core {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
.package-desc {
|
.package-desc {
|
||||||
color: #999;
|
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
opacity: 0.7;
|
||||||
}
|
}
|
||||||
|
|
||||||
.package-release, .package-actions {
|
td + td {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
|
||||||
.package-actions {
|
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
.package-configure, .package-active {
|
a {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
margin-right: 1em;
|
margin-right: 1em;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,29 +16,21 @@
|
||||||
transition: left 0.3s ease-out, right 0.3s ease-out;
|
transition: left 0.3s ease-out, right 0.3s ease-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 1000px) {
|
html.rl-started-trigger .LoginView {
|
||||||
|
|
||||||
html.rl-started-trigger .LoginView {
|
|
||||||
/*transform: scale(1.1);*/
|
/*transform: scale(1.1);*/
|
||||||
transform: translateY(-20px);
|
transform: translateY(-20px);
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.LoginView .errorAnimated {
|
.LoginView .errorAnimated {
|
||||||
animation: login-form-shake 400ms ease-in-out;
|
animation: login-form-shake 400ms ease-in-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
.LoginView .errorAnimated .buttonLogin {
|
.LoginView .errorAnimated .buttonLogin {
|
||||||
color: #b94a48;
|
color: #b94a48;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.LoginView {
|
.LoginView {
|
||||||
transition: all 0.3s ease-out;
|
transition: all 0.3s ease-out;
|
||||||
}
|
|
||||||
|
|
||||||
.button-delete-transitions {
|
|
||||||
transition: all 0.2s linear;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,7 @@ textarea + .settings-save-trigger {
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-confirm-delete {
|
.button-confirm-delete {
|
||||||
|
transition: all 0.2s linear;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
.button-confirm-delete:not(.delete-access) {
|
.button-confirm-delete:not(.delete-access) {
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,6 @@
|
||||||
|
|
||||||
@media screen and (min-width: 1000px) {
|
@media screen and (min-width: 1000px) {
|
||||||
|
|
||||||
.button-delete-transitions {
|
|
||||||
transition: all 0.2s linear;
|
|
||||||
}
|
|
||||||
|
|
||||||
.b-folders li .anim-action-class {
|
.b-folders li .anim-action-class {
|
||||||
animation: highlight-folder-row 0.5s linear;
|
animation: highlight-folder-row 0.5s linear;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,7 @@ html.rl-no-preview-pane {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
.b-footer {
|
.b-footer {
|
||||||
|
display: flex;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
padding: 7px;
|
padding: 7px;
|
||||||
|
|
||||||
|
|
@ -51,6 +52,11 @@ html.rl-no-preview-pane {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.b-footer nav {
|
||||||
|
flex-grow: 1;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
.btn.buttonMoreSearch {
|
.btn.buttonMoreSearch {
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
padding-left: 8px;
|
padding-left: 8px;
|
||||||
|
|
@ -58,6 +64,7 @@ html.rl-no-preview-pane {
|
||||||
}
|
}
|
||||||
|
|
||||||
.second-toolbar {
|
.second-toolbar {
|
||||||
|
display: flex;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
padding: 10px 8px 10px 11px;
|
padding: 10px 8px 10px 11px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
|
@ -68,26 +75,35 @@ html.rl-no-preview-pane {
|
||||||
border-top-right-radius: @rlMainBorderRadius;
|
border-top-right-radius: @rlMainBorderRadius;
|
||||||
border-top-left-radius: @rlMainBorderRadius;
|
border-top-left-radius: @rlMainBorderRadius;
|
||||||
border-bottom: 1px solid #bbb;
|
border-bottom: 1px solid #bbb;
|
||||||
|
}
|
||||||
|
|
||||||
.checkboxCheckAll {
|
.checkboxCheckAll {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
vertical-align: middle
|
margin: 0.5em 0.5em 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.input-append {
|
.search-input-wrp {
|
||||||
margin-left: 14px;
|
flex-grow: 1;
|
||||||
|
position: relative;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
width: calc(100% - 30px);
|
|
||||||
|
|
||||||
.close-input-wrp {
|
|
||||||
width: 90%;
|
|
||||||
min-width: 200px;
|
|
||||||
max-width: 300px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.inputSearch {
|
.inputSearch {
|
||||||
|
display: inline-block;
|
||||||
|
max-width: 300px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.closeSearch {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 5px;
|
||||||
|
margin: 0 7px;
|
||||||
|
z-index: 100;
|
||||||
|
vertical-align: middle;
|
||||||
|
opacity: .4;
|
||||||
|
&:hover {
|
||||||
|
opacity: .6;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -80,10 +80,6 @@
|
||||||
border-radius: @rlMainBorderRadius;
|
border-radius: @rlMainBorderRadius;
|
||||||
}
|
}
|
||||||
|
|
||||||
html.rl-mobile #rl-settings-subscreen > * {
|
|
||||||
margin-right: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.firefox-drag #rl-settings-subscreen,
|
.firefox-drag #rl-settings-subscreen,
|
||||||
.firefox-drag .modal-body {
|
.firefox-drag .modal-body {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
|
||||||
|
|
@ -26,10 +26,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
td + td {
|
td + td {
|
||||||
width: 150px;
|
text-align: right;
|
||||||
}
|
}
|
||||||
td + td + td {
|
td + td + td {
|
||||||
width: 1%;
|
width: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.delete {
|
.delete {
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
td + td {
|
td + td {
|
||||||
|
white-space: nowrap;
|
||||||
width: 1em;
|
width: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,7 @@
|
||||||
|
|
||||||
blockquote {
|
blockquote {
|
||||||
border: 0;
|
border: 0;
|
||||||
border-left: solid 2px #444;
|
border-left: 2px solid #444;
|
||||||
margin: 5px 0 5px 5px;
|
margin: 5px 0 5px 5px;
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -59,25 +59,3 @@ label.inline, span.inline {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.close-input-wrp {
|
|
||||||
display: inline-block;
|
|
||||||
position: relative;
|
|
||||||
|
|
||||||
input {
|
|
||||||
padding-right: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.close {
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
top: 5px;
|
|
||||||
margin: 0 7px;
|
|
||||||
z-index: 100;
|
|
||||||
vertical-align: middle;
|
|
||||||
opacity: .4;
|
|
||||||
&:hover {
|
|
||||||
opacity: .6;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
<div class="b-settings-two-factor">
|
<div class="b-settings-two-factor form-horizontal">
|
||||||
<div class="form-horizontal">
|
|
||||||
<div class="legend" data-i18n="POPUPS_TWO_FACTOR_CFG/LEGEND_TWO_FACTOR_AUTH"></div>
|
<div class="legend" data-i18n="POPUPS_TWO_FACTOR_CFG/LEGEND_TWO_FACTOR_AUTH"></div>
|
||||||
<div class="form-horizontal">
|
<div class="form-horizontal">
|
||||||
<div class="control-group" data-bind="visible: twoFactorStatus">
|
<div class="control-group" data-bind="visible: twoFactorStatus">
|
||||||
|
|
@ -72,7 +71,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a class="btn pull-left" data-bind="visible: lock, click: logout">
|
<a class="btn" data-bind="visible: lock, click: logout">
|
||||||
<i class="fontastic">⏻</i>
|
<i class="fontastic">⏻</i>
|
||||||
<span data-i18n="GLOBAL/LOGOUT"></span>
|
<span data-i18n="GLOBAL/LOGOUT"></span>
|
||||||
</a>
|
</a>
|
||||||
|
|
@ -90,5 +89,4 @@
|
||||||
<span data-i18n="GLOBAL/DONE"></span>
|
<span data-i18n="GLOBAL/DONE"></span>
|
||||||
</a>
|
</a>
|
||||||
-->
|
-->
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -294,7 +294,7 @@ trait UserAuth
|
||||||
$this->ClearSignMeData($oAccount);
|
$this->ClearSignMeData($oAccount);
|
||||||
|
|
||||||
$uuid = \SnappyMail\UUID::generate();
|
$uuid = \SnappyMail\UUID::generate();
|
||||||
$salt = \sha1(\microtime(true));
|
$salt = \sha1(\random_bytes(16));
|
||||||
Utils::SetCookie(self::AUTH_SIGN_ME_TOKEN_KEY,
|
Utils::SetCookie(self::AUTH_SIGN_ME_TOKEN_KEY,
|
||||||
Utils::EncodeKeyValuesQ(array(
|
Utils::EncodeKeyValuesQ(array(
|
||||||
'e' => $oAccount->Email(),
|
'e' => $oAccount->Email(),
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
<span class="domain-alias" data-bind="if: alias">(alias)</span>
|
<span class="domain-alias" data-bind="if: alias">(alias)</span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a class="btn btn-small btn-small-small btn-danger button-confirm-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: function(oDomain) { $root.deleteDomain(oDomain); }"
|
<a class="btn btn-small btn-small-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': deleteAccess()}, click: function(oDomain) { $root.deleteDomain(oDomain); }"
|
||||||
data-i18n="TAB_DOMAINS/DELETE_ARE_YOU_SURE"></a>
|
data-i18n="TAB_DOMAINS/DELETE_ARE_YOU_SURE"></a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,7 @@
|
||||||
<span data-bind="saveTrigger: attachmentLimitTrigger"></span>
|
<span data-bind="saveTrigger: attachmentLimitTrigger"></span>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<span class="well" data-bind="visible: '' !== uploadDataDesc">
|
<span class="alert alert-info" data-bind="visible: '' !== uploadDataDesc">
|
||||||
<b>PHP:</b>
|
<b>PHP:</b>
|
||||||
|
|
||||||
<span data-bind="text: uploadDataDesc"></span>
|
<span data-bind="text: uploadDataDesc"></span>
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<!-- ko text: packages.error() --><!-- /ko -->
|
<!-- ko text: packages.error() --><!-- /ko -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="alert" style="margin-top: 10px;" data-bind="visible: '' !== packagesError()">
|
<div class="alert" style="margin-top: 10px;" data-bind="visible: packagesError()">
|
||||||
<button type="button" class="close" data-bind="click: function () { packagesError('') }">×</button>
|
<button type="button" class="close" data-bind="click: function () { packagesError('') }">×</button>
|
||||||
<span data-bind="text: packagesError"></span>
|
<span data-bind="text: packagesError"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<div data-bind="visible: 0 < packagesAvailableForUpdate().length">
|
<div data-bind="visible: packagesAvailableForUpdate().length">
|
||||||
<div class="legend">
|
<div class="legend">
|
||||||
<span data-i18n="TAB_PACKAGES/LEGEND_AVAILABLE_FOR_UPDATE"></span>
|
<span data-i18n="TAB_PACKAGES/LEGEND_AVAILABLE_FOR_UPDATE"></span>
|
||||||
(<span data-bind="text: packagesAvailableForUpdate().length"></span>)
|
(<span data-bind="text: packagesAvailableForUpdate().length"></span>)
|
||||||
|
|
@ -29,13 +29,13 @@
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="packages-installed" data-bind="visible: 0 < packagesCurrent().length, css: {'disabled': !enabledPlugins()}">
|
<div id="packages-installed" data-bind="visible: packagesCurrent().length, css: {'disabled': !enabledPlugins()}">
|
||||||
<div class="legend" data-i18n="TAB_PACKAGES/LEGEND_INSTALLED_PACKAGES"></div>
|
<div class="legend" data-i18n="TAB_PACKAGES/LEGEND_INSTALLED_PACKAGES"></div>
|
||||||
<div data-bind="template: { name: 'AdminSettingsPackagesTable', data: {f: packagesCurrent} }"></div>
|
<div data-bind="template: { name: 'AdminSettingsPackagesTable', data: {f: packagesCurrent} }"></div>
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div data-bind="visible: 0 < packagesAvailableForInstallation().length">
|
<div data-bind="visible: packagesAvailableForInstallation().length">
|
||||||
<div class="legend" data-i18n="TAB_PACKAGES/LEGEND_AVAILABLE_FOR_INSTALLATION"></div>
|
<div class="legend" data-i18n="TAB_PACKAGES/LEGEND_AVAILABLE_FOR_INSTALLATION"></div>
|
||||||
<div data-bind="template: { name: 'AdminSettingsPackagesTable', data: {f: packagesAvailableForInstallation} }"></div>
|
<div data-bind="template: { name: 'AdminSettingsPackagesTable', data: {f: packagesAvailableForInstallation} }"></div>
|
||||||
<br />
|
<br />
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<table class="table table-hover table-bordered b-admin-packages-list-table" data-bind="i18nUpdate: f">
|
<table class="table table-hover table-bordered" data-bind="i18nUpdate: f">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col />
|
<col />
|
||||||
<col style="width: 100px" />
|
<col style="width: 100px" />
|
||||||
|
|
@ -7,17 +7,19 @@
|
||||||
<tbody data-bind="foreach: f">
|
<tbody data-bind="foreach: f">
|
||||||
<tr data-bind="css: {'disabled': !enabled() }">
|
<tr data-bind="css: {'disabled': !enabled() }">
|
||||||
<td>
|
<td>
|
||||||
|
<div>
|
||||||
<span class="package-name" data-bind="text: name"></span>
|
<span class="package-name" data-bind="text: name"></span>
|
||||||
<span class="package-installed pull-right" data-bind="text: installed"></span>
|
<a class="package-configure fontastic" data-bind="visible: installed">⚙</a>
|
||||||
<span class="package-active pull-right fontastic" data-bind="visible: installed, text: enabled() ? '☑' : '☐'"></span>
|
<a class="package-active fontastic" data-bind="visible: installed, text: enabled() ? '☑' : '☐'"></a>
|
||||||
<span class="package-configure pull-right fontastic" data-bind="visible: installed">⚙</span>
|
<span class="package-installed" data-bind="text: installed"></span>
|
||||||
|
</div>
|
||||||
<div class="package-desc" data-bind="text: desc"></div>
|
<div class="package-desc" data-bind="text: desc"></div>
|
||||||
</td>
|
</td>
|
||||||
<td class="package-version" data-bind="text: version"></td>
|
<td data-bind="text: version"></td>
|
||||||
<td class="package-actions">
|
<td>
|
||||||
<i class="icon-download e-action button-download" data-bind="visible: !loading() && canBeUpdated, click: function () { $root.installPackage($data); }"></i>
|
<a class="icon-download button-download" data-bind="visible: !loading() && canBeUpdated, click: function () { $root.installPackage($data); }"></a>
|
||||||
|
|
||||||
<i class="fontastic e-action button-delete" data-bind="visible: !loading() && canBeDeleted, click: function () { $root.deletePackage($data); }">🗑</i>
|
<a class="fontastic button-delete" data-bind="visible: !loading() && canBeDeleted, click: function () { $root.deletePackage($data); }">🗑</a>
|
||||||
<i class="icon-spinner" data-bind="visible: loading"></i>
|
<i class="icon-spinner" data-bind="visible: loading"></i>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,8 @@
|
||||||
<div data-bind="css: {'domain-edit': edit}">
|
<header>
|
||||||
<header>
|
|
||||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||||
<h3 data-bind="text: headerText"></h3>
|
<h3 data-bind="text: headerText"></h3>
|
||||||
</header>
|
</header>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<div class="row" data-bind="visible: !edit()" style="margin-bottom: 20px;">
|
<div class="row" data-bind="visible: !edit()" style="margin-bottom: 20px;">
|
||||||
<div class="span5">
|
<div class="span5">
|
||||||
<span data-i18n="POPUPS_DOMAIN/LABEL_NAME"></span>
|
<span data-i18n="POPUPS_DOMAIN/LABEL_NAME"></span>
|
||||||
|
|
@ -185,9 +184,9 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
<a class="btn button-test-connection pull-left" data-bind="command: testConnectionCommand, css: {
|
<a class="btn button-test-connection" data-bind="command: testConnectionCommand, css: {
|
||||||
'btn-success': testingDone() && !testingImapError() && !testingSmtpError(),
|
'btn-success': testingDone() && !testingImapError() && !testingSmtpError(),
|
||||||
'btn-danger': testingDone() && (testingImapError() || testingSmtpError()) }">
|
'btn-danger': testingDone() && (testingImapError() || testingSmtpError()) }">
|
||||||
<i class="fontastic" data-bind="css: {'icon-spinner': testing()}">ℹ</i>
|
<i class="fontastic" data-bind="css: {'icon-spinner': testing()}">ℹ</i>
|
||||||
|
|
@ -205,5 +204,4 @@
|
||||||
<i class="fontastic" data-bind="css: {'icon-spinner': saving()}">✚</i>
|
<i class="fontastic" data-bind="css: {'icon-spinner': saving()}">✚</i>
|
||||||
<span data-i18n="POPUPS_DOMAIN/BUTTON_ADD"></span>
|
<span data-i18n="POPUPS_DOMAIN/BUTTON_ADD"></span>
|
||||||
</a>
|
</a>
|
||||||
</footer>
|
</footer>
|
||||||
</div>
|
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
</header>
|
</header>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form class="form-horizontal plugin-form" action="#/" onsubmit="return false;">
|
<form class="form-horizontal plugin-form" action="#/" onsubmit="return false;">
|
||||||
<div class="well" data-bind="visible: !hasConfiguration()" data-i18n="POPUPS_PLUGIN/DESC_NOTHING_TO_CONFIGURE"></div>
|
<div class="alert alert-info" data-bind="visible: !hasConfiguration()" data-i18n="POPUPS_PLUGIN/DESC_NOTHING_TO_CONFIGURE"></div>
|
||||||
<div class="alert" data-bind="visible: '' !== saveError()">
|
<div class="alert" data-bind="visible: '' !== saveError()">
|
||||||
<button type="button" class="close" data-bind="click: function () { saveError('') }">×</button>
|
<button type="button" class="close" data-bind="click: function () { saveError('') }">×</button>
|
||||||
<span data-bind="text: saveError"></span>
|
<span data-bind="text: saveError"></span>
|
||||||
|
|
|
||||||
|
|
@ -153,19 +153,17 @@
|
||||||
|
|
||||||
<div class="messageList g-ui-user-select-none" data-bind="css: {'hideMessageListCheckbox': !useCheckboxesInList() }">
|
<div class="messageList g-ui-user-select-none" data-bind="css: {'hideMessageListCheckbox': !useCheckboxesInList() }">
|
||||||
<div class="second-toolbar thm-message-list-top-toolbar">
|
<div class="second-toolbar thm-message-list-top-toolbar">
|
||||||
<div class="form-inline">
|
|
||||||
<i class="checkboxCheckAll fontastic" data-bind="text: checkAll() ? (isIncompleteChecked() ? '▣' : '☑') : '☐'"></i>
|
<i class="checkboxCheckAll fontastic" data-bind="text: checkAll() ? (isIncompleteChecked() ? '▣' : '☑') : '☐'"></i>
|
||||||
<div class="input-append" data-bind="visible: allowSearch">
|
<!-- ko if: allowSearch -->
|
||||||
<div class="close-input-wrp">
|
<div class="search-input-wrp">
|
||||||
<a class="close" data-bind="click: cancelSearch, visible: '' !== messageListSearchDesc()">×</a>
|
<input type="search" class="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" />
|
<a class="closeSearch" data-bind="click: cancelSearch, visible: messageListSearchDesc()">×</a>
|
||||||
</div>
|
</div>
|
||||||
<a class="btn buttonMoreSearch" data-bind="visible: allowSearchAdv, click: advancedSearchClick">▼</a>
|
<a class="btn buttonMoreSearch" data-bind="visible: allowSearchAdv, click: advancedSearchClick">▼</a>
|
||||||
</div>
|
<!-- /ko -->
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="b-content" data-bind="initDom: dragOverBodyArea">
|
<div class="b-content" data-bind="initDom: dragOverBodyArea">
|
||||||
<div class="listThreadUidDesc" data-bind="visible: 0 < messageListEndThreadUid(), click: cancelThreadUid">
|
<div class="listThreadUidDesc" data-bind="visible: messageListEndThreadUid(), click: cancelThreadUid">
|
||||||
<i class="fontastic">⬅</i>
|
<i class="fontastic">⬅</i>
|
||||||
<span data-i18n="MESSAGE_LIST/BACK_TO_MESSAGE_LIST"></span>
|
<span data-i18n="MESSAGE_LIST/BACK_TO_MESSAGE_LIST"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -224,13 +222,11 @@
|
||||||
<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 class="b-footer thm-message-list-bottom-toolbar">
|
<div class="b-footer thm-message-list-bottom-toolbar">
|
||||||
<!-- ko if: 0 < userUsageProc() -->
|
<!-- ko if: userUsageProc() -->
|
||||||
<span data-bind="attr: { title: quotaTooltip() }" class="e-quota">
|
<span data-bind="attr: { title: quotaTooltip() }" class="e-quota">
|
||||||
<!-- ko text: userUsageProc --><!-- /ko -->%
|
<!-- ko text: userUsageProc --><!-- /ko -->%
|
||||||
</span>
|
</span>
|
||||||
<!-- /ko -->
|
<!-- /ko -->
|
||||||
<div class="pull-right">
|
|
||||||
<!-- ko template: { name: 'Paginator', data: messageListPaginator } --><!-- /ko -->
|
<!-- ko template: { name: 'Paginator', data: messageListPaginator } --><!-- /ko -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
<a class="close" data-bind="click: tryToClosePopup" data-i18n="[title]GLOBAL/CANCEL">×</a>
|
<a class="close" data-bind="click: tryToClosePopup" data-i18n="[title]GLOBAL/CANCEL">×</a>
|
||||||
<a class="minimize-custom" data-bind="click: skipCommand" data-i18n="[title]COMPOSE/BUTTON_MINIMIZE"></a>
|
<a class="minimize-custom" data-bind="click: skipCommand" data-i18n="[title]COMPOSE/BUTTON_MINIMIZE"></a>
|
||||||
|
|
||||||
<a class="btn btn-danger button-delete button-delete-transitions" data-bind="command: deleteCommand">
|
<a class="btn btn-danger button-delete" data-bind="command: deleteCommand">
|
||||||
<i class="fontastic">🗑</i>
|
<i class="fontastic">🗑</i>
|
||||||
</a>
|
</a>
|
||||||
<span class="saved-text hide-mobile" data-bind="text: savedTimeText"></span>
|
<span class="saved-text hide-mobile" data-bind="text: savedTimeText"></span>
|
||||||
|
|
@ -124,8 +124,8 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td>
|
<td style="display:flex">
|
||||||
<div class="btn-group pull-left">
|
<div class="btn-group" style="flex-grow:1">
|
||||||
<button type="button" class="btn" data-bind="click: function () { attachmentsPlace(false); },
|
<button type="button" class="btn" data-bind="click: function () { attachmentsPlace(false); },
|
||||||
css: { 'active': !attachmentsPlace() }">
|
css: { 'active': !attachmentsPlace() }">
|
||||||
<i class="icon-file-text"></i>
|
<i class="icon-file-text"></i>
|
||||||
|
|
@ -140,7 +140,7 @@
|
||||||
<i data-bind="css: { 'icon-attachment': 0 === attachmentsInProcessCount(), 'icon-spinner': 0 < attachmentsInProcessCount()}"></i>
|
<i data-bind="css: { 'icon-attachment': 0 === attachmentsInProcessCount(), 'icon-spinner': 0 < attachmentsInProcessCount()}"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn-group pull-right">
|
<div class="btn-group">
|
||||||
<a class="btn"
|
<a class="btn"
|
||||||
style="padding-left: 10px; padding-right: 10px;"
|
style="padding-left: 10px; padding-right: 10px;"
|
||||||
data-bind="visible: addAttachmentEnabled(), initDom: composeUploaderButton" data-i18n="[title]COMPOSE/ATTACH_FILES">
|
data-bind="visible: addAttachmentEnabled(), initDom: composeUploaderButton" data-i18n="[title]COMPOSE/ATTACH_FILES">
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@
|
||||||
<col style="width: 16px" />
|
<col style="width: 16px" />
|
||||||
<col />
|
<col />
|
||||||
<col style="width: 140px" />
|
<col style="width: 140px" />
|
||||||
<col style="width: 1%" />
|
<col style="width: 1em" />
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<tbody data-bind="foreach: filters">
|
<tbody data-bind="foreach: filters">
|
||||||
<tr class="filter-item" draggable="true" data-bind="sortableItem: { list: $parent.filters }">
|
<tr class="filter-item" draggable="true" data-bind="sortableItem: { list: $parent.filters }">
|
||||||
|
|
@ -57,7 +57,7 @@
|
||||||
<span class="filter-sub-name" data-bind="text: nameSub()"></span>
|
<span class="filter-sub-name" data-bind="text: nameSub()"></span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: function(oFilter) { $root.deleteFilter(oFilter); }"
|
<a class="btn btn-small btn-small-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': deleteAccess()}, click: function(oFilter) { $root.deleteFilter(oFilter); }"
|
||||||
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
<span class="account-name" data-bind="text: email"></span>
|
<span class="account-name" data-bind="text: email"></span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete button-delete-transitions" data-bind="visible: canBeDeleted, css: {'delete-access': deleteAccess}, click: function(oAccount) { $root.deleteAccount(oAccount); }"
|
<a class="btn btn-small btn-small-small btn-danger button-confirm-delete" data-bind="visible: canBeDeleted, css: {'delete-access': deleteAccess}, click: function(oAccount) { $root.deleteAccount(oAccount); }"
|
||||||
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
<span class="identity-default" data-bind="visible: 0 === $index()" data-i18n="SETTINGS_ACCOUNTS/DEFAULT_IDENTITY_LABEL"></span>
|
<span class="identity-default" data-bind="visible: 0 === $index()" data-i18n="SETTINGS_ACCOUNTS/DEFAULT_IDENTITY_LABEL"></span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete button-delete-transitions" data-bind="visible: canBeDeleted, css: {'delete-access': deleteAccess}, click: function(oIdentity) { $root.deleteIdentity(oIdentity); }"
|
<a class="btn btn-small btn-small-small btn-danger button-confirm-delete" data-bind="visible: canBeDeleted, css: {'delete-access': deleteAccess}, click: function(oIdentity) { $root.deleteIdentity(oIdentity); }"
|
||||||
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
<col style="width: 30px" />
|
<col style="width: 30px" />
|
||||||
<col />
|
<col />
|
||||||
<col style="width: 140px" />
|
<col style="width: 140px" />
|
||||||
<col style="width: 1%" />
|
<col style="width: 1em" />
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<tbody data-bind="foreach: scripts">
|
<tbody data-bind="foreach: scripts">
|
||||||
<tr class="script-item">
|
<tr class="script-item">
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
</td>
|
</td>
|
||||||
<td class="e-action" class="script-name" data-bind="text: name()"></td>
|
<td class="e-action" class="script-name" data-bind="text: name()"></td>
|
||||||
<td>
|
<td>
|
||||||
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: function(oScript) { $root.deleteScript(oScript); }"
|
<a class="btn btn-small btn-small-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': deleteAccess()}, click: function(oScript) { $root.deleteScript(oScript); }"
|
||||||
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,10 @@
|
||||||
data-bind="value: nameForEdit, visible: edited, hasfocus: edited, onEnter: function () { $root.folderEditOnEnter($data); }, onEsc: function () { $root.folderEditOnEsc($data); }" />
|
data-bind="value: nameForEdit, visible: edited, hasfocus: edited, onEnter: function () { $root.folderEditOnEnter($data); }, onEsc: function () { $root.folderEditOnEsc($data); }" />
|
||||||
|
|
||||||
<span class="folder-system-name" data-bind="text: manageFolderSystemName, visible: isSystemFolder"></span>
|
<span class="folder-system-name" data-bind="text: manageFolderSystemName, visible: isSystemFolder"></span>
|
||||||
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: $root.deleteFolder"
|
|
||||||
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
|
||||||
</td>
|
</td>
|
||||||
<td data-i18n="[title]SETTINGS_FOLDERS/HELP_DELETE_FOLDER">
|
<td data-i18n="[title]SETTINGS_FOLDERS/HELP_DELETE_FOLDER">
|
||||||
|
<a class="btn btn-small btn-small-small btn-danger button-confirm-delete" data-bind="css: {'delete-access': deleteAccess()}, click: $root.deleteFolder"
|
||||||
|
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
||||||
<span class="delete-folder e-action fontastic" data-bind="visible: canBeDeleted() && !deleteAccess(), click: $root.folderForDeletion">🗑</span>
|
<span class="delete-folder e-action fontastic" data-bind="visible: canBeDeleted() && !deleteAccess(), click: $root.folderForDeletion">🗑</span>
|
||||||
</td>
|
</td>
|
||||||
<td data-i18n="[title]SETTINGS_FOLDERS/HELP_SHOW_HIDE_FOLDER">
|
<td data-i18n="[title]SETTINGS_FOLDERS/HELP_SHOW_HIDE_FOLDER">
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
<span class="open-pgp-key-user" data-bind="foreach: users">
|
<span class="open-pgp-key-user" data-bind="foreach: users">
|
||||||
<div class="open-pgp-key-user-address" data-bind="text: $data"></div>
|
<div class="open-pgp-key-user-address" data-bind="text: $data"></div>
|
||||||
</span>
|
</span>
|
||||||
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: function(openPgpKey) { $root.deleteOpenPgpKey(openPgpKey); }"
|
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete" data-bind="css: {'delete-access': deleteAccess()}, click: function(openPgpKey) { $root.deleteOpenPgpKey(openPgpKey); }"
|
||||||
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
|
@ -47,7 +47,7 @@
|
||||||
<span data-bind="text: $data"></span> (<span class="open-pgp-key-id" data-bind="text: $parent.id"></span>)
|
<span data-bind="text: $data"></span> (<span class="open-pgp-key-id" data-bind="text: $parent.id"></span>)
|
||||||
</div>
|
</div>
|
||||||
</span>
|
</span>
|
||||||
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: function(oOpenPGP) { $root.deleteOpenPgpKey(oOpenPGP); }"
|
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete" data-bind="css: {'delete-access': deleteAccess()}, click: function(oOpenPGP) { $root.deleteOpenPgpKey(oOpenPGP); }"
|
||||||
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
|
|
||||||
|
|
@ -71,11 +71,11 @@
|
||||||
border-top-color: var(--main-color);
|
border-top-color: var(--main-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.well,
|
|
||||||
#rl-popups > dialog,
|
#rl-popups > dialog,
|
||||||
#rl-settings-subscreen,
|
#rl-settings-subscreen,
|
||||||
.messageList,
|
.messageList,
|
||||||
.messageView,
|
.messageView,
|
||||||
|
.alert-info,
|
||||||
#V-PopupsCompose .b-attachment-place {
|
#V-PopupsCompose .b-attachment-place {
|
||||||
background-color: #000;
|
background-color: #000;
|
||||||
border-color: #555;
|
border-color: #555;
|
||||||
|
|
|
||||||
3
vendors/bootstrap/less/utilities.less
vendored
3
vendors/bootstrap/less/utilities.less
vendored
|
|
@ -7,9 +7,6 @@
|
||||||
.pull-right {
|
.pull-right {
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
.pull-left {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Toggling content
|
// Toggling content
|
||||||
.show {
|
.show {
|
||||||
|
|
|
||||||
12
vendors/bootstrap/less/wells.less
vendored
12
vendors/bootstrap/less/wells.less
vendored
|
|
@ -1,12 +0,0 @@
|
||||||
//
|
|
||||||
// Wells
|
|
||||||
// --------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
// Base class
|
|
||||||
.well {
|
|
||||||
background-color: @wellBackground;
|
|
||||||
border: 1px solid darken(@wellBackground, 7%);
|
|
||||||
border-radius: 4px;
|
|
||||||
padding: 9px;
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue