diff --git a/ui/src/app/metadata/manager/container/dashboard-providers-list.component.html b/ui/src/app/metadata/manager/container/dashboard-providers-list.component.html new file mode 100644 index 000000000..b30d2702a --- /dev/null +++ b/ui/src/app/metadata/manager/container/dashboard-providers-list.component.html @@ -0,0 +1,3 @@ +Metadata providers + +
{{ providers$ | async | json }}
diff --git a/ui/src/app/metadata/manager/container/dashboard-providers-list.component.ts b/ui/src/app/metadata/manager/container/dashboard-providers-list.component.ts new file mode 100644 index 000000000..fd43e20c6 --- /dev/null +++ b/ui/src/app/metadata/manager/container/dashboard-providers-list.component.ts @@ -0,0 +1,21 @@ +import { Component } from '@angular/core'; +import { MetadataProvider } from '../../domain/model'; +import { Observable } from '../../../../../node_modules/rxjs'; +import { Store } from '@ngrx/store'; +import { ProviderState, getAllProviders } from '../../provider/reducer'; + +@Component({ + selector: 'dashboard-providers-list', + templateUrl: './dashboard-providers-list.component.html' +}) + +export class DashboardProvidersListComponent { + + providers$: Observable; + + constructor( + private store: Store + ) { + this.providers$ = this.store.select(getAllProviders); + } +} diff --git a/ui/src/app/metadata/manager/container/dashboard-resolvers-list.component.html b/ui/src/app/metadata/manager/container/dashboard-resolvers-list.component.html new file mode 100644 index 000000000..634e521e8 --- /dev/null +++ b/ui/src/app/metadata/manager/container/dashboard-resolvers-list.component.html @@ -0,0 +1 @@ +Metadata resolvers diff --git a/ui/src/app/metadata/manager/container/dashboard-resolvers-list.component.ts b/ui/src/app/metadata/manager/container/dashboard-resolvers-list.component.ts new file mode 100644 index 000000000..d1748b372 --- /dev/null +++ b/ui/src/app/metadata/manager/container/dashboard-resolvers-list.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'dashboard-resolvers-list', + templateUrl: './dashboard-resolvers-list.component.html' +}) + +export class DashboardResolversListComponent { + +} diff --git a/ui/src/app/metadata/manager/container/manager.component.html b/ui/src/app/metadata/manager/container/manager.component.html index 10df850b2..26cc154eb 100644 --- a/ui/src/app/metadata/manager/container/manager.component.html +++ b/ui/src/app/metadata/manager/container/manager.component.html @@ -15,28 +15,39 @@
-
diff --git a/ui/src/app/metadata/manager/container/manager.component.ts b/ui/src/app/metadata/manager/container/manager.component.ts index 0fe3a8a42..6a3331584 100644 --- a/ui/src/app/metadata/manager/container/manager.component.ts +++ b/ui/src/app/metadata/manager/container/manager.component.ts @@ -16,7 +16,6 @@ import { RemoveDraftRequest } from '../../resolver/action/draft.action'; @Component({ selector: 'manager-page', - changeDetection: ChangeDetectionStrategy.OnPush, templateUrl: './manager.component.html', styleUrls: ['./manager.component.scss'] }) diff --git a/ui/src/app/metadata/manager/manager.module.ts b/ui/src/app/metadata/manager/manager.module.ts index e94b4192a..ed29e36c9 100644 --- a/ui/src/app/metadata/manager/manager.module.ts +++ b/ui/src/app/metadata/manager/manager.module.ts @@ -10,6 +10,8 @@ import { EffectsModule } from '@ngrx/effects'; import { ManagerComponent } from './container/manager.component'; import { EntityItemComponent } from './component/entity-item.component'; import { ProviderSearchComponent } from './component/provider-search.component'; +import { DashboardResolversListComponent } from './container/dashboard-resolvers-list.component'; +import { DashboardProvidersListComponent } from './container/dashboard-providers-list.component'; import { reducers } from './reducer'; import { SearchEffects } from './effect/search.effects'; import { DeleteDialogComponent } from './component/delete-dialog.component'; @@ -21,7 +23,9 @@ import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; ManagerComponent, EntityItemComponent, ProviderSearchComponent, - DeleteDialogComponent + DeleteDialogComponent, + DashboardResolversListComponent, + DashboardProvidersListComponent ], entryComponents: [ DeleteDialogComponent diff --git a/ui/src/app/metadata/manager/manager.routing.ts b/ui/src/app/metadata/manager/manager.routing.ts new file mode 100644 index 000000000..9f9c21179 --- /dev/null +++ b/ui/src/app/metadata/manager/manager.routing.ts @@ -0,0 +1,17 @@ +import { Routes } from '@angular/router'; +import { DashboardResolversListComponent } from './container/dashboard-resolvers-list.component'; +import { DashboardProvidersListComponent } from './container/dashboard-providers-list.component'; +import { ManagerComponent } from './container/manager.component'; + +export const ManagerRoutes: Routes = [ + { path: '', redirectTo: 'manager', pathMatch: 'prefix' }, + { + path: 'manager', + component: ManagerComponent, + children: [ + { path: '', redirectTo: 'resolvers', pathMatch: 'prefix' }, + { path: 'resolvers', component: DashboardResolversListComponent }, + { path: 'providers', component: DashboardProvidersListComponent }, + ] + } +]; diff --git a/ui/src/app/metadata/metadata.routing.ts b/ui/src/app/metadata/metadata.routing.ts index 31223e7c4..c9423fdbf 100644 --- a/ui/src/app/metadata/metadata.routing.ts +++ b/ui/src/app/metadata/metadata.routing.ts @@ -1,21 +1,20 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; - -import { ManagerComponent } from './manager/container/manager.component'; import { MetadataPageComponent } from './metadata.component'; import { ResolverRoutes } from './resolver/resolver.routing'; import { ProviderRoutes } from './provider/provider.routing'; +import { ManagerRoutes } from './manager/manager.routing'; const routes: Routes = [ { path: '', component: MetadataPageComponent, children: [ - { path: '', component: ManagerComponent }, + ...ManagerRoutes, ...ResolverRoutes, ...ProviderRoutes - ] + ], }, ]; diff --git a/ui/src/app/metadata/provider/effect/collection.effect.ts b/ui/src/app/metadata/provider/effect/collection.effect.ts index 5a471dfdd..1a737839e 100644 --- a/ui/src/app/metadata/provider/effect/collection.effect.ts +++ b/ui/src/app/metadata/provider/effect/collection.effect.ts @@ -21,7 +21,7 @@ import { MetadataProviderService } from '../../domain/service/provider.service'; export class CollectionEffects { @Effect() - loadFilters$ = this.actions$.pipe( + loadProviders$ = this.actions$.pipe( ofType(ProviderCollectionActionTypes.LOAD_PROVIDER_REQUEST), switchMap(() => this.providerService diff --git a/ui/src/app/metadata/provider/reducer/collection.reducer.ts b/ui/src/app/metadata/provider/reducer/collection.reducer.ts index 9a625fa79..6bc1af8e7 100644 --- a/ui/src/app/metadata/provider/reducer/collection.reducer.ts +++ b/ui/src/app/metadata/provider/reducer/collection.reducer.ts @@ -24,12 +24,11 @@ export const initialState: CollectionState = adapter.getInitialState({ export function reducer(state = initialState, action: ProviderCollectionActionsUnion): CollectionState { switch (action.type) { case ProviderCollectionActionTypes.LOAD_PROVIDER_SUCCESS: { - let s = adapter.addAll(action.payload, { + return adapter.addAll(action.payload, { ...state, selectedProviderId: state.selectedProviderId, loaded: true }); - return s; } case ProviderCollectionActionTypes.UPDATE_PROVIDER_SUCCESS: {