diff --git a/ui/src/app/metadata/filter/container/new-filter.component.ts b/ui/src/app/metadata/filter/container/new-filter.component.ts index 7215b55c4..aeb56e019 100644 --- a/ui/src/app/metadata/filter/container/new-filter.component.ts +++ b/ui/src/app/metadata/filter/container/new-filter.component.ts @@ -51,7 +51,6 @@ export class NewFilterComponent implements OnDestroy, OnInit { this.statusChangeEmitted$ .pipe(takeUntil(this.ngUnsubscribe)) .subscribe(valid => { - console.log(valid); this.isValid = valid.value ? valid.value.length === 0 : true; }); diff --git a/ui/src/app/metadata/filter/effect/collection.effect.ts b/ui/src/app/metadata/filter/effect/collection.effect.ts index 4dde8f3a4..f2975bd34 100644 --- a/ui/src/app/metadata/filter/effect/collection.effect.ts +++ b/ui/src/app/metadata/filter/effect/collection.effect.ts @@ -102,6 +102,14 @@ export class FilterCollectionEffects { tap(([filter, provider]) => this.router.navigate(['/', 'metadata', 'provider', provider, 'filters'])) ); + @Effect() + addFilterSuccessReloadParent$ = this.actions$.pipe( + ofType(FilterCollectionActionTypes.ADD_FILTER_SUCCESS), + map(action => action.payload), + withLatestFrom(this.store.select(fromProvider.getSelectedProviderId).pipe(skipWhile(id => !id))), + map(([filter, provider]) => new SelectProviderRequest(provider)) + ); + @Effect() updateFilter$ = this.actions$.pipe( ofType(FilterCollectionActionTypes.UPDATE_FILTER_REQUEST), diff --git a/ui/src/app/metadata/provider/container/provider-edit-step.component.ts b/ui/src/app/metadata/provider/container/provider-edit-step.component.ts index 2a32d925d..25e6085c4 100644 --- a/ui/src/app/metadata/provider/container/provider-edit-step.component.ts +++ b/ui/src/app/metadata/provider/container/provider-edit-step.component.ts @@ -99,9 +99,18 @@ export class ProviderEditStepComponent implements OnDestroy { this.valueChangeEmitted$.pipe( map(changes => changes.value), - withLatestFrom(this.definition$), - skipWhile(([ changes, definition ]) => !definition || !changes), - map(([ changes, definition ]) => definition.parser(changes)) + withLatestFrom(this.definition$, this.store.select(fromProvider.getSelectedProvider)), + filter(([ changes, definition, provider ]) => definition && changes && provider), + map(([ changes, definition, provider ]) => { + const parsed = definition.parser(changes); + return ({ + ...parsed, + metadataFilters: [ + ...provider.metadataFilters, + ...(parsed.metadataFilters || []) + ] + }); + }) ) .subscribe(changes => this.store.dispatch(new UpdateProvider(changes))); 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..8fe540eeb 100644 --- a/ui/src/app/metadata/provider/container/provider-select.component.ts +++ b/ui/src/app/metadata/provider/container/provider-select.component.ts @@ -31,6 +31,8 @@ export class ProviderSelectComponent implements OnDestroy { map(params => new SelectProviderRequest(params.providerId)) ).subscribe(store); + this.route.params.subscribe(params => console.log(params)); + this.provider$ = this.store.select(fromProviders.getSelectedProvider).pipe(skipWhile(p => !p)); this.provider$.subscribe(provider => this.setDefinition(provider));