mirror of
https://github.com/the-djmaze/snappymail.git
synced 2025-09-20 12:04:18 +08:00
Make .form-horizontal simple with less CSS classes
This commit is contained in:
parent
dff89ea4e0
commit
071dab01a7
48 changed files with 351 additions and 463 deletions
|
@ -86,38 +86,43 @@ dialog:not(.animate) {
|
|||
}
|
||||
|
||||
dialog > header {
|
||||
padding: 9px 15px;
|
||||
border-bottom: 1px solid #eee;
|
||||
// Close icon
|
||||
.close { margin-top: 2px; }
|
||||
// Heading
|
||||
h3 {
|
||||
margin: 0;
|
||||
line-height: 30px;
|
||||
}
|
||||
padding: 9px 15px;
|
||||
border-bottom: 1px solid #eee;
|
||||
|
||||
// Close icon
|
||||
.close {
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
// Heading
|
||||
h3 {
|
||||
margin: 0;
|
||||
line-height: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
// Body (where all modal content resides)
|
||||
dialog .modal-body {
|
||||
overflow: auto;
|
||||
padding: 15px;
|
||||
overflow: auto;
|
||||
margin: 0;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
// Footer (for actions)
|
||||
dialog > footer {
|
||||
padding: 14px 15px 15px;
|
||||
margin-bottom: 0;
|
||||
text-align: right; // right align buttons
|
||||
border-top: 1px solid #ddd;
|
||||
border-radius: 0 0 6px 6px;
|
||||
padding: 14px 15px 15px;
|
||||
margin-bottom: 0;
|
||||
text-align: right; // right align buttons
|
||||
border-top: 1px solid #ddd;
|
||||
border-radius: 0 0 6px 6px;
|
||||
|
||||
// Properly space out buttons
|
||||
.btn + .btn {
|
||||
margin-left: 5px;
|
||||
margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
|
||||
}
|
||||
// but override that for button groups
|
||||
.btn-group .btn + .btn {
|
||||
margin-left: -1px;
|
||||
}
|
||||
// Properly space out buttons
|
||||
.btn + .btn {
|
||||
margin-left: 5px;
|
||||
margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
|
||||
}
|
||||
// but override that for button groups
|
||||
.btn-group .btn + .btn {
|
||||
margin-left: -1px;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
max-width: 780px;
|
||||
|
||||
.control-label {
|
||||
label {
|
||||
width: 110px;
|
||||
}
|
||||
.span4 {
|
||||
|
|
|
@ -11,14 +11,14 @@
|
|||
max-height: 700px;
|
||||
|
||||
.control-group {
|
||||
.control-label {
|
||||
label {
|
||||
padding-top: 0;
|
||||
width: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
height: calc(100% - 49px);
|
||||
height: calc(100vh - 49px);
|
||||
padding: 0;
|
||||
position: relative;
|
||||
}
|
||||
|
|
|
@ -28,16 +28,16 @@ label.inline, span.inline {
|
|||
padding: 4px 7px;
|
||||
}
|
||||
|
||||
.alert a {
|
||||
.alert a:not(.close) {
|
||||
text-decoration: underline;
|
||||
color: @warningText;
|
||||
}
|
||||
|
||||
.alert.alert-info a {
|
||||
.alert.alert-info a:not(.close) {
|
||||
color: @infoText;
|
||||
}
|
||||
|
||||
.alert.alert-error a {
|
||||
.alert.alert-error a:not(.close) {
|
||||
color: @errorText;
|
||||
}
|
||||
|
||||
|
@ -45,11 +45,13 @@ label.inline, span.inline {
|
|||
@media screen and (max-width: 999px) {
|
||||
.form-horizontal {
|
||||
.control-group {
|
||||
.control-label {
|
||||
> label {
|
||||
text-align: left;
|
||||
}
|
||||
.controls {
|
||||
margin-left: 10px;
|
||||
|
||||
// Move over all input controls and content
|
||||
> *:not(label) {
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div class="alert" data-bind="hidden: !submitError()">
|
||||
<button type="button" class="close" data-bind="click: function () { submitError('') }">×</button>
|
||||
<a href="#" class="close" data-bind="click: function () { submitError('') }">×</a>
|
||||
<span data-bind="text: submitError"></span>
|
||||
</div>
|
||||
<form action="#/" data-bind="submit: submitForm, css: {'errorAnimated': formError, 'submitting': submitRequest()}">
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<div class="form-horizontal">
|
||||
<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" data-bind="component: {
|
||||
<label data-i18n="TAB_BRANDING/LABEL_PAGE_TITLE"></label>
|
||||
<div data-bind="component: {
|
||||
name: 'Input',
|
||||
params: {
|
||||
value: title,
|
||||
|
@ -12,8 +12,8 @@
|
|||
}"></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="TAB_BRANDING/LABEL_LOADING_DESCRIPTION"></label>
|
||||
<div class="controls" data-bind="component: {
|
||||
<label data-i18n="TAB_BRANDING/LABEL_LOADING_DESCRIPTION"></label>
|
||||
<div data-bind="component: {
|
||||
name: 'Input',
|
||||
params: {
|
||||
value: loadingDesc,
|
||||
|
@ -23,8 +23,8 @@
|
|||
}"></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="TAB_BRANDING/LABEL_FAVICON_URL"></label>
|
||||
<div class="controls" data-bind="component: {
|
||||
<label data-i18n="TAB_BRANDING/LABEL_FAVICON_URL"></label>
|
||||
<div data-bind="component: {
|
||||
name: 'Input',
|
||||
params: {
|
||||
value: faviconUrl,
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<div class="form-horizontal" data-bind="visible: contactsSupported">
|
||||
<div class="legend" data-i18n="TAB_CONTACTS/LEGEND_CONTACTS"></div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div>
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: { value: enableContacts, label: 'TAB_CONTACTS/LABEL_ENABLE_CONTACTS' }
|
||||
|
@ -22,24 +22,22 @@
|
|||
<div class="form-horizontal" data-bind="visible: contactsSupported">
|
||||
<div class="legend" data-i18n="TAB_CONTACTS/LEGEND_STORAGE"></div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="TAB_CONTACTS/LABEL_STORAGE_TYPE"></label>
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: contactsTypesOptions,
|
||||
value: mainContactsType,
|
||||
trigger: contactsTypeTrigger,
|
||||
optionsText: 'name',
|
||||
optionsValue: 'id'
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<label data-i18n="TAB_CONTACTS/LABEL_STORAGE_TYPE"></label>
|
||||
<div data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: contactsTypesOptions,
|
||||
value: mainContactsType,
|
||||
trigger: contactsTypeTrigger,
|
||||
optionsText: 'name',
|
||||
optionsValue: 'id'
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div data-bind="visible: 'sqlite' !== contactsType()">
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="TAB_CONTACTS/LABEL_STORAGE_DSN"></label>
|
||||
<div class="controls">
|
||||
<label data-i18n="TAB_CONTACTS/LABEL_STORAGE_DSN"></label>
|
||||
<div>
|
||||
<input type="text" class="span6" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: pdoDsn, saveTrigger: pdoDsnTrigger" />
|
||||
<blockquote style="margin: 0">
|
||||
|
@ -51,44 +49,40 @@ host=127.0.0.1;port=5432;dbname=snappymail
|
|||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="TAB_CONTACTS/LABEL_STORAGE_USER"></label>
|
||||
<div class="controls">
|
||||
<label data-i18n="TAB_CONTACTS/LABEL_STORAGE_USER"></label>
|
||||
<div>
|
||||
<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: pdoUser, saveTrigger: pdoUserTrigger" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="TAB_CONTACTS/LABEL_STORAGE_PASSWORD"></label>
|
||||
<div class="controls">
|
||||
<label data-i18n="TAB_CONTACTS/LABEL_STORAGE_PASSWORD"></label>
|
||||
<div>
|
||||
<input type="password" autocomplete="current-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: pdoPassword, saveTrigger: pdoPasswordTrigger" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<a class="btn" data-bind="command: testContactsCommand, css: { 'btn-success': testContactsSuccess, 'btn-danger': testContactsError }">
|
||||
<i class="fontastic" data-bind="css: {'icon-spinner': testing()}">ℹ</i>
|
||||
<span data-i18n="TAB_CONTACTS/BUTTON_TEST"></span>
|
||||
</a>
|
||||
</div>
|
||||
<label></label>
|
||||
<a class="btn" data-bind="command: testContactsCommand, css: { 'btn-success': testContactsSuccess, 'btn-danger': testContactsError }">
|
||||
<i class="fontastic" data-bind="css: {'icon-spinner': testing()}">ℹ</i>
|
||||
<span data-i18n="TAB_CONTACTS/BUTTON_TEST"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div data-bind="visible: 'sqlite' === contactsType()">
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div class="alert">
|
||||
<h4 data-i18n="TAB_CONTACTS/ALERT_NOTICE"></h4>
|
||||
<div data-i18n="[html]TAB_CONTACTS/HTML_ALERT_DO_NOT_USE_THIS_DATABASE"></div>
|
||||
</div>
|
||||
<div class="alert">
|
||||
<h4 data-i18n="TAB_CONTACTS/ALERT_NOTICE"></h4>
|
||||
<div data-i18n="[html]TAB_CONTACTS/HTML_ALERT_DO_NOT_USE_THIS_DATABASE"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<a class="btn" data-bind="command: testContactsCommand, css: { 'btn-success': testContactsSuccess, 'btn-danger': testContactsError }">
|
||||
<i class="fontastic" data-bind="css: {'icon-spinner': testing()}">ℹ</i>
|
||||
<span data-i18n="TAB_CONTACTS/BUTTON_TEST"></span>
|
||||
</a>
|
||||
</div>
|
||||
<label></label>
|
||||
<a class="btn" data-bind="command: testContactsCommand, css: { 'btn-success': testContactsSuccess, 'btn-danger': testContactsError }">
|
||||
<i class="fontastic" data-bind="css: {'icon-spinner': testing()}">ℹ</i>
|
||||
<span data-i18n="TAB_CONTACTS/BUTTON_TEST"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="alert span8" data-bind="text: testContactsErrorMessage, visible: '' !== testContactsErrorMessage()"></div>
|
||||
|
|
|
@ -18,37 +18,35 @@
|
|||
<div class="form-horizontal">
|
||||
<div class="legend" data-i18n="TAB_GENERAL/LEGEND_INTERFACE"></div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="TAB_GENERAL/LABEL_LANGUAGE"></label>
|
||||
<div class="controls">
|
||||
<label data-i18n="TAB_GENERAL/LABEL_LANGUAGE"></label>
|
||||
<div>
|
||||
<span class="select" tabindex="0" data-bind="text: languageFullName, click: selectLanguage, onSpace: selectLanguage, onEnter: selectLanguage"></span>
|
||||
<span data-bind="saveTrigger: languageTrigger"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="TAB_GENERAL/LABEL_LANGUAGE_ADMIN"></label>
|
||||
<div class="controls">
|
||||
<label data-i18n="TAB_GENERAL/LABEL_LANGUAGE_ADMIN"></label>
|
||||
<div>
|
||||
<span class="select" tabindex="0" data-bind="text: languageAdminFullName, click: selectLanguageAdmin, onSpace: selectLanguageAdmin, onEnter: selectLanguageAdmin"></span>
|
||||
<span data-bind="saveTrigger: languageAdminTrigger"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="TAB_GENERAL/LABEL_THEME"></label>
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: themesOptions,
|
||||
value: theme,
|
||||
trigger: themeTrigger,
|
||||
optionsText: 'optText',
|
||||
optionsValue: 'optValue',
|
||||
size: 2
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<label data-i18n="TAB_GENERAL/LABEL_THEME"></label>
|
||||
<div data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: themesOptions,
|
||||
value: theme,
|
||||
trigger: themeTrigger,
|
||||
optionsText: 'optText',
|
||||
optionsValue: 'optValue',
|
||||
size: 2
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div>
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
|
@ -80,21 +78,19 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'TAB_GENERAL/LABEL_SHOW_THUMBNAILS',
|
||||
value: capaAttachmentThumbnails,
|
||||
inline: false
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'TAB_GENERAL/LABEL_SHOW_THUMBNAILS',
|
||||
value: capaAttachmentThumbnails,
|
||||
inline: false
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="legend" data-i18n="TAB_GENERAL/LEGEND_MAIN"></div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="TAB_GENERAL/LABEL_ATTACHMENT_SIZE_LIMIT"></label>
|
||||
<div class="controls">
|
||||
<label data-i18n="TAB_GENERAL/LABEL_ATTACHMENT_SIZE_LIMIT"></label>
|
||||
<div>
|
||||
<input type="number" min="1" step="1" class="span1" data-bind="textInput: mainAttachmentLimit"/>
|
||||
|
||||
<span data-i18n="MB"></span>
|
||||
|
@ -107,7 +103,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div>
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<div class="form-horizontal">
|
||||
<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" data-bind="component: {
|
||||
<label data-i18n="TAB_LOGIN/LABEL_DEFAULT_DOMAIN"></label>
|
||||
<div data-bind="component: {
|
||||
name: 'Input',
|
||||
params: {
|
||||
value: defaultDomain,
|
||||
|
@ -12,7 +12,7 @@
|
|||
}"></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div>
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: { value: determineUserDomain, label: 'TAB_LOGIN/LABEL_DETERMINE_USER_DOMAIN' }
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
</div>
|
||||
|
||||
<div class="alert" style="margin-top: 10px;" data-bind="visible: packagesError()">
|
||||
<button type="button" class="close" data-bind="click: function () { packagesError('') }">×</button>
|
||||
<a href="#" class="close" data-bind="click: function () { packagesError('') }">×</a>
|
||||
<span data-bind="text: packagesError"></span>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<label class="control-label" data-bind="text: Label, visible: 5 !== Type"></label>
|
||||
<div class="controls">
|
||||
<label data-bind="text: Label, visible: 5 !== Type"></label>
|
||||
<div>
|
||||
<!-- ko if: 0 === Type -->
|
||||
<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: value, attr: {placeholder: placeholder}" />
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class="legend" data-i18n="TAB_SECURITY/LEGEND_SECURITY"></div>
|
||||
<div class="form-horizontal">
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div>
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
|
@ -23,47 +23,36 @@
|
|||
<div class="form-horizontal">
|
||||
<div class="legend" data-i18n="TAB_SECURITY/LEGEND_ADMIN_PANEL_ACCESS_CREDENTIALS"></div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="TAB_SECURITY/LABEL_CURRENT_PASSWORD"></label>
|
||||
<div class="controls">
|
||||
<input type="password" autocomplete="current-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="textInput: adminPassword" />
|
||||
</div>
|
||||
<label data-i18n="TAB_SECURITY/LABEL_CURRENT_PASSWORD"></label>
|
||||
<input type="password" autocomplete="current-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="textInput: adminPassword" />
|
||||
</div>
|
||||
<br />
|
||||
<div class="control-group" data-bind="css: {'error': adminLoginError}">
|
||||
<label class="control-label" data-i18n="TAB_SECURITY/LABEL_NEW_LOGIN"></label>
|
||||
<div class="controls">
|
||||
<input type="text" autocomplete="username" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="textInput: adminLogin" />
|
||||
</div>
|
||||
<label data-i18n="TAB_SECURITY/LABEL_NEW_LOGIN"></label>
|
||||
<input type="text" autocomplete="username" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="textInput: adminLogin" />
|
||||
</div>
|
||||
<div class="control-group" data-bind="css: {'error': adminPasswordNewError}">
|
||||
<label class="control-label" data-i18n="TAB_SECURITY/LABEL_NEW_PASSWORD"></label>
|
||||
<div class="controls">
|
||||
<input type="password" autocomplete="new-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="textInput: adminPasswordNew" />
|
||||
</div>
|
||||
<label data-i18n="TAB_SECURITY/LABEL_NEW_PASSWORD"></label>
|
||||
<input type="password" autocomplete="new-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="textInput: adminPasswordNew" />
|
||||
</div>
|
||||
<div class="control-group" data-bind="css: {'error': adminPasswordNewError}">
|
||||
<label class="control-label" data-i18n="TAB_SECURITY/LABEL_REPEAT_PASSWORD"></label>
|
||||
<div class="controls">
|
||||
<input type="password" autocomplete="new-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="textInput: adminPasswordNew2" />
|
||||
</div>
|
||||
<label data-i18n="TAB_SECURITY/LABEL_REPEAT_PASSWORD"></label>
|
||||
<input type="password" autocomplete="new-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="textInput: adminPasswordNew2" />
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<a class="btn" data-bind="command: saveNewAdminPasswordCommand, css: { 'btn-success': adminPasswordUpdateSuccess, 'btn-danger': adminPasswordUpdateError }">
|
||||
<i class="fontastic">🔑</i>
|
||||
<span data-i18n="TAB_SECURITY/BUTTON_UPDATE_PASSWORD"></span>
|
||||
</a>
|
||||
</div>
|
||||
<a class="btn" data-bind="command: saveNewAdminPasswordCommand, css: { 'btn-success': adminPasswordUpdateSuccess, 'btn-danger': adminPasswordUpdateError }">
|
||||
<i class="fontastic">🔑</i>
|
||||
<span data-i18n="TAB_SECURITY/BUTTON_UPDATE_PASSWORD"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-horizontal">
|
||||
<div class="legend" data-i18n="TAB_SECURITY/LEGEND_SSL"></div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div>
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: cancelCommand">×</a>
|
||||
<h3 data-bind="text: headerText"></h3>
|
||||
</header>
|
||||
<div class="modal-body">
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<header>
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: cancelCommand">×</a>
|
||||
<h3 data-i18n="POPUPS_DOMAIN_ALIAS/TITLE_ADD_DOMAIN_ALIAS"></h3>
|
||||
</header>
|
||||
<div class="modal-body">
|
||||
<div class="control-group" data-bind="css: {error: '' !== savingError()}">
|
||||
<label class="control-label" data-i18n="POPUPS_DOMAIN_ALIAS/LABEL_ALIAS"></label>
|
||||
<div class="controls">
|
||||
<label data-i18n="POPUPS_DOMAIN_ALIAS/LABEL_ALIAS"></label>
|
||||
<div>
|
||||
<div data-bind="component: {
|
||||
name: 'Input',
|
||||
params: {
|
||||
|
@ -17,8 +17,8 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="POPUPS_DOMAIN_ALIAS/LABEL_DOMAIN"></label>
|
||||
<div class="controls" data-bind="component: {
|
||||
<label data-i18n="POPUPS_DOMAIN_ALIAS/LABEL_DOMAIN"></label>
|
||||
<div data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: domainsOptions,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: cancelCommand">×</a>
|
||||
<h4>
|
||||
<span data-i18n="POPUPS_PLUGIN/TITLE_PLUGIN"></span>
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
|||
<form class="form-horizontal plugin-form" action="#/" onsubmit="return false;">
|
||||
<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()">
|
||||
<button type="button" class="close" data-bind="click: function () { saveError('') }">×</button>
|
||||
<a href="#" class="close" data-bind="click: function () { saveError('') }">×</a>
|
||||
<span data-bind="text: saveError"></span>
|
||||
</div>
|
||||
<div data-bind="foreach: configures, visible: hasConfiguration">
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: cancelCommand">×</a>
|
||||
<h3 data-i18n="POPUPS_LANGUAGES/TITLE_LANGUAGES"></h3>
|
||||
</header>
|
||||
<div class="modal-body" style="min-height: 150px;" data-bind="foreach: languages">
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<div class="descWrapper" data-bind="visible: '' !== loadingDesc, text: loadingDesc"></div>
|
||||
<div class="alert" data-bind="hidden: !submitError()" hidden="">
|
||||
<button type="button" class="close" data-bind="click: function () { submitError('') }">×</button>
|
||||
<a href="#" class="close" data-bind="click: function () { submitError('') }">×</a>
|
||||
<span data-bind="text: submitError"></span>
|
||||
<p data-bind="visible: '' !== submitErrorAddidional(), text: submitErrorAddidional"></p>
|
||||
</div>
|
||||
|
|
|
@ -160,7 +160,7 @@
|
|||
<div class="b-message" data-bind="visible: message">
|
||||
<div class="messageItemHeader" data-bind="css: {'emptySubject': '' === viewSubject()}">
|
||||
<div class="subjectParent">
|
||||
<button class="close" data-bind="command: closeMessageCommand" style="margin-top: -2px;">×</button>
|
||||
<a href="#" class="close" data-bind="command: closeMessageCommand" style="margin-top: -2px;">×</a>
|
||||
<span class="infoParent g-ui-user-select-none fontastic" data-bind="click: function() { showFullInfo(!showFullInfo()); }">ℹ</span>
|
||||
<span class="flagParent g-ui-user-select-none flagOff fontastic" data-bind="text: viewIsFlagged() ? '★' : '☆', css: {'flagOn': viewIsFlagged, 'flagOff': !viewIsFlagged()}"></span>
|
||||
<b style="color: red; margin-right: 5px" data-bind="visible: viewIsImportant">!</b>
|
||||
|
@ -303,8 +303,8 @@
|
|||
data-i18n="MESSAGE/LINK_DOWNLOAD_AS_ZIP"></span>
|
||||
</span>
|
||||
|
||||
<button type="button" class="close" style="margin-right: 5px;"
|
||||
data-bind="click: function () { showAttachmnetControls(false); showAttachmnetControlsState(false); }">×</button>
|
||||
<a href="#" class="close" style="margin-right: 5px;"
|
||||
data-bind="click: function () { showAttachmnetControls(false); showAttachmnetControlsState(false); }">×</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: cancelCommand">×</a>
|
||||
<h3>
|
||||
<span data-bind="visible: isNew" data-i18n="POPUPS_ADD_ACCOUNT/TITLE_ADD_ACCOUNT"></span>
|
||||
<span data-bind="visible: !isNew()" data-i18n="POPUPS_ADD_ACCOUNT/TITLE_UPDATE_ACCOUNT"></span>
|
||||
|
@ -7,29 +7,24 @@
|
|||
</header>
|
||||
<form class="modal-body form-horizontal" autocomplete="off">
|
||||
<div class="alert" data-bind="visible: '' !== submitError()">
|
||||
<button type="button" class="close" data-bind="click: function () { submitError('') }">×</button>
|
||||
<a href="#" class="close" data-bind="click: function () { submitError('') }">×</a>
|
||||
<span data-bind="text: submitError"></span>
|
||||
<div data-bind="visible: submitErrorAdditional">
|
||||
<br />
|
||||
<span data-bind="text: submitErrorAdditional"></span>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="control-group" data-bind="css: {'error': emailError}">
|
||||
<label class="control-label" data-i18n="GLOBAL/EMAIL"></label>
|
||||
<div class="controls">
|
||||
<label style="margin-top: 5px;" data-bind="visible: !isNew()"><strong data-bind="text: email"></strong></label>
|
||||
<input type="email" class="input-xlarge"
|
||||
autofocus="" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="visible: isNew, textInput: email, onEnter: addAccountCommand" />
|
||||
</div>
|
||||
<label data-i18n="GLOBAL/EMAIL"></label>
|
||||
<label style="margin-top: 5px;" data-bind="visible: !isNew()"><strong data-bind="text: email"></strong></label>
|
||||
<input type="email" class="input-xlarge"
|
||||
autofocus="" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="visible: isNew, textInput: email, onEnter: addAccountCommand" />
|
||||
</div>
|
||||
<div class="control-group" data-bind="css: {'error': passwordError}">
|
||||
<label class="control-label" data-i18n="GLOBAL/PASSWORD"></label>
|
||||
<div class="controls">
|
||||
<input type="password" class="inputPassword input-xlarge" autocomplete="new-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: password, onEnter: addAccountCommand" />
|
||||
</div>
|
||||
<label data-i18n="GLOBAL/PASSWORD"></label>
|
||||
<input type="password" class="inputPassword input-xlarge" autocomplete="new-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: password, onEnter: addAccountCommand" />
|
||||
</div>
|
||||
</form>
|
||||
<footer>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: cancelCommand">×</a>
|
||||
<h3 data-i18n="POPUPS_IMPORT_OPEN_PGP_KEY/TITLE_IMPORT_OPEN_PGP_KEY"></h3>
|
||||
</header>
|
||||
<div class="modal-body">
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: cancelCommand">×</a>
|
||||
<h3 data-i18n="SEARCH/TITLE_ADV"></h3>
|
||||
</header>
|
||||
<div class="modal-body">
|
||||
|
@ -7,39 +7,31 @@
|
|||
<div class="row">
|
||||
<div class="span4">
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="GLOBAL/FROM"></label>
|
||||
<div class="controls">
|
||||
<input type="text" class="uiInput inputFrom"
|
||||
autofocus="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: from, onEnter: searchCommand, onEsc: cancelCommand" />
|
||||
</div>
|
||||
<label data-i18n="GLOBAL/FROM"></label>
|
||||
<input type="text" class="uiInput inputFrom"
|
||||
autofocus="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: from, onEnter: searchCommand, onEsc: cancelCommand" />
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="GLOBAL/TO"></label>
|
||||
<div class="controls">
|
||||
<input type="text" class="uiInput inputFrom" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: to, onEnter: searchCommand, onEsc: cancelCommand" />
|
||||
</div>
|
||||
<label data-i18n="GLOBAL/TO"></label>
|
||||
<input type="text" class="uiInput inputFrom" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: to, onEnter: searchCommand, onEsc: cancelCommand" />
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="GLOBAL/SUBJECT"></label>
|
||||
<div class="controls">
|
||||
<input type="text" class="uiInput inputFrom" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: subject, onEnter: searchCommand, onEsc: cancelCommand" />
|
||||
</div>
|
||||
<label data-i18n="GLOBAL/SUBJECT"></label>
|
||||
<input type="text" class="uiInput inputFrom" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: subject, onEnter: searchCommand, onEsc: cancelCommand" />
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="SEARCH/LABEL_ADV_TEXT"></label>
|
||||
<div class="controls">
|
||||
<input type="text" class="uiInput inputFrom" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: text, onEnter: searchCommand, onEsc: cancelCommand" />
|
||||
</div>
|
||||
<label data-i18n="SEARCH/LABEL_ADV_TEXT"></label>
|
||||
<input type="text" class="uiInput inputFrom" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: text, onEnter: searchCommand, onEsc: cancelCommand" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="span4">
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="SEARCH/LABEL_ADV_DATE"></label>
|
||||
<div class="controls" data-bind="component: {
|
||||
<label data-i18n="SEARCH/LABEL_ADV_DATE"></label>
|
||||
<div data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: selectedDates,
|
||||
|
@ -51,8 +43,8 @@
|
|||
</div>
|
||||
<!-- ko if: showMultisearch -->
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="SEARCH/LABEL_ADV_SUBFOLDERS"></label>
|
||||
<div class="controls" data-bind="component: {
|
||||
<label data-i18n="SEARCH/LABEL_ADV_SUBFOLDERS"></label>
|
||||
<div data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: selectedTree,
|
||||
|
@ -64,9 +56,8 @@
|
|||
</div>
|
||||
<!-- /ko -->
|
||||
<div class="control-group">
|
||||
<label class="control-label">
|
||||
</label>
|
||||
<div class="controls">
|
||||
<label></label>
|
||||
<div>
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
|
|
|
@ -166,7 +166,7 @@
|
|||
<div class="iconBG" data-bind="text: progressText, visible: uploading"></div>
|
||||
</div>
|
||||
<div class="attachmentNameParent">
|
||||
<button type="button" class="close pull-right" style="margin-top:-4px;" data-bind="click: cancel">×</button>
|
||||
<a href="#" class="close pull-right" style="margin-top:-4px;" data-bind="click: cancel">×</a>
|
||||
<div class="attachmentName" data-bind="text: fileName"></div>
|
||||
<span class="attachmentSize" data-bind="text: friendlySize"></span>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: cancelCommand">×</a>
|
||||
<h3 data-i18n="POPUPS_COMPOSE_OPEN_PGP/TITLE_COMPOSE_OPEN_PGP"></h3>
|
||||
</header>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<header class="b-header-toolbar g-ui-user-select-none">
|
||||
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: cancelCommand">×</a>
|
||||
|
||||
<div class="btn-toolbar">
|
||||
|
||||
|
@ -128,8 +128,8 @@
|
|||
<div data-bind="visible: !emptySelection()">
|
||||
<div class="form-horizontal top-part">
|
||||
<div class="control-group" data-bind="visible: !viewReadOnly() || contactHasValidName()">
|
||||
<label class="control-label fontastic iconsize24">👤</label>
|
||||
<div class="controls">
|
||||
<label class="fontastic iconsize24">👤</label>
|
||||
<div>
|
||||
<div data-bind="foreach: viewPropertiesNames">
|
||||
<div class="property-line">
|
||||
<span data-bind="text: value"></span>
|
||||
|
@ -157,8 +157,8 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="control-group" data-bind="visible: !viewReadOnly() || 0 < viewPropertiesEmails().length">
|
||||
<label class="control-label fontastic iconsize24" data-i18n="[title]GLOBAL/EMAIL">@</label>
|
||||
<div class="controls">
|
||||
<label class="fontastic iconsize24" data-i18n="[title]GLOBAL/EMAIL">@</label>
|
||||
<div>
|
||||
<div data-bind="foreach: viewPropertiesEmails">
|
||||
<div class="property-line">
|
||||
<span data-bind="text: value"></span>
|
||||
|
@ -171,8 +171,8 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="control-group" data-bind="visible: 0 < viewPropertiesPhones().length">
|
||||
<label class="control-label fontastic iconsize24" data-i18n="[title]CONTACTS/LABEL_PHONE">📞</label>
|
||||
<div class="controls">
|
||||
<label class="fontastic iconsize24" data-i18n="[title]CONTACTS/LABEL_PHONE">📞</label>
|
||||
<div>
|
||||
<div data-bind="foreach: viewPropertiesPhones">
|
||||
<div class="property-line">
|
||||
<span data-bind="text: value"></span>
|
||||
|
@ -184,8 +184,8 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="control-group" data-bind="visible: 0 < viewPropertiesWeb().length">
|
||||
<label class="control-label fontastic iconsize24" data-i18n="[title]CONTACTS/LABEL_WEB">🌍</label>
|
||||
<div class="controls">
|
||||
<label class="fontastic iconsize24" data-i18n="[title]CONTACTS/LABEL_WEB">🌍</label>
|
||||
<div>
|
||||
<div data-bind="foreach: viewPropertiesWeb">
|
||||
<div class="property-line">
|
||||
<span data-bind="text: value"></span>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: cancelCommand">×</a>
|
||||
<h3>
|
||||
<span data-i18n="POPUPS_FILTER/TITLE_CREATE_FILTER" data-bind="visible: isNew"></span>
|
||||
<span data-i18n="POPUPS_FILTER/TITLE_EDIT_FILTER" data-bind="visible: !isNew()"></span>
|
||||
|
@ -10,13 +10,11 @@
|
|||
<div data-bind="i18nInit: true">
|
||||
|
||||
<div class="control-group" data-bind="css: {'error': nameError}">
|
||||
<div class="controls">
|
||||
<input type="text" class="span5"
|
||||
data-bind="value: name, hasfocus: nameFocused"
|
||||
autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-i18n="[placeholder]GLOBAL/NAME"
|
||||
/>
|
||||
</div>
|
||||
<input type="text" class="span5"
|
||||
data-bind="value: name, hasfocus: nameFocused"
|
||||
autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-i18n="[placeholder]GLOBAL/NAME"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="legend" data-i18n="POPUPS_FILTER/LEGEND_CONDITIONS"></div>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: cancelCommand">×</a>
|
||||
<h3>
|
||||
<span data-i18n="POPUPS_CLEAR_FOLDER/TITLE_CLEAR_FOLDER" data-bind="visible: !clearingProcess()"></span>
|
||||
<span data-i18n="POPUPS_CLEAR_FOLDER/TITLE_CLEARING_PROCESS" data-bind="visible: clearingProcess"></span>
|
||||
|
|
|
@ -1,23 +1,19 @@
|
|||
<header>
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: cancelCommand">×</a>
|
||||
<h3 data-i18n="POPUPS_CREATE_FOLDER/TITLE_CREATE_FOLDER"></h3>
|
||||
</header>
|
||||
<div class="modal-body">
|
||||
<div class="form-horizontal">
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="POPUPS_CREATE_FOLDER/LABEL_PARENT"></label>
|
||||
<div class="controls">
|
||||
<select data-bind="options: parentFolderSelectList, value: selectedParentValue,
|
||||
optionsText: 'name', optionsValue: 'id', optionsAfterRender: defaultOptionsAfterRender"></select>
|
||||
</div>
|
||||
<label data-i18n="POPUPS_CREATE_FOLDER/LABEL_PARENT"></label>
|
||||
<select data-bind="options: parentFolderSelectList, value: selectedParentValue,
|
||||
optionsText: 'name', optionsValue: 'id', optionsAfterRender: defaultOptionsAfterRender"></select>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="GLOBAL/NAME"></label>
|
||||
<div class="controls">
|
||||
<input type="text" class="uiInput inputName"
|
||||
autofocus="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="textInput: folderName, onEnter: createFolderCommand" />
|
||||
</div>
|
||||
<label data-i18n="GLOBAL/NAME"></label>
|
||||
<input type="text" class="uiInput inputName"
|
||||
autofocus="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="textInput: folderName, onEnter: createFolderCommand" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,45 +1,34 @@
|
|||
<header>
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: cancelCommand">×</a>
|
||||
<h3 data-i18n="POPUPS_SYSTEM_FOLDERS/TITLE_SYSTEM_FOLDERS"></h3>
|
||||
</header>
|
||||
<div class="modal-body">
|
||||
<div class="form-horizontal">
|
||||
<div class="alert" data-bind="visible: '' !== notification()" data-bind="text: notification"></div>
|
||||
<br />
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="FOLDER_LIST/SENT_NAME"></label>
|
||||
<div class="controls">
|
||||
<select data-bind="options: folderSelectList, value: sentFolder,
|
||||
optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender"></select>
|
||||
</div>
|
||||
<label data-i18n="FOLDER_LIST/SENT_NAME"></label>
|
||||
<select data-bind="options: folderSelectList, value: sentFolder,
|
||||
optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender"></select>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="FOLDER_LIST/DRAFTS_NAME"></label>
|
||||
<div class="controls">
|
||||
<select data-bind="options: folderSelectList, value: draftFolder,
|
||||
optionsText: 'name', optionsValue: 'id', optionsAfterRender: defaultOptionsAfterRender"></select>
|
||||
</div>
|
||||
<label data-i18n="FOLDER_LIST/DRAFTS_NAME"></label>
|
||||
<select data-bind="options: folderSelectList, value: draftFolder,
|
||||
optionsText: 'name', optionsValue: 'id', optionsAfterRender: defaultOptionsAfterRender"></select>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="GLOBAL/SPAM"></label>
|
||||
<div class="controls">
|
||||
<select data-bind="options: folderSelectList, value: spamFolder,
|
||||
optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender"></select>
|
||||
</div>
|
||||
<label data-i18n="GLOBAL/SPAM"></label>
|
||||
<select data-bind="options: folderSelectList, value: spamFolder,
|
||||
optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender"></select>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="FOLDER_LIST/TRASH_NAME"></label>
|
||||
<div class="controls">
|
||||
<select data-bind="options: folderSelectList, value: trashFolder,
|
||||
optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender"></select>
|
||||
</div>
|
||||
<label data-i18n="FOLDER_LIST/TRASH_NAME"></label>
|
||||
<select data-bind="options: folderSelectList, value: trashFolder,
|
||||
optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender"></select>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="FOLDER_LIST/ARCHIVE_NAME"></label>
|
||||
<div class="controls">
|
||||
<select data-bind="options: folderSelectList, value: archiveFolder,
|
||||
optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender"></select>
|
||||
</div>
|
||||
<label data-i18n="FOLDER_LIST/ARCHIVE_NAME"></label>
|
||||
<select data-bind="options: folderSelectList, value: archiveFolder,
|
||||
optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender"></select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<header class="g-ui-user-select-none">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: cancelCommand">×</a>
|
||||
<h3>
|
||||
<span data-bind="visible: !edit()" data-i18n="POPUPS_IDENTITY/TITLE_ADD_IDENTITY"></span>
|
||||
<span data-bind="visible: edit" data-i18n="POPUPS_IDENTITY/TITLE_UPDATE_IDENTITY"></span>
|
||||
|
@ -8,50 +8,38 @@
|
|||
<div class="modal-body">
|
||||
<div class="form-horizontal g-ui-user-select-none">
|
||||
<div class="alert" data-bind="visible: '' !== submitError()">
|
||||
<button type="button" class="close" data-bind="click: function () { submitError('') }">×</button>
|
||||
<a href="#" class="close" data-bind="click: function () { submitError('') }">×</a>
|
||||
<span data-bind="text: submitError"></span>
|
||||
</div>
|
||||
<br />
|
||||
<div class="control-group" data-bind="visible: !owner(), css: {'error': emailHasError}">
|
||||
<label class="control-label" data-i18n="GLOBAL/EMAIL"></label>
|
||||
<div class="controls">
|
||||
<div class="control-group" data-bind="css: {'error': emailHasError}">
|
||||
<label data-i18n="GLOBAL/EMAIL"></label>
|
||||
<div>
|
||||
<div class="textEmail" data-bind="text: email, visible: owner"></div>
|
||||
<input type="email" class="input-xlarge" autofocus=""
|
||||
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: email, onEnter: addOrEditIdentityCommand, hasfocus: emailFocused" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group" data-bind="visible: owner">
|
||||
<label class="control-label" data-i18n="GLOBAL/EMAIL"></label>
|
||||
<div class="controls">
|
||||
<div class="textEmail" data-bind="text: email"></div>
|
||||
data-bind="visible: !owner(), value: email, onEnter: addOrEditIdentityCommand, hasfocus: emailFocused" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="GLOBAL/NAME"></label>
|
||||
<div class="controls">
|
||||
<input type="text" class="inputName input-xlarge"
|
||||
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: name, onEnter: addOrEditIdentityCommand" />
|
||||
</div>
|
||||
<label data-i18n="GLOBAL/NAME"></label>
|
||||
<input type="text" class="inputName input-xlarge"
|
||||
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: name, onEnter: addOrEditIdentityCommand" />
|
||||
</div>
|
||||
<div class="control-group" data-bind="visible: showReplyTo, css: {'error': replyToHasError}">
|
||||
<label class="control-label" data-i18n="GLOBAL/REPLY_TO"></label>
|
||||
<div class="controls">
|
||||
<input type="text" class="inputReplyTo input-xlarge"
|
||||
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: replyTo, onEnter: addOrEditIdentityCommand, hasfocus: replyToFocused" />
|
||||
</div>
|
||||
<label data-i18n="GLOBAL/REPLY_TO"></label>
|
||||
<input type="text" class="inputReplyTo input-xlarge"
|
||||
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: replyTo, onEnter: addOrEditIdentityCommand, hasfocus: replyToFocused" />
|
||||
</div>
|
||||
<div class="control-group" data-bind="visible: showBcc, css: {'error': bccHasError}">
|
||||
<label class="control-label" data-i18n="GLOBAL/BCC"></label>
|
||||
<div class="controls">
|
||||
<input type="text" class="inputBcc input-xlarge"
|
||||
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: bcc, onEnter: addOrEditIdentityCommand, hasfocus: bccFocused" />
|
||||
</div>
|
||||
<label data-i18n="GLOBAL/BCC"></label>
|
||||
<input type="text" class="inputBcc input-xlarge"
|
||||
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: bcc, onEnter: addOrEditIdentityCommand, hasfocus: bccFocused" />
|
||||
</div>
|
||||
<div class="control-group" data-bind="visible: !showReplyTo() || !showBcc()">
|
||||
<div class="controls">
|
||||
<div>
|
||||
<span data-bind="visible: !showReplyTo()">
|
||||
<span class="g-ui-link" data-i18n="GLOBAL/REPLY_TO"
|
||||
data-bind="click: function () { showReplyTo(true); }"></span>
|
||||
|
@ -66,7 +54,7 @@
|
|||
</div>
|
||||
<hr />
|
||||
<div class="control-group g-ui-user-select-none">
|
||||
<div class="controls" data-bind="component: {
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'POPUPS_IDENTITY/LABEL_SIGNATURE_INSERT_BEFORE',
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: cancelCommand">×</a>
|
||||
<h3 data-i18n="SHORTCUTS_HELP/LEGEND_SHORTCUTS_HELP"></h3>
|
||||
</header>
|
||||
<div class="modal-body">
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: cancelCommand">×</a>
|
||||
<h3 data-i18n="POPUPS_MESSAGE_OPEN_PGP/TITLE_MESSAGE_OPEN_PGP"></h3>
|
||||
</header>
|
||||
<div class="modal-body">
|
||||
|
@ -7,10 +7,9 @@
|
|||
<div class="alert" data-bind="visible: '' !== notification()">
|
||||
<span data-bind="text: notification"></span>
|
||||
</div>
|
||||
<br />
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="POPUPS_MESSAGE_OPEN_PGP/LABEL_KEY"></label>
|
||||
<div class="controls key-list" data-bind="foreach: privateKeys" style="margin-top: 5px">
|
||||
<label data-i18n="POPUPS_MESSAGE_OPEN_PGP/LABEL_KEY"></label>
|
||||
<div class="key-list" data-bind="foreach: privateKeys" style="margin-top: 5px">
|
||||
<div class="key-list__item">
|
||||
<i class="key-list__item__radio fontastic">○</i>
|
||||
<div class="key-list__item__names" data-bind="foreach: users">
|
||||
|
@ -24,11 +23,9 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="GLOBAL/PASSWORD"></label>
|
||||
<div class="controls">
|
||||
<input type="password" class="inputPassword input-xlarge" autofocus="" autocomplete="current-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="textInput: password, onEnter: doCommand" />
|
||||
</div>
|
||||
<label data-i18n="GLOBAL/PASSWORD"></label>
|
||||
<input type="password" class="inputPassword input-xlarge" autofocus="" autocomplete="current-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="textInput: password, onEnter: doCommand" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,44 +1,33 @@
|
|||
<header>
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: cancelCommand">×</a>
|
||||
<h3 data-i18n="POPUPS_GENERATE_OPEN_PGP_KEYS/TITLE_GENERATE_OPEN_PGP_KEYS"></h3>
|
||||
</header>
|
||||
<div class="modal-body">
|
||||
<div class="form-horizontal">
|
||||
<div class="alert" data-bind="visible: '' !== submitError()">
|
||||
<button type="button" class="close" data-bind="click: function () { submitError('') }">×</button>
|
||||
<span data-bind="text: submitError"></span>
|
||||
</div>
|
||||
<br />
|
||||
<div class="control-group" data-bind="css: {'error': emailError}">
|
||||
<label class="control-label" data-i18n="GLOBAL/EMAIL"></label>
|
||||
<div class="controls">
|
||||
<input type="email" class="input-large"
|
||||
autofocus="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: email" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="GLOBAL/NAME"></label>
|
||||
<div class="controls">
|
||||
<input type="text" class="inputName input-large"
|
||||
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: name" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="GLOBAL/PASSWORD"></label>
|
||||
<div class="controls">
|
||||
<input type="password" class="inputPassword input-large"
|
||||
autocomplete="current-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: password" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="POPUPS_GENERATE_OPEN_PGP_KEYS/LABEL_KEY_BIT_LENGTH"></label>
|
||||
<div class="controls">
|
||||
<select data-bind="value: keyBitLength, options: [2048, 4096]"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-body form-horizontal">
|
||||
<div class="alert" data-bind="visible: '' !== submitError()">
|
||||
<a href="#" class="close" data-bind="click: function () { submitError('') }">×</a>
|
||||
<span data-bind="text: submitError"></span>
|
||||
</div>
|
||||
<div class="control-group" data-bind="css: {'error': emailError}">
|
||||
<label data-i18n="GLOBAL/EMAIL"></label>
|
||||
<input type="email" class="input-large"
|
||||
autofocus="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: email" />
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label data-i18n="GLOBAL/NAME"></label>
|
||||
<input type="text" class="inputName input-large"
|
||||
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: name" />
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label data-i18n="GLOBAL/PASSWORD"></label>
|
||||
<input type="password" class="inputPassword input-large"
|
||||
autocomplete="current-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: password" />
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label data-i18n="POPUPS_GENERATE_OPEN_PGP_KEYS/LABEL_KEY_BIT_LENGTH"></label>
|
||||
<select data-bind="value: keyBitLength, options: [2048, 4096]"></select>
|
||||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!-- ko with: script -->
|
||||
<header>
|
||||
<button type="button" class="close" data-bind="command: $root.cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: $root.cancelCommand">×</a>
|
||||
<h3>
|
||||
<span data-i18n="POPUPS_SIEVE_SCRIPT/TITLE_CREATE" data-bind="visible: !exists()"></span>
|
||||
<span data-i18n="POPUPS_SIEVE_SCRIPT/TITLE_EDIT" data-bind="visible: exists"></span>
|
||||
|
@ -10,13 +10,11 @@
|
|||
<div class="modal-body">
|
||||
|
||||
<div class="control-group" data-bind="css: {'error': nameError}, hidden: exists">
|
||||
<div class="controls">
|
||||
<input type="text" class="span5"
|
||||
data-bind="value: name, hasfocus: !exists()"
|
||||
autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-i18n="[placeholder]GLOBAL/NAME"
|
||||
/>
|
||||
</div>
|
||||
<input type="text" class="span5"
|
||||
data-bind="value: name, hasfocus: !exists()"
|
||||
autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-i18n="[placeholder]GLOBAL/NAME"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="alert g-ui-user-select-none" data-bind="visible: hasChanges">
|
||||
|
@ -29,7 +27,7 @@
|
|||
</div>
|
||||
|
||||
<div class="control-group" data-bind="visible: $root.rawActive">
|
||||
<div class="controls">
|
||||
<div>
|
||||
<pre>
|
||||
<b data-i18n="POPUPS_SIEVE_SCRIPT/CAPABILITY_LABEL"></b>:
|
||||
<span data-bind="text: $root.sieveCapabilities"></span>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<header class="g-ui-user-select-none">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<a href="#" class="close" data-bind="command: cancelCommand">×</a>
|
||||
<h3 data-i18n="POPUPS_VIEW_OPEN_PGP_KEY/TITLE_VIEW_OPEN_PGP_KEY"></h3>
|
||||
</header>
|
||||
<div class="modal-body">
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class="form-horizontal">
|
||||
<div class="legend" data-i18n="GLOBAL/CONTACTS"></div>
|
||||
<div class="control-group">
|
||||
<div class="controls" data-bind="component: {
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'SETTINGS_CONTACTS/LABEL_CONTACTS_AUTOSAVE',
|
||||
|
@ -13,7 +13,7 @@
|
|||
<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" data-bind="component: {
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_ENABLE',
|
||||
|
@ -22,25 +22,19 @@
|
|||
}"></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_AB_URL"></label>
|
||||
<div class="controls">
|
||||
<input type="text" class="input-xxlarge" autocomplete="off" autocorrect="off" autocapitalize="off"
|
||||
spellcheck="false" data-bind="value: contactsSyncUrl" placeholder="https://" />
|
||||
</div>
|
||||
<label data-i18n="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_AB_URL"></label>
|
||||
<input type="text" class="input-xxlarge" autocomplete="off" autocorrect="off" autocapitalize="off"
|
||||
spellcheck="false" data-bind="value: contactsSyncUrl" placeholder="https://" />
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_USER"></label>
|
||||
<div class="controls">
|
||||
<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: contactsSyncUser" />
|
||||
</div>
|
||||
<label data-i18n="SETTINGS_CONTACTS/LABEL_CONTACTS_SYNC_USER"></label>
|
||||
<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: contactsSyncUser" />
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="GLOBAL/PASSWORD"></label>
|
||||
<div class="controls">
|
||||
<input type="password" autocomplete="current-password" autocorrect="off" autocapitalize="off"
|
||||
spellcheck="false" data-bind="value: contactsSyncPass" />
|
||||
</div>
|
||||
<label data-i18n="GLOBAL/PASSWORD"></label>
|
||||
<input type="password" autocomplete="current-password" autocorrect="off" autocapitalize="off"
|
||||
spellcheck="false" data-bind="value: contactsSyncPass" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -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 data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'POPUPS_FILTER/STOP_LABEL',
|
||||
value: actionNoStop
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
<div class="control-group" data-bind="css: {'error': actionValueError}">
|
||||
<div class="controls">
|
||||
<input type="text" class="span3" data-bind="value: actionValue"
|
||||
data-i18n="[placeholder]GLOBAL/EMAIL" />
|
||||
</div>
|
||||
<input type="text" class="span3" data-bind="value: actionValue"
|
||||
data-i18n="[placeholder]GLOBAL/EMAIL" />
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div>
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
<div class="control-group" data-bind="css: {'error': actionValueError}">
|
||||
<div class="controls">
|
||||
<select class="span3" data-bind="options: $root.folderSelectList, value: $root.selectedFolderValue,
|
||||
optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender"></select>
|
||||
</div>
|
||||
<select class="span3" data-bind="options: $root.folderSelectList, value: $root.selectedFolderValue,
|
||||
optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender"></select>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div>
|
||||
<div data-bind="visible: $root.allowMarkAsRead, component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div class="control-group" data-bind="css: {'error': actionValueError}" style="margin-bottom: 0">
|
||||
<div class="controls" data-bind="component: {
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'POPUPS_FILTER/STOP_LABEL',
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div class="control-group" data-bind="css: {'error': actionValueError}" style="margin-bottom: 0">
|
||||
<div class="controls">
|
||||
<div>
|
||||
<textarea class="span5" data-bind="value: actionValue" style="height: 100px;"
|
||||
data-i18n="[placeholder]POPUPS_FILTER/REJECT_MESSAGE_LABEL"></textarea>
|
||||
<div data-bind="component: {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div class="control-group" style="margin-bottom: 0">
|
||||
<div class="controls" data-bind="component: {
|
||||
<div data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: [1, 2, 3, 7, 30],
|
||||
|
@ -10,26 +10,22 @@
|
|||
}"></div>
|
||||
</div>
|
||||
<div class="control-group" data-bind="css: {'error': actionValueFourthError}" style="margin-bottom: 0">
|
||||
<div class="controls">
|
||||
<div>
|
||||
<input type="text" class="span5" data-bind="value: actionValueFourth"
|
||||
data-i18n="[placeholder]POPUPS_FILTER/VACATION_RECIPIENTS_LABEL" />
|
||||
<button class="btn setRecipientsBtn fontastic" data-bind="click: setRecipients">✚</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group" style="margin-bottom: 0">
|
||||
<div class="controls">
|
||||
<input type="text" class="span5" data-bind="value: actionValueSecond"
|
||||
data-i18n="[placeholder]POPUPS_FILTER/VACATION_SUBJECT_LABEL" />
|
||||
</div>
|
||||
<input type="text" class="span5" data-bind="value: actionValueSecond"
|
||||
data-i18n="[placeholder]POPUPS_FILTER/VACATION_SUBJECT_LABEL" />
|
||||
</div>
|
||||
<div class="control-group" data-bind="css: {'error': actionValueError}" style="margin-bottom: 0">
|
||||
<div class="controls">
|
||||
<textarea class="span5" data-bind="value: actionValue" style="height: 100px;"
|
||||
data-i18n="[placeholder]POPUPS_FILTER/VACATION_MESSAGE_LABEL"></textarea>
|
||||
</div>
|
||||
<textarea class="span5" data-bind="value: actionValue" style="height: 100px;"
|
||||
data-i18n="[placeholder]POPUPS_FILTER/VACATION_MESSAGE_LABEL"></textarea>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls" data-bind="component: {
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'POPUPS_FILTER/STOP_LABEL',
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<span data-i18n="SETTINGS_FOLDERS/TO_MANY_FOLDERS_DESC_2"></span>
|
||||
</div>
|
||||
<div class="alert folders-list-error" data-bind="visible: '' !== folderListError()">
|
||||
<button type="button" class="close" data-bind="click: function () { folderListError(''); }">×</button>
|
||||
<a href="#" class="close" data-bind="click: function () { folderListError(''); }">×</a>
|
||||
<span data-bind="text: folderListError"></span>
|
||||
</div>
|
||||
<table class="table table-hover list-table" data-bind="i18nUpdate: folderList">
|
||||
|
|
|
@ -1,21 +1,19 @@
|
|||
<div class="form-horizontal">
|
||||
<div class="legend" data-i18n="SETTINGS_GENERAL/LEGEND_GENERAL"></div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="SETTINGS_GENERAL/LABEL_IDENTITY"></label>
|
||||
<div class="controls">
|
||||
<b class="editMainIdentity" data-bind="click: editMainIdentity, text: identityMainDesc"></b>
|
||||
</div>
|
||||
<label data-i18n="SETTINGS_GENERAL/LABEL_IDENTITY"></label>
|
||||
<b class="editMainIdentity" data-bind="click: editMainIdentity, text: identityMainDesc"></b>
|
||||
</div>
|
||||
<div class="control-group" data-bind="visible: allowLanguagesOnSettings">
|
||||
<label class="control-label" data-i18n="SETTINGS_GENERAL/LABEL_LANGUAGE"></label>
|
||||
<div class="controls">
|
||||
<label data-i18n="SETTINGS_GENERAL/LABEL_LANGUAGE"></label>
|
||||
<div>
|
||||
<span class="select" tabindex="0" data-bind="text: languageFullName, click: selectLanguage, onSpace: selectLanguage, onEnter: selectLanguage"></span>
|
||||
<span data-bind="saveTrigger: languageTrigger"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="SETTINGS_GENERAL/LABEL_LAYOUT"></label>
|
||||
<div class="controls" data-bind="component: {
|
||||
<label data-i18n="SETTINGS_GENERAL/LABEL_LAYOUT"></label>
|
||||
<div data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: layoutTypes,
|
||||
|
@ -27,8 +25,8 @@
|
|||
}"></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="SETTINGS_GENERAL/LABEL_EDITOR"></label>
|
||||
<div class="controls" data-bind="component: {
|
||||
<label data-i18n="SETTINGS_GENERAL/LABEL_EDITOR"></label>
|
||||
<div data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
options: editorDefaultTypes,
|
||||
|
@ -40,16 +38,16 @@
|
|||
}"></div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="SETTINGS_GENERAL/LABEL_MESSAGE_PER_PAGE"></label>
|
||||
<div class="controls">
|
||||
<label data-i18n="SETTINGS_GENERAL/LABEL_MESSAGE_PER_PAGE"></label>
|
||||
<div>
|
||||
<input type="number" min="10" max="50" step="1" class="span1" data-bind="textInput: messagesPerPage"/>
|
||||
|
||||
<span data-bind="saveTrigger: mppTrigger"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" data-i18n="SETTINGS_GENERAL/LABEL_MARK_MESSAGE_READ_AFTER"></label>
|
||||
<div class="controls">
|
||||
<label data-i18n="SETTINGS_GENERAL/LABEL_MARK_MESSAGE_READ_AFTER"></label>
|
||||
<div>
|
||||
<input type="number" min="0" step="1" class="span1" data-bind="textInput: messageReadDelay"/>
|
||||
|
||||
<span data-i18n="SETTINGS_GENERAL/SECONDS"></label>
|
||||
|
@ -57,7 +55,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div>
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
|
@ -99,7 +97,7 @@
|
|||
|
||||
<div class="legend" data-i18n="SETTINGS_GENERAL/LABEL_NOTIFICATIONS"></div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<div>
|
||||
<div>
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<br />
|
||||
<br />
|
||||
<div class="control-group">
|
||||
<div class="controls" data-bind="component: {
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'SETTINGS_OPEN_PGP/LABEL_ALLOW_DRAFT_AUTOSAVE',
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<div class="form-horizontal" data-bind="visible: capaAutoLogout">
|
||||
<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" data-bind="component: {
|
||||
<label data-i18n="SETTINGS_SECURITY/LABEL_AUTOLOGOUT"></label>
|
||||
<div data-bind="component: {
|
||||
name: 'Select',
|
||||
params: {
|
||||
inline: true,
|
||||
|
|
1
vendors/bootstrap/less/alerts.less
vendored
1
vendors/bootstrap/less/alerts.less
vendored
|
@ -15,6 +15,7 @@
|
|||
border-radius: 4px;
|
||||
color: @warningText;
|
||||
max-width: 800px;
|
||||
min-height: @baseLineHeight;
|
||||
}
|
||||
|
||||
// Adjust close link position
|
||||
|
|
20
vendors/bootstrap/less/close.less
vendored
20
vendors/bootstrap/less/close.less
vendored
|
@ -9,22 +9,10 @@
|
|||
font-weight: bold;
|
||||
line-height: @baseLineHeight;
|
||||
color: inherit;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
text-shadow: 0 1px 0 rgba(255,255,255,1);
|
||||
opacity: 0.5;
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
opacity: 0.8;
|
||||
&:not(:hover) {
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
|
||||
// Additional properties for button version
|
||||
// iOS requires the button element instead of an anchor tag.
|
||||
// If you want the anchor version, it requires `href="#"`.
|
||||
button.close {
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
|
40
vendors/bootstrap/less/forms.less
vendored
40
vendors/bootstrap/less/forms.less
vendored
|
@ -49,24 +49,13 @@ input {
|
|||
border-radius: @inputBorderRadius;
|
||||
}
|
||||
|
||||
// Reset appearance properties for textual inputs and textarea
|
||||
// Declare width for legacy (can't be on input[type=*] selectors or it's too specific)
|
||||
input,
|
||||
textarea {
|
||||
width: 210px;
|
||||
}
|
||||
// Reset height since textareas have rows
|
||||
textarea {
|
||||
height: auto;
|
||||
resize: none;
|
||||
}
|
||||
// Everything else
|
||||
textarea,
|
||||
input {
|
||||
background-color: @inputBackground;
|
||||
border: 1px solid @inputBorder;
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
|
||||
transition: border linear .2s, box-shadow linear .2s;
|
||||
width: 210px;
|
||||
|
||||
// Focus state
|
||||
&:focus {
|
||||
|
@ -188,18 +177,19 @@ input[type="checkbox"][readonly] {
|
|||
// Increase spacing between groups
|
||||
.control-group {
|
||||
margin-bottom: @baseLineHeight;
|
||||
}
|
||||
// Float the labels left
|
||||
.control-label {
|
||||
display: inline-block;
|
||||
width: 140px;
|
||||
padding-top: 5px;
|
||||
text-align: right;
|
||||
}
|
||||
// Move over all input controls and content
|
||||
.controls {
|
||||
display: inline-block;
|
||||
margin-left: 20px;
|
||||
vertical-align: top;
|
||||
|
||||
> label {
|
||||
display: inline-block;
|
||||
padding-top: 5px;
|
||||
text-align: right;
|
||||
width: 140px;
|
||||
}
|
||||
|
||||
// Move over all input controls and content
|
||||
> *:not(label) {
|
||||
display: inline-block;
|
||||
margin-left: 20px;
|
||||
vertical-align: top;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue