From b1d23f31a410847027acd5e861b30b205d8bc210 Mon Sep 17 00:00:00 2001 From: Ryan Mathis Date: Fri, 9 Apr 2021 15:27:37 -0700 Subject: [PATCH] Updated to enable deletion --- .../action/metadata-collection.action.ts | 4 ++-- .../component/enable-metadata.component.ts | 2 +- .../effect/metadata-collection.effect.spec.ts | 3 +++ .../effect/metadata-collection.effect.ts | 13 +++++++++++- .../reducer/metadata-collection.reducer.ts | 2 +- .../app/core/service/can-deactivate.guard.ts | 2 +- .../component/metadata-header.component.html | 18 ++++++++++------- .../container/metadata-options.component.html | 8 ++++++-- .../container/metadata-options.component.ts | 20 ++++++++++++++++++- .../domain/service/draft.service.spec.ts | 5 ++--- .../metadata/domain/service/draft.service.ts | 8 +++++--- .../domain/service/resolver.service.spec.ts | 6 ++---- .../domain/service/resolver.service.ts | 4 ++-- .../component/resolvers-list.component.html | 19 +++++++++++------- ...dashboard-resolvers-list.component.spec.ts | 4 ++-- .../dashboard-resolvers-list.component.ts | 9 +++++++-- .../resolver/action/collection.action.ts | 4 ++-- .../resolver/effect/collection.effects.ts | 2 +- .../resolver/reducer/collection.reducer.ts | 2 +- 19 files changed, 92 insertions(+), 43 deletions(-) diff --git a/ui/src/app/admin/action/metadata-collection.action.ts b/ui/src/app/admin/action/metadata-collection.action.ts index 01795d49b..07565cb6a 100644 --- a/ui/src/app/admin/action/metadata-collection.action.ts +++ b/ui/src/app/admin/action/metadata-collection.action.ts @@ -62,13 +62,13 @@ export class UpdateMetadataConflict implements Action { export class RemoveMetadataRequest implements Action { readonly type = MetadataCollectionActionTypes.REMOVE_METADATA; - constructor(public payload: MetadataResolver) { } + constructor(public payload: string) { } } export class RemoveMetadataSuccess implements Action { readonly type = MetadataCollectionActionTypes.REMOVE_METADATA_SUCCESS; - constructor(public payload: MetadataResolver) { } + constructor(public payload: string) { } } export class RemoveMetadataFail implements Action { diff --git a/ui/src/app/admin/component/enable-metadata.component.ts b/ui/src/app/admin/component/enable-metadata.component.ts index 014e0dfa3..e6d49b958 100644 --- a/ui/src/app/admin/component/enable-metadata.component.ts +++ b/ui/src/app/admin/component/enable-metadata.component.ts @@ -50,7 +50,7 @@ export class EnableMetadataComponent { .result .then( success => { - this.store.dispatch(new RemoveMetadataRequest(entity)); + this.store.dispatch(new RemoveMetadataRequest(entity.id)); }, err => { console.log('Cancelled'); diff --git a/ui/src/app/admin/effect/metadata-collection.effect.spec.ts b/ui/src/app/admin/effect/metadata-collection.effect.spec.ts index d4d0bfcb4..5c76b04b7 100644 --- a/ui/src/app/admin/effect/metadata-collection.effect.spec.ts +++ b/ui/src/app/admin/effect/metadata-collection.effect.spec.ts @@ -10,6 +10,8 @@ import { Metadata } from '../../metadata/domain/domain.type'; import { MetadataResolver } from '../../metadata/domain/model'; import * as fromI18n from '../../i18n/reducer'; import { I18nService } from '../../i18n/service/i18n.service'; +import { Router } from '@angular/router'; +import { RouterStub } from '../../../testing/router.stub'; describe('Metadata Collection Effects', () => { let effects: MetadataCollectionEffects; @@ -55,6 +57,7 @@ describe('Metadata Collection Effects', () => { }, MetadataCollectionEffects, provideMockActions(() => actions), + { provide: Router, useClass: RouterStub } ], }); diff --git a/ui/src/app/admin/effect/metadata-collection.effect.ts b/ui/src/app/admin/effect/metadata-collection.effect.ts index 2005a91bd..db5f3e4e7 100644 --- a/ui/src/app/admin/effect/metadata-collection.effect.ts +++ b/ui/src/app/admin/effect/metadata-collection.effect.ts @@ -24,6 +24,7 @@ import { Notification, NotificationType } from '../../notification/model/notific import { I18nService } from '../../i18n/service/i18n.service'; import * as fromRoot from '../../app.reducer'; import * as fromI18n from '../../i18n/reducer'; +import { Router } from '@angular/router'; /* istanbul ignore next */ @@ -123,10 +124,20 @@ export class MetadataCollectionEffects { ) ); + @Effect({dispatch: false}) + redirectOnRemove$ = this.actions$.pipe( + ofType(MetadataCollectionActionTypes.REMOVE_METADATA_SUCCESS), + map(action => action.payload), + switchMap(entity => + this.router.navigate(['/']) + ) + ); + constructor( private descriptorService: ResolverService, private actions$: Actions, private store: Store, - private i18nService: I18nService + private i18nService: I18nService, + private router: Router ) { } } /* istanbul ignore next */ diff --git a/ui/src/app/admin/reducer/metadata-collection.reducer.ts b/ui/src/app/admin/reducer/metadata-collection.reducer.ts index dc4006841..b11dded01 100644 --- a/ui/src/app/admin/reducer/metadata-collection.reducer.ts +++ b/ui/src/app/admin/reducer/metadata-collection.reducer.ts @@ -39,7 +39,7 @@ export function reducer(state = initialState, action: MetadataCollectionActionsU } case MetadataCollectionActionTypes.REMOVE_METADATA_SUCCESS: { - return adapter.removeOne(action.payload.id, { + return adapter.removeOne(action.payload, { ...state }); } diff --git a/ui/src/app/core/service/can-deactivate.guard.ts b/ui/src/app/core/service/can-deactivate.guard.ts index 341db400c..c0c7363ec 100644 --- a/ui/src/app/core/service/can-deactivate.guard.ts +++ b/ui/src/app/core/service/can-deactivate.guard.ts @@ -22,6 +22,6 @@ export class CanDeactivateGuard implements CanDeactivate currentState: RouterStateSnapshot, nextState: RouterStateSnapshot ) { - return component.canDeactivate ? component.canDeactivate(currentRoute, currentState, nextState) : true; + return component && component.canDeactivate ? component.canDeactivate(currentRoute, currentState, nextState) : true; } } /* istanbul ignore next */ diff --git a/ui/src/app/metadata/configuration/component/metadata-header.component.html b/ui/src/app/metadata/configuration/component/metadata-header.component.html index d105088c7..942c04b5c 100644 --- a/ui/src/app/metadata/configuration/component/metadata-header.component.html +++ b/ui/src/app/metadata/configuration/component/metadata-header.component.html @@ -1,12 +1,16 @@
-
- Saved:  - {{ (version.modifiedDate) | date:DATE_FORMAT }} -
- By:  - {{ version.createdBy }} -
+
+
+ Saved:  + {{ (version.modifiedDate) | date:DATE_FORMAT }} +
+ By:  + {{ version.createdBy }} +
+ +
+

Enabled Disabled diff --git a/ui/src/app/metadata/configuration/container/metadata-options.component.html b/ui/src/app/metadata/configuration/container/metadata-options.component.html index 1e643f4c4..1f4f9f326 100644 --- a/ui/src/app/metadata/configuration/container/metadata-options.component.html +++ b/ui/src/app/metadata/configuration/container/metadata-options.component.html @@ -7,8 +7,12 @@

+ [isCurrent]="true"> + +