mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-29 12:09:20 +03:00
Cleanup more HTML and CSS
This commit is contained in:
parent
e105ecdf1b
commit
371b23a2f3
22 changed files with 306 additions and 435 deletions
|
|
@ -86,10 +86,10 @@ export class AccountsUserSettings {
|
|||
|
||||
onBuild(oDom) {
|
||||
oDom.addEventListener('click', event => {
|
||||
let el = event.target.closestWithin('.accounts-list .account-item .e-action', oDom);
|
||||
let el = event.target.closestWithin('.accounts-list .e-action', oDom);
|
||||
el && ko.dataFor(el) && this.editAccount(ko.dataFor(el));
|
||||
|
||||
el = event.target.closestWithin('.identities-list .identity-item .e-action', oDom);
|
||||
el = event.target.closestWithin('.identities-list .e-action', oDom);
|
||||
el && ko.dataFor(el) && this.editIdentity(ko.dataFor(el));
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,57 +1,47 @@
|
|||
|
||||
.b-settings-accounts {
|
||||
|
||||
.list-table {
|
||||
|
||||
.account-img, .identity-img {
|
||||
font-size: 12px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.account-name {
|
||||
display: inline-block;
|
||||
word-break: break-all;
|
||||
box-sizing: border-box;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
.identity-default {
|
||||
cursor: pointer;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.identity-name {
|
||||
display: inline-block;
|
||||
word-break: break-all;
|
||||
box-sizing: border-box;
|
||||
line-height: 22px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.accounts-list-top-padding, .identities-list-top-padding {
|
||||
.account-name {
|
||||
display: inline-block;
|
||||
height: 5px;
|
||||
width: 5px;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.account-item {
|
||||
.identity-default {
|
||||
cursor: pointer;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.identity-name {
|
||||
display: inline-block;
|
||||
word-break: break-all;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
table {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
tr {
|
||||
white-space: nowrap;
|
||||
|
||||
.delete-account {
|
||||
cursor: pointer;
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
|
||||
.identity-item {
|
||||
|
||||
white-space: nowrap;
|
||||
|
||||
.delete-identity {
|
||||
cursor: pointer;
|
||||
opacity: 0.5;
|
||||
}
|
||||
td + td {
|
||||
width: 150px;
|
||||
}
|
||||
td + td + td {
|
||||
width: 1%;
|
||||
}
|
||||
|
||||
.delete {
|
||||
cursor: pointer;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.identity-default::before {
|
||||
content: '(';
|
||||
}
|
||||
.identity-default::after {
|
||||
content: ')';
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,34 +5,34 @@
|
|||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.list-table {
|
||||
table {
|
||||
margin-top: 1em;
|
||||
|
||||
.folder-padding {
|
||||
display: inline-block;
|
||||
width: 0;
|
||||
}
|
||||
|
||||
.folder-name {
|
||||
display: inline-block;
|
||||
word-break: break-all;
|
||||
white-space: pre-wrap;
|
||||
box-sizing: border-box;
|
||||
margin-left: 7px;
|
||||
}
|
||||
|
||||
.folder-system-name {
|
||||
display: inline-block;
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
.folder-name.can-be-edited:hover {
|
||||
text-decoration-style: dashed;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.folder-item {
|
||||
td + td {
|
||||
width: 1em;
|
||||
}
|
||||
|
||||
table:not(.displaySpecSetting) td:last-child {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.folder-name {
|
||||
word-break: break-all;
|
||||
white-space: pre-wrap;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.folder-system-name {
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
.folder-name.can-be-edited:hover {
|
||||
text-decoration-style: dashed;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
tr {
|
||||
|
||||
&:not(.selectable) {
|
||||
font-style: italic;
|
||||
|
|
@ -59,19 +59,19 @@
|
|||
}
|
||||
}
|
||||
|
||||
.folder-padding.deep-1 {
|
||||
width: 25px;
|
||||
.deep-1 {
|
||||
text-indent: 15px;
|
||||
}
|
||||
.folder-padding.deep-2 {
|
||||
width: 40px;
|
||||
.deep-2 {
|
||||
text-indent: 30px;
|
||||
}
|
||||
.folder-padding.deep-3 {
|
||||
width: 55px;
|
||||
.deep-3 {
|
||||
text-indent: 45px;
|
||||
}
|
||||
.folder-padding.deep-4 {
|
||||
width: 70px;
|
||||
.deep-4 {
|
||||
text-indent: 60px;
|
||||
}
|
||||
.folder-padding.deep-5 {
|
||||
width: 85px;
|
||||
.deep-5 {
|
||||
text-indent: 75px;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,32 +1,20 @@
|
|||
|
||||
.b-settings-templates {
|
||||
|
||||
.list-table {
|
||||
|
||||
.template-img {
|
||||
font-size: 12px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.template-name {
|
||||
display: inline-block;
|
||||
word-break: break-all;
|
||||
box-sizing: border-box;
|
||||
line-height: 22px;
|
||||
}
|
||||
.template-img {
|
||||
font-size: 12px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.templates-list-top-padding {
|
||||
.template-name {
|
||||
box-sizing: border-box;
|
||||
display: inline-block;
|
||||
height: 5px;
|
||||
width: 5px;
|
||||
line-height: 22px;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.template-item {
|
||||
|
||||
.delete-template {
|
||||
cursor: pointer;
|
||||
opacity: 0.5;
|
||||
}
|
||||
.delete-template {
|
||||
cursor: pointer;
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,19 +32,15 @@
|
|||
}
|
||||
|
||||
.audioPlace {
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-size: 30px;
|
||||
height: 30px;
|
||||
margin-right: 10px;
|
||||
width: 1em;
|
||||
|
||||
.playIcon, .stopIcon {
|
||||
cursor: pointer;
|
||||
color: orange;
|
||||
text-shadow: 0 1px 0 #555;
|
||||
}
|
||||
|
||||
.stopIcon {
|
||||
color: orange;
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
|
@ -93,60 +89,34 @@
|
|||
}
|
||||
}
|
||||
|
||||
@keyframes firstBar {
|
||||
0% { height: 30%; }
|
||||
50% { height: 100%; }
|
||||
100% { height: 30%; }
|
||||
@keyframes equaliserBar {
|
||||
0% { top: 30%; }
|
||||
50% { top: 100%; }
|
||||
100% { top: 30%; }
|
||||
}
|
||||
|
||||
@keyframes secondBar {
|
||||
0% { height: 90%; }
|
||||
50% { height: 30%; }
|
||||
100% { height: 100%; }
|
||||
}
|
||||
|
||||
@keyframes thirdBar {
|
||||
0% { height: 20%; }
|
||||
40% { height: 40%; }
|
||||
60% { height: 80%; }
|
||||
100% { height: 40%; }
|
||||
}
|
||||
|
||||
.equaliser {
|
||||
.playIcon {
|
||||
|
||||
margin-top: 5px;
|
||||
width: 30px;
|
||||
height: 20px;
|
||||
position: relative;
|
||||
|
||||
.bar {
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
*, &::before, &::after {
|
||||
animation: equaliserBar 1s infinite;
|
||||
background: orange;
|
||||
position: absolute;
|
||||
bottom:0;
|
||||
animation: none;
|
||||
}
|
||||
|
||||
.first {
|
||||
left: calc(1em / 2 - 10px);
|
||||
}
|
||||
.second {
|
||||
left: calc(1em / 2 - 2px);
|
||||
}
|
||||
.third {
|
||||
left: calc(1em / 2 + 6px);
|
||||
position: absolute;
|
||||
width: 5px;
|
||||
content: '';
|
||||
}
|
||||
|
||||
&.animated {
|
||||
.first {
|
||||
animation: firstBar 1s infinite;
|
||||
}
|
||||
.second {
|
||||
animation: secondBar 1s infinite;
|
||||
}
|
||||
.third {
|
||||
animation: thirdBar 1s infinite;
|
||||
}
|
||||
&::before {
|
||||
left: calc(1em / 2 - 9px);
|
||||
animation-delay: -0.33s;
|
||||
}
|
||||
&::after {
|
||||
left: calc(1em / 2 + 5px);
|
||||
animation-delay: -0.66s;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,43 +3,37 @@
|
|||
<div class="legend" data-i18n="TAB_BRANDING/LEGEND_BRANDING"></div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="TAB_BRANDING/LABEL_PAGE_TITLE"></label>
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Input',
|
||||
params: {
|
||||
value: title,
|
||||
trigger: title.trigger,
|
||||
size: 5
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="controls" data-bind="component: {
|
||||
name: 'Input',
|
||||
params: {
|
||||
value: title,
|
||||
trigger: title.trigger,
|
||||
size: 5
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="TAB_BRANDING/LABEL_LOADING_DESCRIPTION"></label>
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Input',
|
||||
params: {
|
||||
value: loadingDesc,
|
||||
trigger: loadingDesc.trigger,
|
||||
size: 5
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="controls" data-bind="component: {
|
||||
name: 'Input',
|
||||
params: {
|
||||
value: loadingDesc,
|
||||
trigger: loadingDesc.trigger,
|
||||
size: 5
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="TAB_BRANDING/LABEL_FAVICON_URL"></label>
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Input',
|
||||
params: {
|
||||
value: faviconUrl,
|
||||
trigger: faviconUrl.trigger,
|
||||
placeholder: 'https://',
|
||||
size: 5
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="controls" data-bind="component: {
|
||||
name: 'Input',
|
||||
params: {
|
||||
value: faviconUrl,
|
||||
trigger: faviconUrl.trigger,
|
||||
placeholder: 'https://',
|
||||
size: 5
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -3,16 +3,14 @@
|
|||
<div class="legend" data-i18n="TAB_LOGIN/LEGEND_LOGIN_SCREEN"></div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="TAB_LOGIN/LABEL_DEFAULT_DOMAIN"></label>
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Input',
|
||||
params: {
|
||||
value: defaultDomain,
|
||||
trigger: defaultDomain.trigger,
|
||||
size: 3
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="controls" data-bind="component: {
|
||||
name: 'Input',
|
||||
params: {
|
||||
value: defaultDomain,
|
||||
trigger: defaultDomain.trigger,
|
||||
size: 3
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
|
|
|
|||
|
|
@ -140,15 +140,13 @@
|
|||
</label>
|
||||
<div class="tab-content" role="tabpanel" aria-hidden="true">
|
||||
<div class="row">
|
||||
<div class="span5">
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'POPUPS_DOMAIN/LABEL_ALLOW_SIEVE_SCRIPTS',
|
||||
value: useSieve
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="span5" data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'POPUPS_DOMAIN/LABEL_ALLOW_SIEVE_SCRIPTS',
|
||||
value: useSieve
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div data-bind="visible: useSieve">
|
||||
<div class="row">
|
||||
|
|
|
|||
|
|
@ -21,18 +21,16 @@
|
|||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="POPUPS_DOMAIN_ALIAS/LABEL_DOMAIN"></label>
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: domainsOptions,
|
||||
value: alias,
|
||||
optionsText: 'optText',
|
||||
optionsValue: 'optValue',
|
||||
size: 4
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="controls" data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: domainsOptions,
|
||||
value: alias,
|
||||
optionsText: 'optText',
|
||||
optionsValue: 'optValue',
|
||||
size: 4
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
|
|
|
|||
|
|
@ -40,17 +40,15 @@
|
|||
<div class="span4">
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="SEARCH/LABEL_ADV_DATE"></label>
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: selectedDates,
|
||||
value: selectedDateValue,
|
||||
optionsText: 'name',
|
||||
optionsValue: 'id'
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="controls" data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: selectedDates,
|
||||
value: selectedDateValue,
|
||||
optionsText: 'name',
|
||||
optionsValue: 'id'
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">
|
||||
|
|
|
|||
|
|
@ -68,15 +68,13 @@
|
|||
<hr />
|
||||
<div class="form-horizontal">
|
||||
<div class="control-group g-ui-user-select-none">
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'POPUPS_IDENTITY/LABEL_SIGNATURE_INSERT_BEFORE',
|
||||
value: signatureInsertBefore
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="controls" data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'POPUPS_IDENTITY/LABEL_SIGNATURE_INSERT_BEFORE',
|
||||
value: signatureInsertBefore
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="e-signature-place" data-bind="editor: signature"></div>
|
||||
|
|
|
|||
|
|
@ -9,75 +9,48 @@
|
|||
<i class="icon-user-add"></i>
|
||||
<span data-i18n="SETTINGS_ACCOUNTS/BUTTON_ADD_ACCOUNT"></span>
|
||||
</a>
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<div>
|
||||
<div class="accounts-list-top-padding"></div>
|
||||
<table class="table table-hover list-table accounts-list" data-bind="i18nUpdate: accounts">
|
||||
<colgroup>
|
||||
<col />
|
||||
<col style="width: 150px" />
|
||||
<col style="width: 1%" />
|
||||
</colgroup>
|
||||
<tbody data-bind="foreach: accounts">
|
||||
<tr class="account-item" draggable="true" data-bind="sortableItem: { list: $root.accounts, afterMove: $root.accountsAndIdentitiesAfterMove }">
|
||||
<td class="e-action" data-bind="css: {'e-action': canBeEdit}">
|
||||
<span class="account-img fontastic">👤</span>
|
||||
<i class="fontastic drag-handle">⬍</i>
|
||||
<span class="account-name" data-bind="text: email"></span>
|
||||
</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); }"
|
||||
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
||||
</td>
|
||||
<td>
|
||||
<span class="delete-account fontastic" data-bind="visible: !deleteAccess() && canBeDeleted(), click: function (oAccount) { $root.accountForDeletion(oAccount); }">🗑</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<table class="table table-hover list-table accounts-list" data-bind="i18nUpdate: accounts">
|
||||
<tbody data-bind="foreach: accounts">
|
||||
<tr draggable="true" data-bind="sortableItem: { list: $root.accounts, afterMove: $root.accountsAndIdentitiesAfterMove }">
|
||||
<td class="e-action" data-bind="css: {'e-action': canBeEdit}">
|
||||
<i class="fontastic drag-handle">⬍</i>
|
||||
<span class="account-name" data-bind="text: email"></span>
|
||||
</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); }"
|
||||
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
||||
</td>
|
||||
<td>
|
||||
<span class="delete fontastic" data-bind="visible: !deleteAccess() && canBeDeleted(), click: function (oAccount) { $root.accountForDeletion(oAccount); }">🗑</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div data-bind="visible: allowIdentities">
|
||||
<br />
|
||||
<div class="legend" data-i18n="SETTINGS_ACCOUNTS/LEGEND_IDENTITIES"></div>
|
||||
<a class="btn" data-bind="click: addNewIdentity">
|
||||
<i class="icon-user-add"></i>
|
||||
<span data-i18n="SETTINGS_ACCOUNTS/BUTTON_ADD_IDENTITY"></span>
|
||||
</a>
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<div>
|
||||
<div class="identities-list-top-padding"></div>
|
||||
<table class="table table-hover list-table identities-list" data-bind="i18nUpdate: identities">
|
||||
<colgroup>
|
||||
<col />
|
||||
<col style="width: 150px" />
|
||||
<col style="width: 1%" />
|
||||
</colgroup>
|
||||
<tbody data-bind="foreach: identities">
|
||||
<tr class="identity-item" draggable="true" data-bind="sortableItem: { list: $root.identities, afterMove: $root.accountsAndIdentitiesAfterMove }">
|
||||
<td class="e-action">
|
||||
<span class="identity-img fontastic">👤</span>
|
||||
<i class="fontastic drag-handle">⬍</i>
|
||||
<span class="identity-name" data-bind="text: formattedName()"></span>
|
||||
|
||||
<span class="identity-default" data-bind="visible: 0 === $index()">
|
||||
(<span data-i18n="SETTINGS_ACCOUNTS/DEFAULT_IDENTITY_LABEL"></span>)
|
||||
</span>
|
||||
</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); }"
|
||||
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
||||
</td>
|
||||
<td>
|
||||
<span class="delete-identity fontastic" data-bind="visible: !deleteAccess() && canBeDeleted(), click: function (oIdentity) { $root.identityForDeletion(oIdentity); }">🗑</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<table class="table table-hover list-table identities-list" data-bind="i18nUpdate: identities">
|
||||
<tbody data-bind="foreach: identities">
|
||||
<tr draggable="true" data-bind="sortableItem: { list: $root.identities, afterMove: $root.accountsAndIdentitiesAfterMove }">
|
||||
<td class="e-action">
|
||||
<i class="fontastic drag-handle">⬍</i>
|
||||
<span class="identity-name" data-bind="text: formattedName()"></span>
|
||||
|
||||
<span class="identity-default" data-bind="visible: 0 === $index()" data-i18n="SETTINGS_ACCOUNTS/DEFAULT_IDENTITY_LABEL"></span>
|
||||
</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); }"
|
||||
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
||||
</td>
|
||||
<td>
|
||||
<span class="delete fontastic" data-bind="visible: !deleteAccess() && canBeDeleted(), click: function (oIdentity) { $root.identityForDeletion(oIdentity); }">🗑</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -2,30 +2,26 @@
|
|||
<div class="form-horizontal g-ui-user-select-none">
|
||||
<div class="legend" data-i18n="GLOBAL/CONTACTS"></div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'SETTINGS_CONTACTS/LABEL_CONTACTS_AUTOSAVE',
|
||||
value: contactsAutosave
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="controls" data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'SETTINGS_CONTACTS/LABEL_CONTACTS_AUTOSAVE',
|
||||
value: contactsAutosave
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="form-horizontal" data-bind="visible: allowContactsSync">
|
||||
<div class="legend" data-i18n="SETTINGS_CONTACTS/LEGEND_CONTACTS_SYNC"></div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_ENABLE',
|
||||
value: enableContactsSync
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="controls" data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_ENABLE',
|
||||
value: enableContactsSync
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_AB_URL"></label>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,9 @@
|
|||
<div class="control-group" data-bind="css: {'error': actionValueError}" style="margin-bottom: 0">
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'POPUPS_FILTER/STOP_LABEL',
|
||||
value: actionNoStop
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="controls" data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'POPUPS_FILTER/STOP_LABEL',
|
||||
value: actionNoStop
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,15 +1,13 @@
|
|||
<div class="control-group" style="margin-bottom: 0">
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: [1, 2, 3, 7, 30],
|
||||
label: 'POPUPS_FILTER/REPLY_INTERVAL_LABEL',
|
||||
value: actionValueThird,
|
||||
size: 1
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="controls" data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: [1, 2, 3, 7, 30],
|
||||
label: 'POPUPS_FILTER/REPLY_INTERVAL_LABEL',
|
||||
value: actionValueThird,
|
||||
size: 1
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="control-group" data-bind="css: {'error': actionValueFourthError}" style="margin-bottom: 0">
|
||||
<div class="controls">
|
||||
|
|
@ -31,13 +29,11 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'POPUPS_FILTER/STOP_LABEL',
|
||||
value: actionNoStop
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="controls" data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'POPUPS_FILTER/STOP_LABEL',
|
||||
value: actionNoStop
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
<tr class="folder-item" data-bind="css: { 'selectable': selectable, 'system': isSystemFolder }">
|
||||
<td>
|
||||
<span class="folder-padding" data-bind="css: 'deep-' + deep"></span>
|
||||
<tr data-bind="css: { 'selectable': selectable, 'system': isSystemFolder }">
|
||||
<td data-bind="css: 'deep-' + deep">
|
||||
<span class="folder-name" data-bind="text: name, visible: !edited(), css: { 'can-be-edited': canBeEdited }, click: function (oFolder) { oFolder.canBeEdited() && $root.folderForEdit(oFolder); }"></span>
|
||||
<input type="text"
|
||||
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
|
|
@ -16,7 +15,7 @@
|
|||
<td data-i18n="[title]SETTINGS_FOLDERS/HELP_SHOW_HIDE_FOLDER">
|
||||
<span class="e-action fontastic" data-bind="css: {'unsubscribed-folder':!subscribed()}, visible: canBeSubscribed(), click: function(oFolder) { $root.toggleFolderSubscription(oFolder); }">👁</span>
|
||||
</td>
|
||||
<td data-bind="visible: $root.displaySpecSetting" data-i18n="[title]SETTINGS_FOLDERS/HELP_CHECK_FOR_NEW_MESSAGES">
|
||||
<td data-i18n="[title]SETTINGS_FOLDERS/HELP_CHECK_FOR_NEW_MESSAGES">
|
||||
<span class="e-action" data-bind="css: {'check-folder':checkable(), 'unchecked-folder':!checkable()}, visible: canBeSelected() && subscribed(), click: function(oFolder) { $root.toggleFolderCheckable(oFolder); }">
|
||||
<i class="icon-check-mark-circle-two"></i>
|
||||
</span>
|
||||
|
|
|
|||
|
|
@ -29,13 +29,7 @@
|
|||
<button type="button" class="close" data-bind="click: function () { folderListError(''); }">×</button>
|
||||
<span data-bind="text: folderListError"></span>
|
||||
</div>
|
||||
<table class="table table-hover list-table" data-bind="i18nUpdate: folderList">
|
||||
<colgroup>
|
||||
<col />
|
||||
<col style="width: 1%" />
|
||||
<col style="width: 1%" />
|
||||
<col style="width: 1%" data-bind="visible: displaySpecSetting" />
|
||||
</colgroup>
|
||||
<table class="table table-hover list-table" data-bind="i18nUpdate: folderList, css:{'displaySpecSetting': displaySpecSetting}">
|
||||
<tbody data-bind="template: { name: 'SettingsFolderItem', foreach: folderList }"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -19,33 +19,29 @@
|
|||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="SETTINGS_GENERAL/LABEL_LAYOUT"></label>
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: layoutTypes,
|
||||
value: layout,
|
||||
trigger: layoutTrigger,
|
||||
optionsText: 'name',
|
||||
optionsValue: 'id'
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="controls" data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: layoutTypes,
|
||||
value: layout,
|
||||
trigger: layoutTrigger,
|
||||
optionsText: 'name',
|
||||
optionsValue: 'id'
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="SETTINGS_GENERAL/LABEL_EDITOR"></label>
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: editorDefaultTypes,
|
||||
value: editorDefaultType,
|
||||
trigger: editorDefaultTypeTrigger,
|
||||
optionsText: 'name',
|
||||
optionsValue: 'id'
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="controls" data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: editorDefaultTypes,
|
||||
value: editorDefaultType,
|
||||
trigger: editorDefaultTypeTrigger,
|
||||
optionsText: 'name',
|
||||
optionsValue: 'id'
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="SETTINGS_GENERAL/LABEL_MESSAGE_PER_PAGE"></label>
|
||||
|
|
|
|||
|
|
@ -14,15 +14,13 @@
|
|||
<br />
|
||||
<br />
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'SETTINGS_OPEN_PGP/LABEL_ALLOW_DRAFT_AUTOSAVE',
|
||||
value: allowDraftAutosave
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="controls" data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'SETTINGS_OPEN_PGP/LABEL_ALLOW_DRAFT_AUTOSAVE',
|
||||
value: allowDraftAutosave
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<br />
|
||||
<table class="table table-hover list-table" data-bind="i18nUpdate: openpgpkeys">
|
||||
|
|
|
|||
|
|
@ -3,19 +3,17 @@
|
|||
<div class="legend" data-i18n="SETTINGS_SECURITY/LEGEND_SECURITY"></div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="SETTINGS_SECURITY/LABEL_AUTOLOGOUT"></label>
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
inline: true,
|
||||
options: autoLogoutOptions,
|
||||
value: autoLogout,
|
||||
trigger: autoLogoutTrigger,
|
||||
optionsText: 'name',
|
||||
optionsValue: 'id'
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="controls" data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
inline: true,
|
||||
options: autoLogoutOptions,
|
||||
value: autoLogout,
|
||||
trigger: autoLogoutTrigger,
|
||||
optionsText: 'name',
|
||||
optionsValue: 'id'
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -8,32 +8,27 @@
|
|||
<i class="icon-user-add"></i>
|
||||
<span data-i18n="SETTINGS_TEMPLATES/BUTTON_ADD_TEMPLATE"></span>
|
||||
</a>
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<div class="templates-list-top-padding"></div>
|
||||
<table class="table table-hover list-table templates-list" data-bind="i18nUpdate: templates">
|
||||
<colgroup>
|
||||
<col />
|
||||
<col style="width: 150px" />
|
||||
<col style="width: 1%" />
|
||||
</colgroup>
|
||||
<tbody data-bind="foreach: templates">
|
||||
<tr class="template-item" draggable="true" data-bind="sortableItem: { list: $root.templates }">
|
||||
<td class="e-action">
|
||||
<span class="template-img fontastic">👤</span>
|
||||
<i class="fontastic drag-handle">⬍</i>
|
||||
<span class="template-name" data-bind="text: name"></span>
|
||||
</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(oTemplate) { $root.deleteTemplate(oTemplate); }"
|
||||
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
||||
</td>
|
||||
<td>
|
||||
<span class="delete-template fontastic" data-bind="visible: !deleteAccess(), click: function (oTemplate) { $root.templateForDeletion(oTemplate); }">🗑</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<table class="table table-hover list-table templates-list" data-bind="i18nUpdate: templates">
|
||||
<colgroup>
|
||||
<col />
|
||||
<col style="width: 150px" />
|
||||
<col style="width: 1%" />
|
||||
</colgroup>
|
||||
<tbody data-bind="foreach: templates">
|
||||
<tr class="template-item" draggable="true" data-bind="sortableItem: { list: $root.templates }">
|
||||
<td class="e-action">
|
||||
<span class="template-img fontastic">👤</span>
|
||||
<i class="fontastic drag-handle">⬍</i>
|
||||
<span class="template-name" data-bind="text: name"></span>
|
||||
</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(oTemplate) { $root.deleteTemplate(oTemplate); }"
|
||||
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
||||
</td>
|
||||
<td>
|
||||
<span class="delete-template fontastic" data-bind="visible: !deleteAccess(), click: function (oTemplate) { $root.templateForDeletion(oTemplate); }">🗑</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -3,11 +3,7 @@
|
|||
<div class="btn-toolbar">
|
||||
<div class="audioPlace"
|
||||
data-bind="visible: '' !== currentAudio(), attr: { title: currentAudio }, click: stopPlay">
|
||||
<div class="playIcon equaliser" data-bind="css: {'animated': '' !== currentAudio()}">
|
||||
<div class="bar first"></div>
|
||||
<div class="bar second"></div>
|
||||
<div class="bar third"></div>
|
||||
</div>
|
||||
<div class="playIcon"><div></div></div>
|
||||
<i class="stopIcon fontastic">⏸</i>
|
||||
</div>
|
||||
<div class="accountPlace hide-mobile" data-bind="text: emailTitle()"></div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue