Fix cursor location changing issue on toggle password (#561)
This commit is contained in:
parent
d02fcd082e
commit
920ec05fbb
|
@ -1,5 +1,6 @@
|
|||
import { Directive, OnInit } from '@angular/core';
|
||||
import { Directive, NgZone, OnInit } from '@angular/core';
|
||||
import { Router } from '@angular/router';
|
||||
import { take } from 'rxjs/operators';
|
||||
|
||||
import { ApiService } from 'jslib-common/abstractions/api.service';
|
||||
import { CryptoService } from 'jslib-common/abstractions/crypto.service';
|
||||
|
@ -51,7 +52,7 @@ export class LockComponent implements OnInit {
|
|||
protected storageService: StorageService, protected vaultTimeoutService: VaultTimeoutService,
|
||||
protected environmentService: EnvironmentService, protected stateService: StateService,
|
||||
protected apiService: ApiService, private logService: LogService,
|
||||
private keyConnectorService: KeyConnectorService) { }
|
||||
private keyConnectorService: KeyConnectorService, private ngZone: NgZone) { }
|
||||
|
||||
async ngOnInit() {
|
||||
this.pinSet = await this.vaultTimeoutService.isPinLockSet();
|
||||
|
@ -185,7 +186,12 @@ export class LockComponent implements OnInit {
|
|||
|
||||
togglePassword() {
|
||||
this.showPassword = !this.showPassword;
|
||||
document.getElementById(this.pinLock ? 'pin' : 'masterPassword').focus();
|
||||
const input = document.getElementById(this.pinLock ? 'pin' : 'masterPassword');
|
||||
if (this.ngZone.isStable) {
|
||||
input.focus();
|
||||
} else {
|
||||
this.ngZone.onStable.pipe(take(1)).subscribe(() => input.focus());
|
||||
}
|
||||
}
|
||||
|
||||
private async setKeyAndContinue(key: SymmetricCryptoKey) {
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
import {
|
||||
Directive,
|
||||
Input,
|
||||
NgZone,
|
||||
OnInit,
|
||||
} from '@angular/core';
|
||||
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
import { take } from 'rxjs/operators';
|
||||
|
||||
import { AuthResult } from 'jslib-common/models/domain/authResult';
|
||||
|
||||
import { AuthService } from 'jslib-common/abstractions/auth.service';
|
||||
|
@ -51,7 +54,7 @@ export class LoginComponent extends CaptchaProtectedComponent implements OnInit
|
|||
protected stateService: StateService, environmentService: EnvironmentService,
|
||||
protected passwordGenerationService: PasswordGenerationService,
|
||||
protected cryptoFunctionService: CryptoFunctionService, private storageService: StorageService,
|
||||
protected logService: LogService) {
|
||||
protected logService: LogService, private ngZone: NgZone) {
|
||||
super(environmentService, i18nService, platformUtilsService);
|
||||
}
|
||||
|
||||
|
@ -132,7 +135,11 @@ export class LoginComponent extends CaptchaProtectedComponent implements OnInit
|
|||
|
||||
togglePassword() {
|
||||
this.showPassword = !this.showPassword;
|
||||
document.getElementById('masterPassword').focus();
|
||||
if (this.ngZone.isStable) {
|
||||
document.getElementById('masterPassword').focus();
|
||||
} else {
|
||||
this.ngZone.onStable.pipe(take(1)).subscribe(() => document.getElementById('masterPassword').focus());
|
||||
}
|
||||
}
|
||||
|
||||
async launchSsoBrowser(clientId: string, ssoRedirectUri: string) {
|
||||
|
|
Loading…
Reference in New Issue