mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-09-05 15:37:03 +03:00
New Ask popup
Fix inputosaurus fake span width detection Add Esc trigger to all popups (#29) Many minor fixes
This commit is contained in:
parent
214d905f90
commit
dcc486a114
57 changed files with 1200 additions and 307 deletions
|
|
@ -33,7 +33,7 @@
|
|||
</div>
|
||||
<div data-bind="visible: 'sqlite' !== contactsType()">
|
||||
<div class="legend">
|
||||
PDO (MySQL / PostgreSQL / ...)
|
||||
PDO (MySQL / PostgreSQL)
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">
|
||||
|
|
@ -42,10 +42,8 @@
|
|||
<div class="controls">
|
||||
<input type="text" class="span6" data-bind="value: pdoDsn, saveTrigger: pdoDsnTrigger" />
|
||||
<div data-bind="saveTrigger: pdoDsnTrigger"></div>
|
||||
<blockquote style="margin-top: 10px">
|
||||
<blockquote style="margin: 10px 0 0 0">
|
||||
<p class="muted">
|
||||
<strong>Examples:</strong>
|
||||
<br />
|
||||
mysql:host=127.0.0.1;port=3306;dbname=rainloop
|
||||
<br />
|
||||
pgsql:host=127.0.0.1;port=5432;dbname=rainloop
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<div class="b-admin-domains" >
|
||||
<div class="b-admin-domains g-ui-user-select-none">
|
||||
<div class="legend">
|
||||
Domains
|
||||
</div>
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
loading...
|
||||
</div>
|
||||
<table class="table table-hover b-admin-domains-list-table g-ui-user-select-none" data-bind="i18nUpdate: domains">
|
||||
<table class="table table-hover b-admin-domains-list-table" data-bind="i18nUpdate: domains">
|
||||
<colgroup>
|
||||
<col />
|
||||
<col style="width: 140px" />
|
||||
|
|
|
|||
|
|
@ -1,15 +1,10 @@
|
|||
<tr class="e-item" data-bind="css: {'disabled': disabled }">
|
||||
<td>
|
||||
<td class="configure-plugin-action e-action">
|
||||
<i class="plugin-img icon-lightning"></i>
|
||||
<span class="plugin-name" data-bind="text: name"></span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="configure-plugin" data-bind="click: function (oPlugin) { $root.configurePlugin(oPlugin); }">
|
||||
<i class="icon-settings5 e-action"></i>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="disable-plugin" data-bind="click: function (oPlugin) { $root.disablePlugin(oPlugin); }">
|
||||
<span class="disable-plugin">
|
||||
<i data-bind="css: {'e-action icon-checkbox-checked': !disabled(), 'e-action icon-checkbox-unchecked': disabled}"></i>
|
||||
</span>
|
||||
</td>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<div class="b-admin-plugins">
|
||||
<div class="b-admin-plugins g-ui-user-select-none">
|
||||
|
||||
<div class="row">
|
||||
<div class="alert span8" data-bind="visible: '' !== pluginsError()">
|
||||
|
|
@ -39,7 +39,6 @@
|
|||
<colgroup>
|
||||
<col />
|
||||
<col style="width: 30px" />
|
||||
<col style="width: 30px" />
|
||||
</colgroup>
|
||||
<tbody data-bind="template: { name: 'AdminSettingsPluginListItem', foreach: plugins }"></tbody>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<div class="popups">
|
||||
<div class="modal hide b-account-add-content" data-bind="modal: modalVisibility">
|
||||
<div class="modal hide b-account-add-content g-ui-user-select-none" data-bind="modal: modalVisibility">
|
||||
<div>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
|
|
|
|||
|
|
@ -1,86 +1,86 @@
|
|||
<div class="popups">
|
||||
<div class="modal hide b-advanced-search-content" data-bind="modal: modalVisibility">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<h3>
|
||||
<span class="i18n" data-i18n-text="SEARCH/TITLE_ADV"></span>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form class="form-horizontal" action="#/" autocomplete="off" onsubmit="return false;" data-bind="command: searchCommand">
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<div class="control-group">
|
||||
<label class="control-label">
|
||||
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_FROM"></span>
|
||||
</label>
|
||||
<div class="controls">
|
||||
<input class="uiInput inputFrom" type="text" data-bind="value: from, onEnter: searchCommand, hasfocus: fromFocus, onEsc: cancelCommand" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">
|
||||
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_TO"></span>
|
||||
</label>
|
||||
<div class="controls">
|
||||
<input class="uiInput inputFrom" type="text" data-bind="value: to, onEnter: searchCommand, onEsc: cancelCommand" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">
|
||||
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_SUBJECT"></span>
|
||||
</label>
|
||||
<div class="controls">
|
||||
<input class="uiInput inputFrom" type="text" data-bind="value: subject, onEnter: searchCommand, onEsc: cancelCommand" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="span4">
|
||||
<div class="control-group">
|
||||
<label class="control-label">
|
||||
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_TEXT"></span>
|
||||
</label>
|
||||
<div class="controls">
|
||||
<input class="uiInput inputFrom" type="text" data-bind="value: text, onEnter: searchCommand, onEsc: cancelCommand" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">
|
||||
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE"></span>
|
||||
</label>
|
||||
<div class="controls">
|
||||
<select data-bind="value: selectedDateValue">
|
||||
<option value="-1" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_ALL"></option>
|
||||
<option value="3" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_3_DAYS"></option>
|
||||
<option value="7" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_7_DAYS"></option>
|
||||
<option value="30" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_MONTH"></option>
|
||||
<option value="90" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_3_MONTHS"></option>
|
||||
<option value="180" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_6_MONTHS"></option>
|
||||
<option value="365" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_YEAR"></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">
|
||||
</label>
|
||||
<div class="controls">
|
||||
<label data-bind="click: function () { hasAttachments(!hasAttachments()); }">
|
||||
<i data-bind="css: hasAttachments() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_HAS_ATTACHMENTS"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="submit" class="btn buttonAdvSearch" data-bind="command: searchCommand">
|
||||
<i class="icon-search"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="SEARCH/BUTTON_ADV_SEARCH"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="popups">
|
||||
<div class="modal hide b-advanced-search-content g-ui-user-select-none" data-bind="modal: modalVisibility">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<h3>
|
||||
<span class="i18n" data-i18n-text="SEARCH/TITLE_ADV"></span>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form class="form-horizontal" action="#/" autocomplete="off" onsubmit="return false;" data-bind="command: searchCommand">
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<div class="control-group">
|
||||
<label class="control-label">
|
||||
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_FROM"></span>
|
||||
</label>
|
||||
<div class="controls">
|
||||
<input class="uiInput inputFrom" type="text" data-bind="value: from, onEnter: searchCommand, hasfocus: fromFocus, onEsc: cancelCommand" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">
|
||||
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_TO"></span>
|
||||
</label>
|
||||
<div class="controls">
|
||||
<input class="uiInput inputFrom" type="text" data-bind="value: to, onEnter: searchCommand, onEsc: cancelCommand" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">
|
||||
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_SUBJECT"></span>
|
||||
</label>
|
||||
<div class="controls">
|
||||
<input class="uiInput inputFrom" type="text" data-bind="value: subject, onEnter: searchCommand, onEsc: cancelCommand" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="span4">
|
||||
<div class="control-group">
|
||||
<label class="control-label">
|
||||
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_TEXT"></span>
|
||||
</label>
|
||||
<div class="controls">
|
||||
<input class="uiInput inputFrom" type="text" data-bind="value: text, onEnter: searchCommand, onEsc: cancelCommand" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">
|
||||
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE"></span>
|
||||
</label>
|
||||
<div class="controls">
|
||||
<select data-bind="value: selectedDateValue">
|
||||
<option value="-1" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_ALL"></option>
|
||||
<option value="3" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_3_DAYS"></option>
|
||||
<option value="7" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_7_DAYS"></option>
|
||||
<option value="30" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_MONTH"></option>
|
||||
<option value="90" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_3_MONTHS"></option>
|
||||
<option value="180" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_6_MONTHS"></option>
|
||||
<option value="365" class="i18n" data-i18n-text="SEARCH/LABEL_ADV_DATE_YEAR"></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">
|
||||
</label>
|
||||
<div class="controls">
|
||||
<label data-bind="click: function () { hasAttachments(!hasAttachments()); }">
|
||||
<i data-bind="css: hasAttachments() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="SEARCH/LABEL_ADV_HAS_ATTACHMENTS"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="submit" class="btn buttonAdvSearch" data-bind="command: searchCommand">
|
||||
<i class="icon-search"></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="SEARCH/BUTTON_ADV_SEARCH"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
26
rainloop/v/0.0.0/app/templates/Views/PopupsAsk.html
Normal file
26
rainloop/v/0.0.0/app/templates/Views/PopupsAsk.html
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
<div class="popups">
|
||||
<div class="modal hide b-ask-content g-ui-user-select-none" data-bind="modal: modalVisibility">
|
||||
<div>
|
||||
<div class="modal-body">
|
||||
<br />
|
||||
<br />
|
||||
<span class="desc-place" data-bind="html: askDesc"></span>
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn buttonYes" data-bind="click: yesClick, hasFocus: yesFocus">
|
||||
<i class="icon-ok"></i>
|
||||
|
||||
<span data-bind="text: yesButton"></span>
|
||||
</button>
|
||||
<button class="btn buttonNo" data-bind="click: noClick, hasFocus: noFocus">
|
||||
<i class=" icon-remove"></i>
|
||||
|
||||
<span data-bind="text: noButton"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -19,6 +19,30 @@
|
|||
<div class="b-list-toopbar">
|
||||
<input class="i18n span3 e-search" type="text" placeholder="Search" data-18n-placeholder="CONTACS/SEARCH_INPUT_PLACEHOLDER" data-bind="value: search" />
|
||||
</div>
|
||||
<!--
|
||||
<div class="btn-toolbar b-list-toopbar g-ui-user-select-none">
|
||||
<div class="btn-group">
|
||||
<input class="i18n span3 e-search" type="text" placeholder="Search" data-18n-placeholder="CONTACS/SEARCH_INPUT_PLACEHOLDER" data-bind="value: search" />
|
||||
</div>
|
||||
<div class="btn-group pull-right">
|
||||
<a class="btn dropdown-toggle button-filter" data-toggle="dropdown">
|
||||
<i class="icon-lightning"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu g-ui-menu">
|
||||
<li class="e-item">
|
||||
<a class="e-link">
|
||||
Personal address book
|
||||
</a>
|
||||
</li>
|
||||
<li class="e-item">
|
||||
<a class="e-link">
|
||||
Collected
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
<div class="b-list-content g-ui-user-select-none" data-bind="nano: true, css: {'hideContactListCheckbox': !useCheckboxesInList()}">
|
||||
<div class="content g-scrollbox">
|
||||
<div class="content-wrapper">
|
||||
|
|
|
|||
|
|
@ -1,122 +1,122 @@
|
|||
<div class="popups">
|
||||
<div class="modal hide b-domain-content" data-bind="modal: modalVisibility, css: {'domain-edit': edit, 'domain-white-list-page': whiteListPage}">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<h3 data-bind="text: headerText"></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form class="form-horizontal domain-form" action="#/" onsubmit="return false;">
|
||||
<div class="row" data-bind="visible: !edit()">
|
||||
<div class="span8">
|
||||
Name
|
||||
<br />
|
||||
<input type="text" data-bind="value: name, valueUpdate: 'afterkeydown'" />
|
||||
<span class="error-desc" data-bind="text: savingError"></span>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="span4" data-bind="css: { 'testing-done': testingDone, 'testing-error': testingImapError }">
|
||||
<div class="legend imap-header">
|
||||
IMAP
|
||||
</div>
|
||||
Server
|
||||
<br />
|
||||
<input type="text" data-bind="value: imapServer, valueUpdate: 'afterkeydown', hasfocus: imapServerFocus" />
|
||||
<br />
|
||||
<br />
|
||||
Port
|
||||
<br />
|
||||
<input type="text" data-bind="value: imapPort, valueUpdate: 'afterkeydown'" />
|
||||
<br />
|
||||
<br />
|
||||
Secure
|
||||
<br />
|
||||
<select class="span2" data-bind="value: imapSecure">
|
||||
<option value="0">None</option>
|
||||
<option value="1">SSL</option>
|
||||
<option value="2">TLS</option>
|
||||
</select>
|
||||
<br />
|
||||
<br />
|
||||
<label data-bind="click: function () { imapShortLogin(!imapShortLogin()); }">
|
||||
<i data-bind="css: imapShortLogin() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
|
||||
|
||||
Use short login form
|
||||
</label>
|
||||
</div>
|
||||
<div class="span4" data-bind="css: { 'testing-done': testingDone, 'testing-error': testingSmtpError }">
|
||||
<div class="legend smtp-header">
|
||||
SMTP
|
||||
</div>
|
||||
Server
|
||||
<br />
|
||||
<input type="text" data-bind="value: smtpServer, valueUpdate: 'afterkeydown', hasfocus: smtpServerFocus" />
|
||||
<br />
|
||||
<br />
|
||||
Port
|
||||
<br />
|
||||
<input type="text" data-bind="value: smtpPort, valueUpdate: 'afterkeydown'" />
|
||||
<br />
|
||||
<br />
|
||||
Secure
|
||||
<br />
|
||||
<select class="span2" data-bind="value: smtpSecure">
|
||||
<option value="0">None</option>
|
||||
<option value="1">SSL</option>
|
||||
<option value="2">TLS</option>
|
||||
</select>
|
||||
<br />
|
||||
<br />
|
||||
<label data-bind="click: function () { smtpShortLogin(!smtpShortLogin()); }">
|
||||
<i data-bind="css: smtpShortLogin() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
|
||||
|
||||
Use short login form
|
||||
</label>
|
||||
<label data-bind="click: function () { smtpAuth(!smtpAuth()); }">
|
||||
<i data-bind="css: smtpAuth() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
|
||||
|
||||
Use authentication
|
||||
</label>
|
||||
</div>
|
||||
<div class="span8">
|
||||
<div class="legend white-list-header">
|
||||
White List
|
||||
</div>
|
||||
<div class="alert alert-block span6 alert-null-left-margin" style="width: 562px;">
|
||||
List of users webmail is allowed to access.
|
||||
Use a space as delimiter.
|
||||
</div>
|
||||
<textarea class="input-xxlarge" style="width: 600px" rows="8" data-bind="value: whiteList"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn button-test-connection pull-left" data-bind="command: testConnectionCommand, css: {
|
||||
'btn-success': testingDone() && !testingImapError() && !testingSmtpError(),
|
||||
'btn-danger': testingDone() && (testingImapError() || testingSmtpError()) }">
|
||||
<i data-bind="css: {'icon-info': !testing(), 'icon-spinner-2 animated': testing(), 'icon-white': testingDone()}"></i>
|
||||
|
||||
Test Connection
|
||||
</a>
|
||||
<a class="btn button-white-list pull-left" data-bind="command: whiteListCommand">
|
||||
<i data-bind="css: {'icon-arrow-right-2': !whiteListPage(), 'icon-arrow-left': whiteListPage()}"></i>
|
||||
|
||||
<span data-bind="visible: !whiteListPage()">White List</span>
|
||||
<span data-bind="visible: whiteListPage()">Back</span>
|
||||
</a>
|
||||
<a class="btn buttonClose" data-bind="command: cancelCommand">
|
||||
<i class="icon-remove"></i>
|
||||
|
||||
Close
|
||||
</a>
|
||||
<a class="btn buttonClear" data-bind="command: createOrAddCommand">
|
||||
<i data-bind="css: edit() ? 'icon-ok' : 'icon-plus', visible: !saving()"></i>
|
||||
<i class="icon-spinner-2 animated" data-bind="visible: saving"></i>
|
||||
|
||||
<span data-bind="text: edit() ? 'Update' : 'Add'"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="popups">
|
||||
<div class="modal hide b-domain-content g-ui-user-select-none" data-bind="modal: modalVisibility, css: {'domain-edit': edit, 'domain-white-list-page': whiteListPage}">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<h3 data-bind="text: headerText"></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form class="form-horizontal domain-form" action="#/" onsubmit="return false;">
|
||||
<div class="row" data-bind="visible: !edit()">
|
||||
<div class="span8">
|
||||
Name
|
||||
<br />
|
||||
<input type="text" data-bind="value: name, valueUpdate: 'afterkeydown'" />
|
||||
<span class="error-desc" data-bind="text: savingError"></span>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="span4" data-bind="css: { 'testing-done': testingDone, 'testing-error': testingImapError }">
|
||||
<div class="legend imap-header">
|
||||
IMAP
|
||||
</div>
|
||||
Server
|
||||
<br />
|
||||
<input type="text" data-bind="value: imapServer, valueUpdate: 'afterkeydown', hasfocus: imapServerFocus" />
|
||||
<br />
|
||||
<br />
|
||||
Port
|
||||
<br />
|
||||
<input type="text" data-bind="value: imapPort, valueUpdate: 'afterkeydown'" />
|
||||
<br />
|
||||
<br />
|
||||
Secure
|
||||
<br />
|
||||
<select class="span2" data-bind="value: imapSecure">
|
||||
<option value="0">None</option>
|
||||
<option value="1">SSL</option>
|
||||
<option value="2">TLS</option>
|
||||
</select>
|
||||
<br />
|
||||
<br />
|
||||
<label data-bind="click: function () { imapShortLogin(!imapShortLogin()); }">
|
||||
<i data-bind="css: imapShortLogin() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
|
||||
|
||||
Use short login form
|
||||
</label>
|
||||
</div>
|
||||
<div class="span4" data-bind="css: { 'testing-done': testingDone, 'testing-error': testingSmtpError }">
|
||||
<div class="legend smtp-header">
|
||||
SMTP
|
||||
</div>
|
||||
Server
|
||||
<br />
|
||||
<input type="text" data-bind="value: smtpServer, valueUpdate: 'afterkeydown', hasfocus: smtpServerFocus" />
|
||||
<br />
|
||||
<br />
|
||||
Port
|
||||
<br />
|
||||
<input type="text" data-bind="value: smtpPort, valueUpdate: 'afterkeydown'" />
|
||||
<br />
|
||||
<br />
|
||||
Secure
|
||||
<br />
|
||||
<select class="span2" data-bind="value: smtpSecure">
|
||||
<option value="0">None</option>
|
||||
<option value="1">SSL</option>
|
||||
<option value="2">TLS</option>
|
||||
</select>
|
||||
<br />
|
||||
<br />
|
||||
<label data-bind="click: function () { smtpShortLogin(!smtpShortLogin()); }">
|
||||
<i data-bind="css: smtpShortLogin() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
|
||||
|
||||
Use short login form
|
||||
</label>
|
||||
<label data-bind="click: function () { smtpAuth(!smtpAuth()); }">
|
||||
<i data-bind="css: smtpAuth() ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked'"></i>
|
||||
|
||||
Use authentication
|
||||
</label>
|
||||
</div>
|
||||
<div class="span8">
|
||||
<div class="legend white-list-header">
|
||||
White List
|
||||
</div>
|
||||
<div class="alert alert-block span6 alert-null-left-margin" style="width: 562px;">
|
||||
List of users webmail is allowed to access.
|
||||
Use a space as delimiter.
|
||||
</div>
|
||||
<textarea class="input-xxlarge" style="width: 600px" rows="8" data-bind="value: whiteList"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn button-test-connection pull-left" data-bind="command: testConnectionCommand, css: {
|
||||
'btn-success': testingDone() && !testingImapError() && !testingSmtpError(),
|
||||
'btn-danger': testingDone() && (testingImapError() || testingSmtpError()) }">
|
||||
<i data-bind="css: {'icon-info': !testing(), 'icon-spinner-2 animated': testing(), 'icon-white': testingDone()}"></i>
|
||||
|
||||
Test Connection
|
||||
</a>
|
||||
<a class="btn button-white-list pull-left" data-bind="command: whiteListCommand">
|
||||
<i data-bind="css: {'icon-arrow-right-2': !whiteListPage(), 'icon-arrow-left': whiteListPage()}"></i>
|
||||
|
||||
<span data-bind="visible: !whiteListPage()">White List</span>
|
||||
<span data-bind="visible: whiteListPage()">Back</span>
|
||||
</a>
|
||||
<a class="btn buttonClose" data-bind="command: cancelCommand">
|
||||
<i class="icon-remove"></i>
|
||||
|
||||
Close
|
||||
</a>
|
||||
<a class="btn buttonClear" data-bind="command: createOrAddCommand">
|
||||
<i data-bind="css: edit() ? 'icon-ok' : 'icon-plus', visible: !saving()"></i>
|
||||
<i class="icon-spinner-2 animated" data-bind="visible: saving"></i>
|
||||
|
||||
<span data-bind="text: edit() ? 'Update' : 'Add'"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,34 +1,34 @@
|
|||
<div class="popups">
|
||||
<div class="modal hide b-folder-clear-content" data-bind="modal: modalVisibility">
|
||||
<div>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<h3>
|
||||
<span class="i18n" data-i18n-text="POPUPS_CLEAR_FOLDER/TITLE_CLEAR_FOLDER" data-bind="visible: !clearingProcess()"></span>
|
||||
<span class="i18n" data-i18n-text="POPUPS_CLEAR_FOLDER/TITLE_CLEARING_PROCESS" data-bind="visible: clearingProcess"></span>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div>
|
||||
<i class="icon-warning" style="color:red" />
|
||||
|
||||
<strong>
|
||||
<span class="i18n" data-i18n-html="POPUPS_CLEAR_FOLDER/DANGER_DESC_WARNING"></span>
|
||||
</strong>
|
||||
<br />
|
||||
<br />
|
||||
<span data-bind="html: dangerDescHtml"></span>
|
||||
<br />
|
||||
<span class="i18n" data-i18n-html="POPUPS_CLEAR_FOLDER/DANGER_DESC_HTML_2"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn btn-danger buttonClear" data-bind="command: clearCommand">
|
||||
<i class="icon-fire" data-bind="css: {'icon-fire': !clearingProcess(), 'icon-spinner-2 animated': clearingProcess()}" ></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="POPUPS_CLEAR_FOLDER/BUTTON_CLEAR"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="popups">
|
||||
<div class="modal hide b-folder-clear-content g-ui-user-select-none" data-bind="modal: modalVisibility">
|
||||
<div>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<h3>
|
||||
<span class="i18n" data-i18n-text="POPUPS_CLEAR_FOLDER/TITLE_CLEAR_FOLDER" data-bind="visible: !clearingProcess()"></span>
|
||||
<span class="i18n" data-i18n-text="POPUPS_CLEAR_FOLDER/TITLE_CLEARING_PROCESS" data-bind="visible: clearingProcess"></span>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div>
|
||||
<i class="icon-warning" style="color:red" />
|
||||
|
||||
<strong>
|
||||
<span class="i18n" data-i18n-html="POPUPS_CLEAR_FOLDER/DANGER_DESC_WARNING"></span>
|
||||
</strong>
|
||||
<br />
|
||||
<br />
|
||||
<span data-bind="html: dangerDescHtml"></span>
|
||||
<br />
|
||||
<span class="i18n" data-i18n-html="POPUPS_CLEAR_FOLDER/DANGER_DESC_HTML_2"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn btn-danger buttonClear" data-bind="command: clearCommand">
|
||||
<i class="icon-fire" data-bind="css: {'icon-fire': !clearingProcess(), 'icon-spinner-2 animated': clearingProcess()}" ></i>
|
||||
|
||||
<span class="i18n" data-i18n-text="POPUPS_CLEAR_FOLDER/BUTTON_CLEAR"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<div class="popups">
|
||||
<div class="modal hide b-folder-create-content" data-bind="modal: modalVisibility">
|
||||
<div class="modal hide b-folder-create-content g-ui-user-select-none" data-bind="modal: modalVisibility">
|
||||
<div>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<div class="popups">
|
||||
<div class="modal hide b-folder-system-content" data-bind="modal: modalVisibility">
|
||||
<div class="modal hide b-folder-system-content g-ui-user-select-none" data-bind="modal: modalVisibility">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<h3>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<div class="popups">
|
||||
<div class="modal hide b-identity-content" data-bind="modal: modalVisibility">
|
||||
<div class="modal hide b-identity-content g-ui-user-select-none" data-bind="modal: modalVisibility">
|
||||
<div>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue