Browse Source

Merge pull request #8171 from abpframework/feat/volo-5594

Angular UI: Added queryParam as a optional method parameter to the navigateToLogin method of AuthService
pull/8176/head
Bunyamin Coskuner 5 years ago
committed by GitHub
parent
commit
73ceffcb5a
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      npm/ng-packs/packages/core/src/lib/services/auth.service.ts
  2. 14
      npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts
  3. 4
      npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts

5
npm/ng-packs/packages/core/src/lib/services/auth.service.ts

@ -1,4 +1,5 @@
import { Injectable, Injector } from '@angular/core';
import { Params } from '@angular/router';
import { from, Observable } from 'rxjs';
import { filter, map, switchMap, take, tap } from 'rxjs/operators';
import {
@ -51,8 +52,8 @@ export class AuthService {
this.strategy.navigateToLogin();
}
navigateToLogin() {
this.strategy.navigateToLogin();
navigateToLogin(queryParams?: Params) {
this.strategy.navigateToLogin(queryParams);
}
login(params: LoginParams) {

14
npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts

@ -1,6 +1,6 @@
import { HttpHeaders } from '@angular/common/http';
import { Injector } from '@angular/core';
import { Router } from '@angular/router';
import { Params, Router } from '@angular/router';
import { Store } from '@ngxs/store';
import { AuthConfig, OAuthInfoEvent, OAuthService, OAuthStorage } from 'angular-oauth2-oidc';
import { from, Observable, of } from 'rxjs';
@ -29,7 +29,7 @@ export abstract class AuthFlowStrategy {
protected oAuthService: OAuthService;
protected oAuthConfig: AuthConfig;
abstract checkIfInternalAuth(): boolean;
abstract navigateToLogin(): void;
abstract navigateToLogin(queryParams?: Params): void;
abstract logout(): Observable<any>;
abstract login(params?: LoginParams): Observable<any>;
@ -78,8 +78,8 @@ export class AuthCodeFlowStrategy extends AuthFlowStrategy {
.then(() => this.oAuthService.setupAutomaticSilentRefresh({}, 'access_token'));
}
navigateToLogin() {
this.oAuthService.initCodeFlow();
navigateToLogin(queryParams?: Params) {
this.oAuthService.initCodeFlow(null, queryParams);
}
checkIfInternalAuth() {
@ -147,9 +147,9 @@ export class AuthPasswordFlowStrategy extends AuthFlowStrategy {
return super.init().then(() => this.listenToTokenExpiration());
}
navigateToLogin() {
navigateToLogin(queryParams?: Params) {
const router = this.injector.get(Router);
router.navigateByUrl('/account/login');
router.navigate(['/account/login'], { queryParams });
}
checkIfInternalAuth() {
@ -172,7 +172,7 @@ export class AuthPasswordFlowStrategy extends AuthFlowStrategy {
tap(res => {
this.configState.setState(res);
this.setRememberMe(params.rememberMe);
router.navigate([params.redirectUrl || '/']);
if (params.redirectUrl) router.navigate([params.redirectUrl]);
}),
);
}

4
npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts

@ -193,10 +193,10 @@ export class ModalComponent implements OnDestroy {
fromEvent(window, 'beforeunload')
.pipe(takeUntil(this.destroy$))
.subscribe(event => {
if (this.isFormDirty) {
event.preventDefault();
if (this.isFormDirty && !this.suppressUnsavedChangesWarning) {
event.returnValue = true;
} else {
event.returnValue = false;
delete event.returnValue;
}
});

Loading…
Cancel
Save