mirror of
https://github.com/the-djmaze/snappymail.git
synced 2025-02-01 03:27:43 +08:00
More HTML cleanups
This commit is contained in:
parent
109c6b6ab5
commit
a7ae087f18
23 changed files with 609 additions and 659 deletions
|
@ -18,31 +18,31 @@
|
|||
right: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.b-settings-menu {
|
||||
nav {
|
||||
|
||||
a {
|
||||
background-color: transparent;
|
||||
color: var(--settings-menu-color, #333);
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
font-size: 18px;
|
||||
height: 30px;
|
||||
line-height: 29px;
|
||||
overflow: hidden;
|
||||
padding: 4px 10px;
|
||||
text-decoration: none;
|
||||
}
|
||||
a {
|
||||
background-color: transparent;
|
||||
color: var(--settings-menu-color, #333);
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
font-size: 18px;
|
||||
height: 30px;
|
||||
line-height: 29px;
|
||||
overflow: hidden;
|
||||
padding: 4px 10px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:focus, a:hover {
|
||||
background-color: var(--settings-menu-hover-bg-color, #333);
|
||||
color: var(--settings-menu-hover-color, #eee);
|
||||
}
|
||||
a:focus, a:hover {
|
||||
background-color: var(--settings-menu-hover-bg-color, #333);
|
||||
color: var(--settings-menu-hover-color, #eee);
|
||||
}
|
||||
|
||||
a.selected {
|
||||
background-color: var(--settings-menu-selected-bg-color, #333);
|
||||
color: var(--settings-menu-selected-color, #eee);
|
||||
a.selected {
|
||||
background-color: var(--settings-menu-selected-bg-color, #333);
|
||||
color: var(--settings-menu-selected-color, #eee);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -54,7 +54,7 @@
|
|||
right: 0;
|
||||
left: 0;
|
||||
height: 34px;
|
||||
padding: 8px 5px;
|
||||
padding: 8px 0;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ export class MenuSettingsUserView extends AbstractViewLeft {
|
|||
onBuild(dom) {
|
||||
dom.addEventListener('click', event =>
|
||||
ThemeStore.isMobile()
|
||||
&& event.target.closestWithin('.b-settings-menu a', dom)
|
||||
&& event.target.closestWithin('.b-settins-left nav a', dom)
|
||||
&& leftPanelDisabled(true)
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,48 +1,46 @@
|
|||
<div class="modal fade 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>
|
||||
<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>
|
||||
</h3>
|
||||
</div>
|
||||
<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 data-bind="visible: submitErrorAdditional">
|
||||
<br />
|
||||
<span data-bind="text: submitErrorAdditional"></span>
|
||||
</div>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<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>
|
||||
</h3>
|
||||
</div>
|
||||
<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 data-bind="visible: submitErrorAdditional">
|
||||
<br />
|
||||
<span data-bind="text: submitErrorAdditional"></span>
|
||||
</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="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="visible: isNew, textInput: email, onEnter: addAccountCommand" />
|
||||
</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="" autocomplete="off" 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="current-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: password, onEnter: addAccountCommand" />
|
||||
</div>
|
||||
</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="current-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: password, onEnter: addAccountCommand" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn buttonAddAccount" data-bind="command: addAccountCommand">
|
||||
<i data-bind="visible: isNew, css: {'icon-user-add': !submitRequest(), 'icon-spinner': submitRequest()}"></i>
|
||||
<span data-bind="visible: isNew" data-i18n="POPUPS_ADD_ACCOUNT/BUTTON_ADD_ACCOUNT"></span>
|
||||
<i data-bind="visible: !isNew(), css: {'icon-ok': !submitRequest(), 'icon-spinner': submitRequest()}"></i>
|
||||
<span data-bind="visible: !isNew()" data-i18n="POPUPS_ADD_ACCOUNT/BUTTON_UPDATE_ACCOUNT"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn buttonAddAccount" data-bind="command: addAccountCommand">
|
||||
<i data-bind="visible: isNew, css: {'icon-user-add': !submitRequest(), 'icon-spinner': submitRequest()}"></i>
|
||||
<span data-bind="visible: isNew" data-i18n="POPUPS_ADD_ACCOUNT/BUTTON_ADD_ACCOUNT"></span>
|
||||
<i data-bind="visible: !isNew(), css: {'icon-ok': !submitRequest(), 'icon-spinner': submitRequest()}"></i>
|
||||
<span data-bind="visible: !isNew()" data-i18n="POPUPS_ADD_ACCOUNT/BUTTON_UPDATE_ACCOUNT"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,23 +1,21 @@
|
|||
<div class="modal fade b-open-pgp-key-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>
|
||||
<h3 data-i18n="POPUPS_IMPORT_OPEN_PGP_KEY/TITLE_IMPORT_OPEN_PGP_KEY"></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="alert" data-bind="visible: keyError() && keyErrorMessage(), text: keyErrorMessage"></div>
|
||||
<div class="form-horizontal">
|
||||
<div class="control-group" data-bind="css: {'error': keyError}">
|
||||
<textarea class="inputKey input-xxlarge" rows="14" autofocus="" autocomplete="off" data-bind="value: key"></textarea>
|
||||
</div>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<h3 data-i18n="POPUPS_IMPORT_OPEN_PGP_KEY/TITLE_IMPORT_OPEN_PGP_KEY"></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="alert" data-bind="visible: keyError() && keyErrorMessage(), text: keyErrorMessage"></div>
|
||||
<div class="form-horizontal">
|
||||
<div class="control-group" data-bind="css: {'error': keyError}">
|
||||
<textarea class="inputKey input-xxlarge" rows="14" autofocus="" autocomplete="off" data-bind="value: key"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn buttonAddAccount" data-bind="command: addOpenPgpKeyCommand">
|
||||
<i class="icon-list-add"></i>
|
||||
|
||||
<span data-i18n="POPUPS_IMPORT_OPEN_PGP_KEY/BUTTON_IMPORT_OPEN_PGP_KEY"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn buttonAddAccount" data-bind="command: addOpenPgpKeyCommand">
|
||||
<i class="icon-list-add"></i>
|
||||
|
||||
<span data-i18n="POPUPS_IMPORT_OPEN_PGP_KEY/BUTTON_IMPORT_OPEN_PGP_KEY"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,94 +1,92 @@
|
|||
<div class="modal fade b-compose-open-pgp-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 data-i18n="POPUPS_COMPOSE_OPEN_PGP/TITLE_COMPOSE_OPEN_PGP"></h3>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<h3 data-i18n="POPUPS_COMPOSE_OPEN_PGP/TITLE_COMPOSE_OPEN_PGP"></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="alert" data-bind="visible: '' !== notification()">
|
||||
<span data-bind="text: notification"></span>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="alert" data-bind="visible: '' !== notification()">
|
||||
<span data-bind="text: notification"></span>
|
||||
<div>
|
||||
<div>
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'POPUPS_COMPOSE_OPEN_PGP/LABEL_SIGN',
|
||||
value: sign
|
||||
}
|
||||
}, click: updateCommand"></div>
|
||||
|
||||
<div class="key-list" data-bind="visible: sign">
|
||||
<div class="key-list-wrp empty" data-bind="visible: !signKey()">
|
||||
No private key found
|
||||
</div>
|
||||
<div class="key-list-wrp" data-bind="visible: signKey()">
|
||||
<div class="key-list__item">
|
||||
<div class="key-list__item-hash">
|
||||
(<span data-bind="text: signKey() ? signKey().hash : ''"></span>)
|
||||
</div>
|
||||
<div class="key-list__item-names">
|
||||
<!-- ko if: signKey() -->
|
||||
<!-- ko foreach: signKey().users -->
|
||||
<div class="key-list__item-name" data-bind="text: $data"></div>
|
||||
<!-- /ko -->
|
||||
<!-- /ko -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'POPUPS_COMPOSE_OPEN_PGP/LABEL_SIGN',
|
||||
value: sign
|
||||
}
|
||||
}, click: updateCommand"></div>
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'POPUPS_COMPOSE_OPEN_PGP/LABEL_ENCRYPT',
|
||||
value: encrypt
|
||||
}
|
||||
}"></div>
|
||||
|
||||
<div class="key-list" data-bind="visible: sign">
|
||||
<div class="key-list-wrp empty" data-bind="visible: !signKey()">
|
||||
No private key found
|
||||
</div>
|
||||
<div class="key-list-wrp" data-bind="visible: signKey()">
|
||||
<div class="key-list__item">
|
||||
<div class="key-list__item-hash">
|
||||
(<span data-bind="text: signKey() ? signKey().hash : ''"></span>)
|
||||
</div>
|
||||
<div class="key-list__item-names">
|
||||
<!-- ko if: signKey() -->
|
||||
<!-- ko foreach: signKey().users -->
|
||||
<div class="key-list__item-name" data-bind="text: $data"></div>
|
||||
<!-- /ko -->
|
||||
<!-- /ko -->
|
||||
</div>
|
||||
<div class="key-list" data-bind="visible: encrypt">
|
||||
<div class="key-list-wrp empty" data-bind="visible: encryptKeys().length === 0">
|
||||
No public keys selected
|
||||
</div>
|
||||
<div class="key-list-wrp" data-bind="visible: encryptKeys().length > 0, foreach: encryptKeys">
|
||||
<div class="key-list__item">
|
||||
<div class="key-list__item-hash" data-bind="visible: !empty">
|
||||
(<span data-bind="text: hash"></span>)
|
||||
</div>
|
||||
<div class="key-list__item-names" data-bind="css: {'empty': empty}, foreach: users">
|
||||
<div class="key-list__item-name" data-bind="text: $data"></div>
|
||||
</div>
|
||||
<div class="key-list__item-error" data-bind="visible: empty">
|
||||
(Public key not found)
|
||||
</div>
|
||||
<div class="key-list__item-delete fontastic" data-bind="click: removable() ? $parent.deletePublickKey : null, css: {'disabled': !removable()}">🗑</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'POPUPS_COMPOSE_OPEN_PGP/LABEL_ENCRYPT',
|
||||
value: encrypt
|
||||
}
|
||||
}"></div>
|
||||
|
||||
<div class="key-list" data-bind="visible: encrypt">
|
||||
<div class="key-list-wrp empty" data-bind="visible: encryptKeys().length === 0">
|
||||
No public keys selected
|
||||
</div>
|
||||
<div class="key-list-wrp" data-bind="visible: encryptKeys().length > 0, foreach: encryptKeys">
|
||||
<div class="key-list__item">
|
||||
<div class="key-list__item-hash" data-bind="visible: !empty">
|
||||
(<span data-bind="text: hash"></span>)
|
||||
</div>
|
||||
<div class="key-list__item-names" data-bind="css: {'empty': empty}, foreach: users">
|
||||
<div class="key-list__item-name" data-bind="text: $data"></div>
|
||||
</div>
|
||||
<div class="key-list__item-error" data-bind="visible: empty">
|
||||
(Public key not found)
|
||||
</div>
|
||||
<div class="key-list__item-delete fontastic" data-bind="click: removable() ? $parent.deletePublickKey : null, css: {'disabled': !removable()}">🗑</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="key-actions">
|
||||
<div data-bind="visible: sign()">
|
||||
<input type="password" class="inputPassword input-block-level"
|
||||
autocomplete="current-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-i18n="[placeholder]GLOBAL/PASSWORD"
|
||||
data-bind="textInput: password, onEnter: doCommand" />
|
||||
<select class="input-block-level" data-bind="visible: 0 < privateKeysOptions().length, options: privateKeysOptions, value: selectedPrivateKey,
|
||||
optionsCaption: privateKeysOptionsCaption, optionsText: 'name', optionsValue: 'id'"></select>
|
||||
</div>
|
||||
<select class="input-block-level" data-bind="visible: encrypt() && 0 < publicKeysOptions().length, options: publicKeysOptions, value: selectedPublicKey,
|
||||
optionsCaption: publicKeysOptionsCaption, optionsText: 'name', optionsValue: 'id'"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn buttonDo" data-bind="command: doCommand,
|
||||
enable: (sign() || encrypt()) && (!encrypt() || encrypt() && encryptKeys().length > 0)">
|
||||
<i class="fontastic" data-bind="css: {'icon-spinner': submitRequest()}">🔑</i>
|
||||
<span data-bind="visible: sign() && !encrypt()" data-i18n="POPUPS_COMPOSE_OPEN_PGP/BUTTON_SIGN"></span>
|
||||
<span data-bind="visible: !sign() && encrypt()" data-i18n="POPUPS_COMPOSE_OPEN_PGP/BUTTON_ENCRYPT"></span>
|
||||
<span data-bind="visible: (sign() && encrypt()) || (!sign() && !encrypt())" data-i18n="POPUPS_COMPOSE_OPEN_PGP/BUTTON_SIGN_AND_ENCRYPT"></span>
|
||||
</button>
|
||||
<div class="key-actions">
|
||||
<div data-bind="visible: sign()">
|
||||
<input type="password" class="inputPassword input-block-level"
|
||||
autocomplete="current-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-i18n="[placeholder]GLOBAL/PASSWORD"
|
||||
data-bind="textInput: password, onEnter: doCommand" />
|
||||
<select class="input-block-level" data-bind="visible: 0 < privateKeysOptions().length, options: privateKeysOptions, value: selectedPrivateKey,
|
||||
optionsCaption: privateKeysOptionsCaption, optionsText: 'name', optionsValue: 'id'"></select>
|
||||
</div>
|
||||
<select class="input-block-level" data-bind="visible: encrypt() && 0 < publicKeysOptions().length, options: publicKeysOptions, value: selectedPublicKey,
|
||||
optionsCaption: publicKeysOptionsCaption, optionsText: 'name', optionsValue: 'id'"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn buttonDo" data-bind="command: doCommand,
|
||||
enable: (sign() || encrypt()) && (!encrypt() || encrypt() && encryptKeys().length > 0)">
|
||||
<i class="fontastic" data-bind="css: {'icon-spinner': submitRequest()}">🔑</i>
|
||||
<span data-bind="visible: sign() && !encrypt()" data-i18n="POPUPS_COMPOSE_OPEN_PGP/BUTTON_SIGN"></span>
|
||||
<span data-bind="visible: !sign() && encrypt()" data-i18n="POPUPS_COMPOSE_OPEN_PGP/BUTTON_ENCRYPT"></span>
|
||||
<span data-bind="visible: (sign() && encrypt()) || (!sign() && !encrypt())" data-i18n="POPUPS_COMPOSE_OPEN_PGP/BUTTON_SIGN_AND_ENCRYPT"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,59 +1,57 @@
|
|||
<div class="modal fade b-filter-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 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>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="filter" data-bind="with: filter, i18nInit: filter">
|
||||
<div data-bind="i18nInit: true">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<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>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="filter" data-bind="with: filter, i18nInit: filter">
|
||||
<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>
|
||||
<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>
|
||||
|
||||
<div class="legend" data-i18n="POPUPS_FILTER/LEGEND_CONDITIONS"></div>
|
||||
<div>
|
||||
<div data-bind="visible: 1 < conditions().length">
|
||||
<select class="span4" data-bind="value: conditionsType">
|
||||
<option value="Any"
|
||||
data-i18n="POPUPS_FILTER/SELECT_MATCH_ANY"></option>
|
||||
<option value="All"
|
||||
data-i18n="POPUPS_FILTER/SELECT_MATCH_ALL"></option>
|
||||
</select>
|
||||
</div>
|
||||
<div data-bind="visible: 0 < conditions().length, foreach: conditions">
|
||||
<div data-bind="template: {'name': template(), 'data': $data}"></div>
|
||||
</div>
|
||||
<div data-bind="visible: 0 === conditions().length"
|
||||
data-i18n="POPUPS_FILTER/ALL_INCOMING_MESSAGES_DESC"></div>
|
||||
<br />
|
||||
<a class="btn" data-bind="click: addCondition, i18nInit: true">
|
||||
<i class="fontastic">✚</i>
|
||||
<span data-i18n="POPUPS_FILTER/BUTTON_ADD_CONDITION"></span>
|
||||
</a>
|
||||
</div>
|
||||
<br />
|
||||
<div class="legend" data-i18n="POPUPS_FILTER/LEGEND_ACTIONS"></div>
|
||||
<select class="span3" data-bind="options: $root.actionTypeOptions, value: actionType, optionsText: 'name', optionsValue: 'id'"></select>
|
||||
<div data-bind="template: {'name': actionTemplate()}, i18nUpdate: actionTemplate"></div>
|
||||
</div>
|
||||
|
||||
<div class="legend" data-i18n="POPUPS_FILTER/LEGEND_CONDITIONS"></div>
|
||||
<div>
|
||||
<div data-bind="visible: 1 < conditions().length">
|
||||
<select class="span4" data-bind="value: conditionsType">
|
||||
<option value="Any"
|
||||
data-i18n="POPUPS_FILTER/SELECT_MATCH_ANY"></option>
|
||||
<option value="All"
|
||||
data-i18n="POPUPS_FILTER/SELECT_MATCH_ALL"></option>
|
||||
</select>
|
||||
</div>
|
||||
<div data-bind="visible: 0 < conditions().length, foreach: conditions">
|
||||
<div data-bind="template: {'name': template(), 'data': $data}"></div>
|
||||
</div>
|
||||
<div data-bind="visible: 0 === conditions().length"
|
||||
data-i18n="POPUPS_FILTER/ALL_INCOMING_MESSAGES_DESC"></div>
|
||||
<br />
|
||||
<a class="btn" data-bind="click: addCondition, i18nInit: true">
|
||||
<i class="fontastic">✚</i>
|
||||
<span data-i18n="POPUPS_FILTER/BUTTON_ADD_CONDITION"></span>
|
||||
</a>
|
||||
</div>
|
||||
<br />
|
||||
<div class="legend" data-i18n="POPUPS_FILTER/LEGEND_ACTIONS"></div>
|
||||
<select class="span3" data-bind="options: $root.actionTypeOptions, value: actionType, optionsText: 'name', optionsValue: 'id'"></select>
|
||||
<div data-bind="template: {'name': actionTemplate()}, i18nUpdate: actionTemplate"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn buttonSave" data-bind="command: saveFilterCommand">
|
||||
<i class="fontastic">✔</i>
|
||||
<span data-i18n="GLOBAL/DONE"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn buttonSave" data-bind="command: saveFilterCommand">
|
||||
<i class="fontastic">✔</i>
|
||||
<span data-i18n="GLOBAL/DONE"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,29 +1,27 @@
|
|||
<div class="modal fade 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 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>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div>
|
||||
<i class="fontastic" style="color:red">⚠</i>
|
||||
|
||||
<strong data-i18n="[html]POPUPS_CLEAR_FOLDER/DANGER_DESC_WARNING"></strong>
|
||||
<br />
|
||||
<br />
|
||||
<span data-bind="html: dangerDescHtml"></span>
|
||||
<br />
|
||||
<span 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="fontastic" data-bind="css: {'icon-spinner white': clearingProcess()}">🔥</i>
|
||||
<span data-i18n="GLOBAL/CLEAR"></span>
|
||||
</a>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<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>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div>
|
||||
<i class="fontastic" style="color:red">⚠</i>
|
||||
|
||||
<strong data-i18n="[html]POPUPS_CLEAR_FOLDER/DANGER_DESC_WARNING"></strong>
|
||||
<br />
|
||||
<br />
|
||||
<span data-bind="html: dangerDescHtml"></span>
|
||||
<br />
|
||||
<span 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="fontastic" data-bind="css: {'icon-spinner white': clearingProcess()}">🔥</i>
|
||||
<span data-i18n="GLOBAL/CLEAR"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,34 +1,32 @@
|
|||
<div class="modal fade 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>
|
||||
<h3 data-i18n="POPUPS_CREATE_FOLDER/TITLE_CREATE_FOLDER"></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-horizontal">
|
||||
<br />
|
||||
<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>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<h3 data-i18n="POPUPS_CREATE_FOLDER/TITLE_CREATE_FOLDER"></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-horizontal">
|
||||
<br />
|
||||
<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>
|
||||
<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>
|
||||
</div>
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn buttonCreate" data-bind="command: createFolderCommand">
|
||||
<i class="icon-folder-add"></i>
|
||||
<span data-i18n="POPUPS_CREATE_FOLDER/BUTTON_CREATE"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn buttonCreate" data-bind="command: createFolderCommand">
|
||||
<i class="icon-folder-add"></i>
|
||||
<span data-i18n="POPUPS_CREATE_FOLDER/BUTTON_CREATE"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,96 +1,94 @@
|
|||
<div class="modal fade b-identity-content" data-bind="modal: modalVisibility">
|
||||
<div>
|
||||
<div class="modal-header g-ui-user-select-none">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<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>
|
||||
</h3>
|
||||
</div>
|
||||
<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>
|
||||
<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">
|
||||
<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>
|
||||
</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>
|
||||
</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>
|
||||
</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>
|
||||
</div>
|
||||
<div class="control-group" data-bind="visible: !showReplyTo() || !showBcc()">
|
||||
<div class="controls">
|
||||
<span data-bind="visible: !showReplyTo()">
|
||||
<span class="g-ui-link" data-i18n="GLOBAL/REPLY_TO"
|
||||
data-bind="click: function () { showReplyTo(true); }"></span>
|
||||
|
||||
</span>
|
||||
<span data-bind="visible: !showBcc()">
|
||||
<span class="g-ui-link" data-i18n="GLOBAL/BCC"
|
||||
data-bind="click: function () { showBcc(true); }"></span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="modal-header g-ui-user-select-none">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<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>
|
||||
</h3>
|
||||
</div>
|
||||
<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>
|
||||
<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">
|
||||
<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>
|
||||
<hr />
|
||||
<div class="form-horizontal">
|
||||
<div class="control-group g-ui-user-select-none">
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'POPUPS_IDENTITY/LABEL_SIGNATURE_INSERT_BEFORE',
|
||||
value: signatureInsertBefore
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
<div class="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>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="e-signature-place" data-bind="editor: signature"></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>
|
||||
</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>
|
||||
</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>
|
||||
</div>
|
||||
<div class="control-group" data-bind="visible: !showReplyTo() || !showBcc()">
|
||||
<div class="controls">
|
||||
<span data-bind="visible: !showReplyTo()">
|
||||
<span class="g-ui-link" data-i18n="GLOBAL/REPLY_TO"
|
||||
data-bind="click: function () { showReplyTo(true); }"></span>
|
||||
|
||||
</span>
|
||||
<span data-bind="visible: !showBcc()">
|
||||
<span class="g-ui-link" data-i18n="GLOBAL/BCC"
|
||||
data-bind="click: function () { showBcc(true); }"></span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn buttonAddIdentity" data-bind="command: addOrEditIdentityCommand">
|
||||
<i data-bind="visible: !edit(), css: {'icon-user-add': !submitRequest(), 'icon-spinner': submitRequest()}"></i>
|
||||
<span data-bind="visible: !edit()" data-i18n="POPUPS_IDENTITY/BUTTON_ADD_IDENTITY"></span>
|
||||
<i data-bind="visible: edit, css: {'icon-ok': !submitRequest(), 'icon-spinner': submitRequest()}"></i>
|
||||
<span data-bind="visible: edit" data-i18n="POPUPS_IDENTITY/BUTTON_UPDATE_IDENTITY"></span>
|
||||
</a>
|
||||
<hr />
|
||||
<div class="form-horizontal">
|
||||
<div class="control-group g-ui-user-select-none">
|
||||
<div class="controls">
|
||||
<div data-bind="component: {
|
||||
name: 'Checkbox',
|
||||
params: {
|
||||
label: 'POPUPS_IDENTITY/LABEL_SIGNATURE_INSERT_BEFORE',
|
||||
value: signatureInsertBefore
|
||||
}
|
||||
}"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="e-signature-place" data-bind="editor: signature"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn buttonAddIdentity" data-bind="command: addOrEditIdentityCommand">
|
||||
<i data-bind="visible: !edit(), css: {'icon-user-add': !submitRequest(), 'icon-spinner': submitRequest()}"></i>
|
||||
<span data-bind="visible: !edit()" data-i18n="POPUPS_IDENTITY/BUTTON_ADD_IDENTITY"></span>
|
||||
<i data-bind="visible: edit, css: {'icon-ok': !submitRequest(), 'icon-spinner': submitRequest()}"></i>
|
||||
<span data-bind="visible: edit" data-i18n="POPUPS_IDENTITY/BUTTON_UPDATE_IDENTITY"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,48 +1,46 @@
|
|||
<div class="modal fade b-message-open-pgp-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 data-i18n="POPUPS_MESSAGE_OPEN_PGP/TITLE_MESSAGE_OPEN_PGP"></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-horizontal">
|
||||
<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">
|
||||
<div class="key-list__item">
|
||||
<i class="key-list__item__radio fontastic">○</i>
|
||||
<div class="key-list__item__names">
|
||||
<span data-bind="foreach: users">
|
||||
<div>
|
||||
<span class="key-list__item__name">
|
||||
<span data-bind="text: $data"></span>
|
||||
|
||||
<span>[<span data-bind="text: $parent.id"></span>]</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<h3 data-i18n="POPUPS_MESSAGE_OPEN_PGP/TITLE_MESSAGE_OPEN_PGP"></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-horizontal">
|
||||
<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">
|
||||
<div class="key-list__item">
|
||||
<i class="key-list__item__radio fontastic">○</i>
|
||||
<div class="key-list__item__names">
|
||||
<span data-bind="foreach: users">
|
||||
<div>
|
||||
<span class="key-list__item__name">
|
||||
<span data-bind="text: $data"></span>
|
||||
|
||||
<span>[<span data-bind="text: $parent.id"></span>]</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
</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>
|
||||
</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>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn buttonDo" data-bind="command: doCommand">
|
||||
<i class="fontastic" data-bind="css: {'icon-spinner': submitRequest()}">🔑</i>
|
||||
<span data-i18n="POPUPS_MESSAGE_OPEN_PGP/BUTTON_DECRYPT"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn buttonDo" data-bind="command: doCommand">
|
||||
<i class="fontastic" data-bind="css: {'icon-spinner': submitRequest()}">🔑</i>
|
||||
<span data-i18n="POPUPS_MESSAGE_OPEN_PGP/BUTTON_DECRYPT"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,53 +1,51 @@
|
|||
<div class="modal fade b-open-pgp-key-generate-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 data-i18n="POPUPS_GENERATE_OPEN_PGP_KEYS/TITLE_GENERATE_OPEN_PGP_KEYS"></h3>
|
||||
</div>
|
||||
<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 class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<h3 data-i18n="POPUPS_GENERATE_OPEN_PGP_KEYS/TITLE_GENERATE_OPEN_PGP_KEYS"></h3>
|
||||
</div>
|
||||
<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>
|
||||
<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 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 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="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>
|
||||
<div class="modal-footer">
|
||||
<a class="btn buttonHenerateOpenPgpKey" data-bind="command: generateOpenPgpKeyCommand">
|
||||
<i class="fontastic" data-bind="css: {'icon-spinner': submitRequest()}">🔑</i>
|
||||
<span data-i18n="POPUPS_GENERATE_OPEN_PGP_KEYS/BUTTON_GENERATE_OPEN_PGP_KEYS"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn buttonHenerateOpenPgpKey" data-bind="command: generateOpenPgpKeyCommand">
|
||||
<i class="fontastic" data-bind="css: {'icon-spinner': submitRequest()}">🔑</i>
|
||||
<span data-i18n="POPUPS_GENERATE_OPEN_PGP_KEYS/BUTTON_GENERATE_OPEN_PGP_KEYS"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,98 +1,96 @@
|
|||
<div class="modal fade b-filter-script g-ui-user-select-none" data-bind="modal: modalVisibility">
|
||||
<div data-bind="with: script">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: $root.cancelCommand">×</button>
|
||||
<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>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="modal fade b-filter-script g-ui-user-select-none" data-bind="modal: modalVisibility, with: script">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-bind="command: $root.cancelCommand">×</button>
|
||||
<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>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<div class="control-group" data-bind="css: {'error': nameError}">
|
||||
<div class="controls">
|
||||
<input type="text" class="span5"
|
||||
data-bind="value: name, hasfocus: !exists(), visible: !exists()"
|
||||
autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-i18n="[placeholder]GLOBAL/NAME"
|
||||
/>
|
||||
<span data-bind="text: name, visible: exists"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div data-bind="visible: hasChanges">
|
||||
<div class="span8 width100-on-mobile">
|
||||
<div class="alert g-ui-user-select-none">
|
||||
<i class="fontastic">⚠</i>
|
||||
<span data-i18n="POPUPS_SIEVE_SCRIPT/CHANGES_NEED_TO_BE_SAVED_DESC"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div data-bind="visible: $root.saveError">
|
||||
<div class="span8 width100-on-mobile">
|
||||
<div class="alert alert-error g-ui-user-select-none">
|
||||
<i class="fontastic">⚠</i>
|
||||
<span data-bind="text: $root.saveErrorText"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group" data-bind="visible: $root.rawActive">
|
||||
<div class="controls">
|
||||
<pre>
|
||||
<b data-i18n="POPUPS_SIEVE_SCRIPT/CAPABILITY_LABEL"></b>:
|
||||
<span data-bind="text: $root.sieveCapabilities"></span>
|
||||
</pre>
|
||||
<textarea style="width:100%" data-bind="value: body, valueUpdate: 'input'"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div data-bind="visible: !$root.rawActive()">
|
||||
<table class="table table-hover list-table filters-list g-ui-user-select-none"
|
||||
data-bind="i18nUpdate: filters">
|
||||
<colgroup>
|
||||
<col style="width: 30px" />
|
||||
<col style="width: 16px" />
|
||||
<col />
|
||||
<col style="width: 140px" />
|
||||
<col style="width: 1%" />
|
||||
</colgroup>
|
||||
<tbody data-bind="foreach: filters">
|
||||
<tr class="filter-item" draggable="true" data-bind="sortableItem: { list: $parent.filters }">
|
||||
<td>
|
||||
<span class="disabled-filter fontastic" data-bind="click: function () { $parent.hasChanges(true); enabled(!enabled()); }, text: enabled() ? '☑' : '☐'"></span>
|
||||
</td>
|
||||
<td class="drag-wrapper">
|
||||
<span class="fontastic drag-handle">⬍</span>
|
||||
</td>
|
||||
<td class="e-action">
|
||||
<span class="filter-name" data-bind="text: name()"></span>
|
||||
|
||||
<span class="filter-sub-name" data-bind="text: nameSub()"></span>
|
||||
</td>
|
||||
<td>
|
||||
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: function(oFilter) { $root.deleteFilter(oFilter); }"
|
||||
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
||||
</td>
|
||||
<td>
|
||||
<span class="delete-filter fontastic" data-bind="visible: !deleteAccess() && canBeDeleted(), click: function (oFilter) { $root.filterForDeletion(oFilter); }">🗑</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<a class="btn" data-bind="click: $root.addFilter">
|
||||
<i class="fontastic">✚</i>
|
||||
<span data-i18n="POPUPS_SIEVE_SCRIPT/BUTTON_ADD_FILTER"></span>
|
||||
</a>
|
||||
<div class="control-group" data-bind="css: {'error': nameError}">
|
||||
<div class="controls">
|
||||
<input type="text" class="span5"
|
||||
data-bind="value: name, hasfocus: !exists(), visible: !exists()"
|
||||
autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-i18n="[placeholder]GLOBAL/NAME"
|
||||
/>
|
||||
<span data-bind="text: name, visible: exists"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn" data-bind="visible: $root.allowToggle, click: function() { $root.toggleFiltersRaw(); }, css: {'active': $root.rawActive }" data-i18n="[title]POPUPS_SIEVE_SCRIPT/BUTTON_RAW_SCRIPT">
|
||||
<i class="icon-file-code"></i>
|
||||
</a>
|
||||
<a class="btn buttonSave" data-bind="visible: hasChanges, click: function() { $root.saveScriptCommand(); }, css: {'btn-danger': $root.saveError}">
|
||||
<i class="fontastic" data-bind="css: {'icon-spinner': $root.saving}">💾</i>
|
||||
<span data-i18n="GLOBAL/SAVE"></span>
|
||||
|
||||
<div data-bind="visible: hasChanges">
|
||||
<div class="span8 width100-on-mobile">
|
||||
<div class="alert g-ui-user-select-none">
|
||||
<i class="fontastic">⚠</i>
|
||||
<span data-i18n="POPUPS_SIEVE_SCRIPT/CHANGES_NEED_TO_BE_SAVED_DESC"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div data-bind="visible: $root.saveError">
|
||||
<div class="span8 width100-on-mobile">
|
||||
<div class="alert alert-error g-ui-user-select-none">
|
||||
<i class="fontastic">⚠</i>
|
||||
<span data-bind="text: $root.saveErrorText"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group" data-bind="visible: $root.rawActive">
|
||||
<div class="controls">
|
||||
<pre>
|
||||
<b data-i18n="POPUPS_SIEVE_SCRIPT/CAPABILITY_LABEL"></b>:
|
||||
<span data-bind="text: $root.sieveCapabilities"></span>
|
||||
</pre>
|
||||
<textarea style="width:100%" data-bind="value: body, valueUpdate: 'input'"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div data-bind="visible: !$root.rawActive()">
|
||||
<table class="table table-hover list-table filters-list g-ui-user-select-none"
|
||||
data-bind="i18nUpdate: filters">
|
||||
<colgroup>
|
||||
<col style="width: 30px" />
|
||||
<col style="width: 16px" />
|
||||
<col />
|
||||
<col style="width: 140px" />
|
||||
<col style="width: 1%" />
|
||||
</colgroup>
|
||||
<tbody data-bind="foreach: filters">
|
||||
<tr class="filter-item" draggable="true" data-bind="sortableItem: { list: $parent.filters }">
|
||||
<td>
|
||||
<span class="disabled-filter fontastic" data-bind="click: function () { $parent.hasChanges(true); enabled(!enabled()); }, text: enabled() ? '☑' : '☐'"></span>
|
||||
</td>
|
||||
<td class="drag-wrapper">
|
||||
<span class="fontastic drag-handle">⬍</span>
|
||||
</td>
|
||||
<td class="e-action">
|
||||
<span class="filter-name" data-bind="text: name()"></span>
|
||||
|
||||
<span class="filter-sub-name" data-bind="text: nameSub()"></span>
|
||||
</td>
|
||||
<td>
|
||||
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: function(oFilter) { $root.deleteFilter(oFilter); }"
|
||||
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
||||
</td>
|
||||
<td>
|
||||
<span class="delete-filter fontastic" data-bind="visible: !deleteAccess() && canBeDeleted(), click: function (oFilter) { $root.filterForDeletion(oFilter); }">🗑</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<a class="btn" data-bind="click: $root.addFilter">
|
||||
<i class="fontastic">✚</i>
|
||||
<span data-i18n="POPUPS_SIEVE_SCRIPT/BUTTON_ADD_FILTER"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn" data-bind="visible: $root.allowToggle, click: function() { $root.toggleFiltersRaw(); }, css: {'active': $root.rawActive }" data-i18n="[title]POPUPS_SIEVE_SCRIPT/BUTTON_RAW_SCRIPT">
|
||||
<i class="icon-file-code"></i>
|
||||
</a>
|
||||
<a class="btn buttonSave" data-bind="visible: hasChanges, click: function() { $root.saveScriptCommand(); }, css: {'btn-danger': $root.saveError}">
|
||||
<i class="fontastic" data-bind="css: {'icon-spinner': $root.saving}">💾</i>
|
||||
<span data-i18n="GLOBAL/SAVE"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,42 +1,40 @@
|
|||
<div class="modal fade b-template-add-content" data-bind="modal: modalVisibility">
|
||||
<div>
|
||||
<div class="modal-header g-ui-user-select-none">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<h3>
|
||||
<span data-bind="visible: '' === id()" data-i18n="POPUPS_ADD_TEMPLATE/TITLE_ADD_TEMPLATE"></span>
|
||||
<span data-bind="visible: '' !== id()" data-i18n="POPUPS_ADD_TEMPLATE/TITLE_UPDATE_TEMPLATE"></span>
|
||||
</h3>
|
||||
</div>
|
||||
<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>
|
||||
<span data-bind="text: submitError"></span>
|
||||
</div>
|
||||
<br />
|
||||
<div class="control-group" data-bind="css: {'error': nameError}">
|
||||
<label class="control-label" data-i18n="GLOBAL/NAME"></label>
|
||||
<div class="controls">
|
||||
<input type="text" class="inputName input-xlarge"
|
||||
autofocus="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="textInput: name, onEnter: addTemplateCommand" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-header g-ui-user-select-none">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<h3>
|
||||
<span data-bind="visible: '' === id()" data-i18n="POPUPS_ADD_TEMPLATE/TITLE_ADD_TEMPLATE"></span>
|
||||
<span data-bind="visible: '' !== id()" data-i18n="POPUPS_ADD_TEMPLATE/TITLE_UPDATE_TEMPLATE"></span>
|
||||
</h3>
|
||||
</div>
|
||||
<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>
|
||||
<span data-bind="text: submitError"></span>
|
||||
</div>
|
||||
<hr />
|
||||
<div class="form-horizontal">
|
||||
<div class="control-group" data-bind="css: {'error': bodyError}">
|
||||
<div class="e-template-place" data-bind="initDom: signatureDom"></div>
|
||||
<br />
|
||||
<div class="control-group" data-bind="css: {'error': nameError}">
|
||||
<label class="control-label" data-i18n="GLOBAL/NAME"></label>
|
||||
<div class="controls">
|
||||
<input type="text" class="inputName input-xlarge"
|
||||
autofocus="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="textInput: name, onEnter: addTemplateCommand" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn buttonAddAccount" data-bind="command: addTemplateCommand">
|
||||
<i data-bind="visible: '' == id(), css: {'icon-user-add': !submitRequest(), 'icon-spinner': submitRequest()}"></i>
|
||||
<span data-bind="visible: '' == id()" data-i18n="POPUPS_ADD_TEMPLATE/BUTTON_ADD_TEMPLATE"></span>
|
||||
<i data-bind="visible: '' !== id(), css: {'icon-ok': !submitRequest(), 'icon-spinner': submitRequest()}"></i>
|
||||
<span data-bind="visible: '' !== id()" data-i18n="POPUPS_ADD_TEMPLATE/BUTTON_UPDATE_TEMPLATE"></span>
|
||||
</a>
|
||||
<hr />
|
||||
<div class="form-horizontal">
|
||||
<div class="control-group" data-bind="css: {'error': bodyError}">
|
||||
<div class="e-template-place" data-bind="initDom: signatureDom"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn buttonAddAccount" data-bind="command: addTemplateCommand">
|
||||
<i data-bind="visible: '' == id(), css: {'icon-user-add': !submitRequest(), 'icon-spinner': submitRequest()}"></i>
|
||||
<span data-bind="visible: '' == id()" data-i18n="POPUPS_ADD_TEMPLATE/BUTTON_ADD_TEMPLATE"></span>
|
||||
<i data-bind="visible: '' !== id(), css: {'icon-ok': !submitRequest(), 'icon-spinner': submitRequest()}"></i>
|
||||
<span data-bind="visible: '' !== id()" data-i18n="POPUPS_ADD_TEMPLATE/BUTTON_UPDATE_TEMPLATE"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,25 +1,23 @@
|
|||
<div class="modal fade b-open-pgp-key-view-content" data-bind="modal: modalVisibility">
|
||||
<div>
|
||||
<div class="modal-header g-ui-user-select-none">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<h3 data-i18n="POPUPS_VIEW_OPEN_PGP_KEY/TITLE_VIEW_OPEN_PGP_KEY"></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-horizontal">
|
||||
<div class="control-group">
|
||||
<pre class="key-viewer" data-bind="initDom: keyDom, text: key"></pre>
|
||||
</div>
|
||||
<div class="modal-header g-ui-user-select-none">
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
<h3 data-i18n="POPUPS_VIEW_OPEN_PGP_KEY/TITLE_VIEW_OPEN_PGP_KEY"></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-horizontal">
|
||||
<div class="control-group">
|
||||
<pre class="key-viewer" data-bind="initDom: keyDom, text: key"></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn buttonClose" data-bind="command: cancelCommand">
|
||||
<i class="fontastic">✖</i>
|
||||
<span data-i18n="GLOBAL/CLOSE"></span>
|
||||
</a>
|
||||
<a class="btn buttonClose" data-bind="click: selectKey">
|
||||
<i class="fontastic">🔑</i>
|
||||
<span data-i18n="POPUPS_VIEW_OPEN_PGP_KEY/BUTTON_SELECT"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a class="btn buttonClose" data-bind="command: cancelCommand">
|
||||
<i class="fontastic">✖</i>
|
||||
<span data-i18n="GLOBAL/CLOSE"></span>
|
||||
</a>
|
||||
<a class="btn buttonClose" data-bind="click: selectKey">
|
||||
<i class="fontastic">🔑</i>
|
||||
<span data-i18n="POPUPS_VIEW_OPEN_PGP_KEY/BUTTON_SELECT"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
<div class="b-settings-accounts g-ui-user-select-none">
|
||||
<div data-bind="visible: allowAdditionalAccount">
|
||||
<div class="form-horizontal">
|
||||
<div class="legend">
|
||||
<span data-i18n="SETTINGS_ACCOUNTS/LEGEND_ACCOUNTS"></span>
|
||||
|
||||
<i class="icon-spinner" style="margin-top: 5px" data-bind="visible: loading"></i>
|
||||
</div>
|
||||
<div class="legend">
|
||||
<span data-i18n="SETTINGS_ACCOUNTS/LEGEND_ACCOUNTS"></span>
|
||||
|
||||
<i class="icon-spinner" style="margin-top: 5px" data-bind="visible: loading"></i>
|
||||
</div>
|
||||
<a class="btn" data-bind="click: addNewAccount">
|
||||
<i class="icon-user-add"></i>
|
||||
|
@ -43,9 +41,7 @@
|
|||
</div>
|
||||
<div data-bind="visible: allowIdentities">
|
||||
<br />
|
||||
<div class="form-horizontal">
|
||||
<div class="legend" data-i18n="SETTINGS_ACCOUNTS/LEGEND_IDENTITIES"></div>
|
||||
</div>
|
||||
<div class="legend" data-i18n="SETTINGS_ACCOUNTS/LEGEND_IDENTITIES"></div>
|
||||
<a class="btn" data-bind="click: addNewIdentity">
|
||||
<i class="icon-user-add"></i>
|
||||
<span data-i18n="SETTINGS_ACCOUNTS/BUTTON_ADD_IDENTITY"></span>
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
<div class="settingsCustom">
|
||||
CUSTOM
|
||||
</div>
|
|
@ -1,10 +1,8 @@
|
|||
<div class="b-settings-folders">
|
||||
<div class="form-horizontal">
|
||||
<div class="legend">
|
||||
<span data-i18n="SETTINGS_FOLDERS/LEGEND_FOLDERS"></span>
|
||||
|
||||
<i class="icon-spinner" style="margin-top: 5px" data-bind="visible: loading"></i>
|
||||
</div>
|
||||
<div class="legend">
|
||||
<span data-i18n="SETTINGS_FOLDERS/LEGEND_FOLDERS"></span>
|
||||
|
||||
<i class="icon-spinner" style="margin-top: 5px" data-bind="visible: loading"></i>
|
||||
</div>
|
||||
<div style="border-bottom: 1px solid rgba(128,128,128,0.5);margin-bottom:20px;" data-bind="visible: useImapSubscribe, component: {
|
||||
name: 'Checkbox',
|
||||
|
|
|
@ -104,8 +104,7 @@
|
|||
}"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-horizontal">
|
||||
|
||||
<div class="legend" data-i18n="SETTINGS_GENERAL/LABEL_NOTIFICATIONS"></div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<div class="b-settins-left">
|
||||
<div class="b-content">
|
||||
<nav class="b-settings-menu" data-bind="foreach: menu">
|
||||
<nav data-bind="foreach: menu">
|
||||
<a data-bind="css: {'selected': selected }, attr: { 'href': $root.link(route), 'data-i18n': label }"></a>
|
||||
</nav>
|
||||
</div>
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
<div class="b-settings-open-pgp g-ui-user-select-none">
|
||||
<div class="form-horizontal">
|
||||
<div class="legend">OpenPGP</div>
|
||||
</div>
|
||||
<div class="legend">OpenPGP</div>
|
||||
<button class="btn" data-bind="click: addOpenPgpKey">
|
||||
<i class="icon-list-add"></i>
|
||||
<span data-i18n="SETTINGS_OPEN_PGP/BUTTON_ADD_OPEN_PGP_KEY"></span>
|
||||
|
@ -46,9 +44,7 @@
|
|||
<td>
|
||||
<span class="delete-open-pgp-key fontastic" data-bind="visible: !deleteAccess(), click: function (openPgpKey) { $root.openPgpKeyForDeletion(openPgpKey); }">🗑</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="view-open-pgp-key fontastic" data-bind="click: function (openPgpKey) { $root.viewOpenPgpKey(openPgpKey); }">👁</span>
|
||||
</td>
|
||||
<td class="view-open-pgp-key fontastic" data-bind="click: function (openPgpKey) { $root.viewOpenPgpKey(openPgpKey); }">👁</td>
|
||||
</tr>
|
||||
</tbody><tbody data-bind="foreach: openpgpkeysPublic">
|
||||
<tr class="open-pgp-key-item">
|
||||
|
@ -65,9 +61,7 @@
|
|||
<td>
|
||||
<span class="delete-open-pgp-key fontastic" data-bind="visible: !deleteAccess(), click: function (openPgpKey) { $root.openPgpKeyForDeletion(openPgpKey); }">🗑</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="view-open-pgp-key fontastic" data-bind="click: function (openPgpKey) { $root.viewOpenPgpKey(openPgpKey); }">👁</span>
|
||||
</td>
|
||||
<td class="view-open-pgp-key fontastic" data-bind="click: function (openPgpKey) { $root.viewOpenPgpKey(openPgpKey); }">👁</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -1,19 +1,15 @@
|
|||
<div class="b-settings b-settins-right">
|
||||
<div class="b-toolbar" style="padding-left: 0">
|
||||
<div class="btn-toolbar" style="margin-top: 2px;">
|
||||
<div class="btn-group show-mobile" data-bind="visible: !leftPanelDisabled()" style="margin-left: -1px">
|
||||
<a class="btn btn-thin-2 fontastic" data-bind="click: hideLeft">❮</a>
|
||||
</div>
|
||||
<div class="btn-group show-mobile" data-bind="visible: leftPanelDisabled()">
|
||||
<a class="btn btn-thin-2 fontastic" data-bind="click: showLeft">❯</a>
|
||||
</div>
|
||||
<a class="btn button-back" data-bind="click: backToMailBoxClick">
|
||||
<i class="fontastic">⬅</i>
|
||||
<span data-i18n="GLOBAL/BACK"></span>
|
||||
</a>
|
||||
<div class="b-toolbar btn-toolbar" style="margin-top: 2px;">
|
||||
<div class="btn-group show-mobile" data-bind="visible: !leftPanelDisabled()" style="margin-left: -1px">
|
||||
<a class="btn btn-thin-2 fontastic" data-bind="click: hideLeft">❮</a>
|
||||
</div>
|
||||
<div class="btn-group show-mobile" data-bind="visible: leftPanelDisabled()">
|
||||
<a class="btn btn-thin-2 fontastic" data-bind="click: showLeft">❯</a>
|
||||
</div>
|
||||
<a class="btn button-back" data-bind="click: backToMailBoxClick">
|
||||
<i class="fontastic">⬅</i>
|
||||
<span data-i18n="GLOBAL/BACK"></span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="b-content">
|
||||
<div id="rl-settings-subscreen"></div>
|
||||
</div>
|
||||
<div class="b-content" id="rl-settings-subscreen"></div>
|
||||
</div>
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
<div class="b-settings-templates g-ui-user-select-none">
|
||||
<div class="form-horizontal">
|
||||
<div class="legend">
|
||||
<span data-i18n="SETTINGS_TEMPLATES/LEGEND_TEMPLATES"></span>
|
||||
|
||||
<i class="icon-spinner" style="margin-top: 5px" data-bind="visible: templates.loading"></i>
|
||||
</div>
|
||||
<div class="legend">
|
||||
<span data-i18n="SETTINGS_TEMPLATES/LEGEND_TEMPLATES"></span>
|
||||
|
||||
<i class="icon-spinner" style="margin-top: 5px" data-bind="visible: templates.loading"></i>
|
||||
</div>
|
||||
<a class="btn" data-bind="click: addNewTemplate">
|
||||
<i class="icon-user-add"></i>
|
||||
|
@ -13,31 +11,29 @@
|
|||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<div>
|
||||
<div class="templates-list-top-padding"></div>
|
||||
<table class="table table-hover list-table templates-list" data-bind="i18nUpdate: templates">
|
||||
<colgroup>
|
||||
<col />
|
||||
<col style="width: 150px" />
|
||||
<col style="width: 1%" />
|
||||
</colgroup>
|
||||
<tbody data-bind="foreach: templates">
|
||||
<tr class="template-item" draggable="true" data-bind="sortableItem: { list: $root.templates }">
|
||||
<td class="e-action">
|
||||
<span class="template-img fontastic">👤</span>
|
||||
<i class="fontastic drag-handle">⬍</i>
|
||||
<span class="template-name" data-bind="text: name"></span>
|
||||
</td>
|
||||
<td>
|
||||
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess}, click: function(oTemplate) { $root.deleteTemplate(oTemplate); }"
|
||||
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
||||
</td>
|
||||
<td>
|
||||
<span class="delete-template fontastic" data-bind="visible: !deleteAccess(), click: function (oTemplate) { $root.templateForDeletion(oTemplate); }">🗑</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="templates-list-top-padding"></div>
|
||||
<table class="table table-hover list-table templates-list" data-bind="i18nUpdate: templates">
|
||||
<colgroup>
|
||||
<col />
|
||||
<col style="width: 150px" />
|
||||
<col style="width: 1%" />
|
||||
</colgroup>
|
||||
<tbody data-bind="foreach: templates">
|
||||
<tr class="template-item" draggable="true" data-bind="sortableItem: { list: $root.templates }">
|
||||
<td class="e-action">
|
||||
<span class="template-img fontastic">👤</span>
|
||||
<i class="fontastic drag-handle">⬍</i>
|
||||
<span class="template-name" data-bind="text: name"></span>
|
||||
</td>
|
||||
<td>
|
||||
<a class="btn btn-small btn-small-small btn-danger pull-right button-confirm-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess}, click: function(oTemplate) { $root.deleteTemplate(oTemplate); }"
|
||||
data-i18n="GLOBAL/ARE_YOU_SURE"></a>
|
||||
</td>
|
||||
<td>
|
||||
<span class="delete-template fontastic" data-bind="visible: !deleteAccess(), click: function (oTemplate) { $root.templateForDeletion(oTemplate); }">🗑</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
<div class="b-settings-themes g-ui-user-select-none">
|
||||
<div class="form-horizontal">
|
||||
<div class="legend">
|
||||
<span data-i18n="SETTINGS_THEMES/LEGEND_THEMES"></span>
|
||||
<span data-bind="saveTrigger: themeTrigger"></span>
|
||||
</div>
|
||||
<div class="legend">
|
||||
<span data-i18n="SETTINGS_THEMES/LEGEND_THEMES"></span>
|
||||
<span data-bind="saveTrigger: themeTrigger"></span>
|
||||
</div>
|
||||
<div class="b-themes-list" data-bind="foreach: themesObjects">
|
||||
<div class="e-item" data-bind="click: function () { $root.theme(name); }, css: { 'selected': selected }">
|
||||
|
|
Loading…
Reference in a new issue