Compare commits

..

No commits in common. "7a1ba9521216c9f6c43e81e707fe2257dd63f04d" and "1cab239155506631008bc54f053e23c7ab57d516" have entirely different histories.

5 changed files with 20 additions and 13 deletions

View File

@ -181,20 +181,19 @@ export class MapComponent implements OnInit, OnDestroy,AfterViewInit {
newQueryState = tassign(mapReducers.initialQueryState);
if (queryState != "") {
newQueryState = this.serializeService.deserialize(queryState);
queryState = this.serializeService.serialize(newQueryState);
}
queryStateChanged = this.lastQueryState != queryState;
queryStateChanged = this.lastQueryState != queryState;
this.lastQueryState = queryState;
}
if (mapStateChanged && queryStateChanged) {
console.debug("Both states");
//console.log("Both states");
this.store.dispatch(new mapActions.SetState(newMapState, newQueryState));
} else if (mapStateChanged) {
console.debug("Map state");
//console.log("Map state");
this.store.dispatch(new mapActions.SetMapState(newMapState));
} else if (queryStateChanged) {
console.debug("Query state");
//console.log("Query state");
this.store.dispatch(new mapActions.SetQueryState(newQueryState));
}
this.stateSetCount += 1;

View File

@ -13,6 +13,7 @@ export const INITROOTSUCCESS = '[Explorer] InitRootSuccess';
export const OPENMODAL = '[AppCommon] OpenModal';
export const CLOSEMODAL = '[AppCommon] CloseModal';
export const LOGIN = '[AppCommon] Login';
export const INITIALIZED = '[AppCommon] Initialized';
export const ESCAPE = '[AppCommon] Escape';
export const LOADITEMTYPES = '[AppCommon] LoadItemTypes';
@ -103,6 +104,12 @@ export class Login implements Action {
constructor(public url: string) { }
}
export class Initialized implements Action {
readonly type = INITIALIZED;
constructor() { }
}
export class Escape implements Action {
readonly type = ESCAPE;
@ -228,6 +235,7 @@ export type Actions = OpenModal
| InitRootSuccess
| CloseModal
| Login
| Initialized
| ItemChangedEvent
| ItemAddedEvent
| ItemDeletedEvent

View File

@ -40,15 +40,10 @@ export class AppCommonEffects {
@Effect()
initUser$: Observable<Action> = this.actions$.pipe(
ofType(appCommonActions.INITUSER),
withLatestFrom(this.store$.select(appCommonReducers.selectGetInitialized)),
switchMap(([action, initialized]) => {
if(!initialized) {
switchMap(() => {
return this.userService$.getCurrentUser().pipe(
map((user: IUser) => new appCommonActions.InitUserSuccess(user)),
catchError(error => of(new appCommonActions.Fail(error))))
} else {
return [];
}
}
));

View File

@ -33,7 +33,7 @@ export function reducer(state = initialState, action: appCommonActions.Actions )
switch (action.type) {
case appCommonActions.INITUSERSUCCESS: {
let a = action as appCommonActions.InitUserSuccess;
return tassign(state, { user: a.user,initialized: true });
return tassign(state, { user: a.user });
}
case appCommonActions.INITROOTSUCCESS: {
let a = action as appCommonActions.InitRootSuccess;
@ -44,7 +44,10 @@ export function reducer(state = initialState, action: appCommonActions.Actions )
}
case appCommonActions.CLOSEMODAL: {
return tassign(state, { openedModalName: null });
}
}
case appCommonActions.INITIALIZED: {
return tassign(state, { initialized: true });
}
case appCommonActions.LOADITEMTYPESSUCCESS: {
let a = action as appCommonActions.LoadItemTypesSuccess;
return tassign(state, { itemTypes: a.itemTypes });

View File

@ -18,6 +18,8 @@ import * as appCommonActions from '../actions/app-common.actions';
})
export class AuthGuard implements CanActivate, CanLoad, CanActivateChild {
private loginDispatched = false;
private initialized = false;
constructor(private oauthService: OAuthService, private router: Router, private store: Store<appCommonReducer.State> ) { }
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {