From 1cd26348960682c47a37f2f8432ed28ab6a5d63f Mon Sep 17 00:00:00 2001 From: Ryan Mathis Date: Thu, 6 Jun 2019 09:58:12 -0700 Subject: [PATCH 1/2] SHIBUI-nojira fixed issue with app locking up on navigation to editors --- ui/src/app/metadata/domain/domain.util.ts | 1 + .../container/provider-edit.component.spec.ts | 8 -------- .../provider/container/provider-edit.component.ts | 6 ------ .../provider/container/provider-select.component.ts | 12 +++++++++--- .../provider/container/provider.component.spec.ts | 13 +------------ .../provider/container/provider.component.ts | 4 +--- .../metadata/provider/effect/collection.effect.ts | 8 ++++---- .../metadata/provider/reducer/collection.reducer.ts | 2 +- .../resolver/container/resolver-edit.component.ts | 6 ------ 9 files changed, 17 insertions(+), 43 deletions(-) diff --git a/ui/src/app/metadata/domain/domain.util.ts b/ui/src/app/metadata/domain/domain.util.ts index 2aeeac247..1080d5237 100644 --- a/ui/src/app/metadata/domain/domain.util.ts +++ b/ui/src/app/metadata/domain/domain.util.ts @@ -7,6 +7,7 @@ import { Metadata } from './domain.type'; export const combineAllFn = (d, p) => [...p, ...d]; export const doesExistFn = (ids, selected) => ids.indexOf(selected) > -1; export const getInCollectionFn = (entities, selectedId) => { + console.log(entities, selectedId); return selectedId && entities[selectedId]; }; export const getEntityIdsFn = list => list.map(entity => entity.entityId); diff --git a/ui/src/app/metadata/provider/container/provider-edit.component.spec.ts b/ui/src/app/metadata/provider/container/provider-edit.component.spec.ts index 83d6288f0..bd6ed6698 100644 --- a/ui/src/app/metadata/provider/container/provider-edit.component.spec.ts +++ b/ui/src/app/metadata/provider/container/provider-edit.component.spec.ts @@ -97,14 +97,6 @@ describe('Provider Edit Component', () => { expect(app).toBeTruthy(); })); - describe('go method', () => { - it('should route to the given child form', () => { - spyOn(router, 'navigate'); - app.go('common'); - expect(router.navigate).toHaveBeenCalled(); - }); - }); - describe('save method', () => { it('should route to the given child form', () => { app.save(); diff --git a/ui/src/app/metadata/provider/container/provider-edit.component.ts b/ui/src/app/metadata/provider/container/provider-edit.component.ts index a0a3ad0ea..c00da63e2 100644 --- a/ui/src/app/metadata/provider/container/provider-edit.component.ts +++ b/ui/src/app/metadata/provider/container/provider-edit.component.ts @@ -60,8 +60,6 @@ export class ProviderEditComponent implements OnDestroy, CanComponentDeactivate let startIndex$ = this.route.firstChild.params.pipe(map(p => p.form || 'filters')); startIndex$.subscribe(index => this.store.dispatch(new SetIndex(index))); - this.index$.pipe(takeUntil(this.ngUnsubscribe)).subscribe(id => id && this.go(id)); - this.store .select(fromWizard.getCurrentWizardSchema) .pipe(filter(s => !!s)) @@ -77,10 +75,6 @@ export class ProviderEditComponent implements OnDestroy, CanComponentDeactivate this.canFilter$ = this.definition$.pipe(map(def => FilterableProviders.indexOf(def.type) > -1)); } - go(id: string): void { - this.router.navigate(['./', id], { relativeTo: this.route }); - } - ngOnDestroy() { this.clear(); this.ngUnsubscribe.next(); diff --git a/ui/src/app/metadata/provider/container/provider-select.component.ts b/ui/src/app/metadata/provider/container/provider-select.component.ts index baba7f626..a704afcb2 100644 --- a/ui/src/app/metadata/provider/container/provider-select.component.ts +++ b/ui/src/app/metadata/provider/container/provider-select.component.ts @@ -3,7 +3,7 @@ import { Subscription, Observable } from 'rxjs'; import { Store } from '@ngrx/store'; import { ActivatedRoute } from '@angular/router'; -import { map, distinctUntilChanged, skipWhile } from 'rxjs/operators'; +import { map, distinctUntilChanged, skipWhile, filter } from 'rxjs/operators'; import { SelectProviderRequest, ClearProviderSelection } from '../action/collection.action'; import * as fromProviders from '../reducer'; import { MetadataProvider } from '../../domain/model'; @@ -31,9 +31,15 @@ export class ProviderSelectComponent implements OnDestroy { map(params => new SelectProviderRequest(params.providerId)) ).subscribe(store); - this.provider$ = this.store.select(fromProviders.getSelectedProvider).pipe(skipWhile(p => !p)); + this.provider$ = this.store.select(fromProviders.getSelectedProvider).pipe(filter(p => { + console.log(p); + return p; + })); - this.provider$.subscribe(provider => this.setDefinition(provider)); + this.provider$.subscribe(provider => { + console.log(provider); + this.setDefinition(provider); + }); } setDefinition(provider: MetadataProvider): void { diff --git a/ui/src/app/metadata/provider/container/provider.component.spec.ts b/ui/src/app/metadata/provider/container/provider.component.spec.ts index 430c248b2..c04839b6f 100644 --- a/ui/src/app/metadata/provider/container/provider.component.spec.ts +++ b/ui/src/app/metadata/provider/container/provider.component.spec.ts @@ -1,13 +1,10 @@ import { Component, ViewChild } from '@angular/core'; import { TestBed, async, ComponentFixture } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; -import { StoreModule, Store, combineReducers } from '@ngrx/store'; import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; import { ProviderComponent } from './provider.component'; -import * as fromRoot from '../reducer'; -import * as fromWizard from '../../../wizard/reducer'; @Component({ template: ` @@ -24,17 +21,12 @@ describe('Provider Component', () => { let fixture: ComponentFixture; let instance: TestHostComponent; let app: ProviderComponent; - let store: Store; beforeEach(async(() => { TestBed.configureTestingModule({ imports: [ NgbDropdownModule, - RouterTestingModule, - StoreModule.forRoot({ - provider: combineReducers(fromRoot.reducers), - wizard: combineReducers(fromWizard.reducers) - }) + RouterTestingModule ], declarations: [ ProviderComponent, @@ -42,9 +34,6 @@ describe('Provider Component', () => { ], }).compileComponents(); - store = TestBed.get(Store); - spyOn(store, 'dispatch'); - fixture = TestBed.createComponent(TestHostComponent); instance = fixture.componentInstance; app = instance.componentUnderTest; diff --git a/ui/src/app/metadata/provider/container/provider.component.ts b/ui/src/app/metadata/provider/container/provider.component.ts index c23dc7066..54757e53d 100644 --- a/ui/src/app/metadata/provider/container/provider.component.ts +++ b/ui/src/app/metadata/provider/container/provider.component.ts @@ -8,7 +8,5 @@ import * as fromProvider from '../reducer'; styleUrls: [] }) export class ProviderComponent { - constructor( - private store: Store - ) {} + constructor() {} } diff --git a/ui/src/app/metadata/provider/effect/collection.effect.ts b/ui/src/app/metadata/provider/effect/collection.effect.ts index 8b19d6d3a..7091e46d8 100644 --- a/ui/src/app/metadata/provider/effect/collection.effect.ts +++ b/ui/src/app/metadata/provider/effect/collection.effect.ts @@ -82,14 +82,14 @@ export class CollectionEffects { ofType(ProviderCollectionActionTypes.SELECT_PROVIDER_REQUEST), map(action => action.payload), debounceTime(500), - switchMap(id => - this.providerService + switchMap(id => { + return this.providerService .find(id) .pipe( map(provider => new SelectProviderSuccess(provider)), catchError(error => of(new SelectProviderError(error))) - ) - ) + ); + }) ); @Effect() diff --git a/ui/src/app/metadata/provider/reducer/collection.reducer.ts b/ui/src/app/metadata/provider/reducer/collection.reducer.ts index de1439821..a04e940af 100644 --- a/ui/src/app/metadata/provider/reducer/collection.reducer.ts +++ b/ui/src/app/metadata/provider/reducer/collection.reducer.ts @@ -23,7 +23,7 @@ export function reducer(state = initialState, action: ProviderCollectionActionsU case ProviderCollectionActionTypes.SELECT_PROVIDER_SUCCESS: { return { ...state, - selectedProviderId: action.payload.id as string + selectedProviderId: action.payload.resourceId }; } diff --git a/ui/src/app/metadata/resolver/container/resolver-edit.component.ts b/ui/src/app/metadata/resolver/container/resolver-edit.component.ts index 6161919f9..f793ef96e 100644 --- a/ui/src/app/metadata/resolver/container/resolver-edit.component.ts +++ b/ui/src/app/metadata/resolver/container/resolver-edit.component.ts @@ -56,8 +56,6 @@ export class ResolverEditComponent implements OnDestroy, CanComponentDeactivate let startIndex$ = this.route.firstChild.params.pipe(map(p => p.form)); startIndex$.pipe(takeUntil(this.ngUnsubscribe)).subscribe(index => this.store.dispatch(new SetIndex(index))); - this.index$.pipe(takeUntil(this.ngUnsubscribe)).subscribe(index => index && this.go(index)); - this.store .select(fromWizard.getCurrentWizardSchema) .pipe(filter(s => !!s)) @@ -67,10 +65,6 @@ export class ResolverEditComponent implements OnDestroy, CanComponentDeactivate this.store.select(fromResolver.getEntityChanges).subscribe(changes => this.latest = changes); } - go(index: string): void { - this.router.navigate(['./', index], { relativeTo: this.route }); - } - ngOnDestroy() { this.clear(); this.ngUnsubscribe.next(); From 841ab6c72da21b55b8083e08484c138800188e45 Mon Sep 17 00:00:00 2001 From: Ryan Mathis Date: Thu, 6 Jun 2019 10:00:39 -0700 Subject: [PATCH 2/2] removed console log statements --- ui/src/app/metadata/domain/domain.util.ts | 1 - .../metadata/provider/container/provider-select.component.ts | 2 -- 2 files changed, 3 deletions(-) diff --git a/ui/src/app/metadata/domain/domain.util.ts b/ui/src/app/metadata/domain/domain.util.ts index 1080d5237..2aeeac247 100644 --- a/ui/src/app/metadata/domain/domain.util.ts +++ b/ui/src/app/metadata/domain/domain.util.ts @@ -7,7 +7,6 @@ import { Metadata } from './domain.type'; export const combineAllFn = (d, p) => [...p, ...d]; export const doesExistFn = (ids, selected) => ids.indexOf(selected) > -1; export const getInCollectionFn = (entities, selectedId) => { - console.log(entities, selectedId); return selectedId && entities[selectedId]; }; export const getEntityIdsFn = list => list.map(entity => entity.entityId); diff --git a/ui/src/app/metadata/provider/container/provider-select.component.ts b/ui/src/app/metadata/provider/container/provider-select.component.ts index a704afcb2..b0c07f6fd 100644 --- a/ui/src/app/metadata/provider/container/provider-select.component.ts +++ b/ui/src/app/metadata/provider/container/provider-select.component.ts @@ -32,12 +32,10 @@ export class ProviderSelectComponent implements OnDestroy { ).subscribe(store); this.provider$ = this.store.select(fromProviders.getSelectedProvider).pipe(filter(p => { - console.log(p); return p; })); this.provider$.subscribe(provider => { - console.log(provider); this.setDefinition(provider); }); }