mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-01-06 14:24:14 +08:00
Replaced more knockoutjs hasfocus for autofocus=""
This commit is contained in:
parent
e4ddef97d6
commit
dc3b76f53a
4 changed files with 15 additions and 41 deletions
|
|
@ -31,8 +31,6 @@ class ComposeOpenPgpPopupView extends AbstractViewNext {
|
|||
this.encrypt = ko.observable(false);
|
||||
|
||||
this.password = ko.observable('');
|
||||
this.password.focus = ko.observable(false);
|
||||
this.buttonFocus = ko.observable(false);
|
||||
|
||||
this.text = ko.observable('');
|
||||
this.selectedPrivateKey = ko.observable(null);
|
||||
|
|
@ -296,8 +294,6 @@ class ComposeOpenPgpPopupView extends AbstractViewNext {
|
|||
this.encrypt(false);
|
||||
|
||||
this.password('');
|
||||
this.password.focus(false);
|
||||
this.buttonFocus(false);
|
||||
|
||||
this.signKey(null);
|
||||
this.encryptKeys([]);
|
||||
|
|
@ -308,15 +304,11 @@ class ComposeOpenPgpPopupView extends AbstractViewNext {
|
|||
|
||||
onBuild() {
|
||||
key('tab,shift+tab', KeyState.PopupComposeOpenPGP, () => {
|
||||
switch (true) {
|
||||
case this.password.focus():
|
||||
this.buttonFocus(true);
|
||||
break;
|
||||
case this.buttonFocus():
|
||||
this.password.focus(true);
|
||||
break;
|
||||
// no default
|
||||
let btn = this.querySelector('.inputPassword');
|
||||
if (btn.matches(':focus')) {
|
||||
btn = this.querySelector('.buttonDo');
|
||||
}
|
||||
btn.focus();
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
|
@ -326,11 +318,7 @@ class ComposeOpenPgpPopupView extends AbstractViewNext {
|
|||
}
|
||||
|
||||
onShowWithDelay() {
|
||||
if (this.sign()) {
|
||||
this.password.focus(true);
|
||||
} else {
|
||||
this.buttonFocus(true);
|
||||
}
|
||||
this.querySelector(this.sign() ? '.inputPassword' : '.buttonDo').focus();
|
||||
}
|
||||
|
||||
onShow(fCallback, sText, identity, sTo, sCc, sBcc) {
|
||||
|
|
|
|||
|
|
@ -20,8 +20,6 @@ class MessageOpenPgpPopupView extends AbstractViewNext {
|
|||
this.privateKeys = ko.observableArray([]);
|
||||
|
||||
this.password = ko.observable('');
|
||||
this.password.focus = ko.observable(false);
|
||||
this.buttonFocus = ko.observable(false);
|
||||
|
||||
this.resultCallback = null;
|
||||
|
||||
|
|
@ -72,8 +70,6 @@ class MessageOpenPgpPopupView extends AbstractViewNext {
|
|||
this.notification('');
|
||||
|
||||
this.password('');
|
||||
this.password.focus(false);
|
||||
this.buttonFocus(false);
|
||||
|
||||
this.selectedKey(false);
|
||||
this.submitRequest(false);
|
||||
|
|
@ -84,16 +80,11 @@ class MessageOpenPgpPopupView extends AbstractViewNext {
|
|||
|
||||
onBuild(oDom) {
|
||||
key('tab,shift+tab', KeyState.PopupMessageOpenPGP, () => {
|
||||
switch (true) {
|
||||
case this.password.focus():
|
||||
this.buttonFocus(true);
|
||||
break;
|
||||
case this.buttonFocus():
|
||||
this.password.focus(true);
|
||||
break;
|
||||
// no default
|
||||
let btn = this.querySelector('.inputPassword');
|
||||
if (btn.matches(':focus')) {
|
||||
btn = this.querySelector('.buttonDo');
|
||||
}
|
||||
|
||||
btn.focus();
|
||||
return false;
|
||||
});
|
||||
|
||||
|
|
@ -114,7 +105,7 @@ class MessageOpenPgpPopupView extends AbstractViewNext {
|
|||
|
||||
self.selectedKey(ko.dataFor(this)); // eslint-disable-line no-invalid-this
|
||||
|
||||
self.password.focus(true);
|
||||
// this.querySelector('.inputPassword').focus();
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -122,11 +113,6 @@ class MessageOpenPgpPopupView extends AbstractViewNext {
|
|||
this.clearPopup();
|
||||
}
|
||||
|
||||
onShowWithDelay() {
|
||||
this.password.focus(true);
|
||||
// this.buttonFocus(true);
|
||||
}
|
||||
|
||||
onShow(fCallback, privateKeys) {
|
||||
this.clearPopup();
|
||||
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@
|
|||
<input type="password" class="inputPassword input-block-level i18n"
|
||||
autocomplete="current-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-i18n="[placeholder]POPUPS_COMPOSE_OPEN_PGP/LABEL_PASSWORD"
|
||||
data-bind="textInput: password, hasfocus: password.focus, onEnter: doCommand" />
|
||||
data-bind="textInput: password, onEnter: doCommand" />
|
||||
<div class="form-inline" data-bind="visible: 0 < privateKeysOptions().length">
|
||||
<select class="input-block-level" data-bind="options: privateKeysOptions, value: selectedPrivateKey,
|
||||
optionsCaption: privateKeysOptionsCaption, optionsText: 'name', optionsValue: 'id',
|
||||
|
|
@ -105,7 +105,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn buttonDo" data-bind="command: doCommand, hasfocus: buttonFocus,
|
||||
<button class="btn buttonDo" data-bind="command: doCommand,
|
||||
enable: (sign() || encrypt()) && (!encrypt() || encrypt() && encryptKeys().length > 0)">
|
||||
<i data-bind="css: {'icon-key': !submitRequest(), 'icon-spinner animated': submitRequest()}"></i>
|
||||
|
||||
|
|
|
|||
|
|
@ -35,14 +35,14 @@
|
|||
<div class="control-group">
|
||||
<label class="i18n control-label" data-i18n="POPUPS_MESSAGE_OPEN_PGP/LABEL_PASSWORD"></label>
|
||||
<div class="controls">
|
||||
<input type="password" class="inputPassword input-xlarge" autocomplete="current-password" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="textInput: password, hasfocus: password.focus, onEnter: doCommand" />
|
||||
<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>
|
||||
<div class="modal-footer">
|
||||
<button class="btn buttonDo" data-bind="command: doCommand, hasfocus: buttonFocus">
|
||||
<button class="btn buttonDo" data-bind="command: doCommand">
|
||||
<i data-bind="css: {'icon-key': !submitRequest(), 'icon-spinner animated': submitRequest()}"></i>
|
||||
|
||||
<span class="i18n" data-i18n="POPUPS_MESSAGE_OPEN_PGP/BUTTON_DECRYPT"></span>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue