diff --git a/backend/src/main/resources/dynamic-http-metadata-provider.schema.json b/backend/src/main/resources/dynamic-http-metadata-provider.schema.json index 68fdf6fd7..f7106c6e5 100644 --- a/backend/src/main/resources/dynamic-http-metadata-provider.schema.json +++ b/backend/src/main/resources/dynamic-http-metadata-provider.schema.json @@ -1,11 +1,41 @@ { "type": "object", "required": [ + "name", + "@type", "xmlId", "metadataURL", "metadataRequestURLConstructionScheme" ], "properties": { + "name": { + "title": "label.metadata-provider-name-dashboard-display-only", + "description": "tooltip.metadata-provider-name-dashboard-display-only", + "type": "string", + "widget": { + "id": "string", + "help": "message.must-be-unique" + } + }, + "@type": { + "title": "label.metadata-provider-type", + "description": "tooltip.metadata-provider-type", + "placeholder": "label.select-metadata-type", + "type": "string", + "readOnly": true, + "widget": { + "id": "select", + "disabled": true + }, + "oneOf": [ + { + "enum": [ + "DynamicHttpMetadataResolver" + ], + "description": "value.dynamic-http-metadata-provider" + } + ] + }, "enabled": { "title": "label.enable-provider-upon-saving", "description": "tooltip.enable-provider-upon-saving", diff --git a/backend/src/main/resources/file-system-metadata-provider.schema.json b/backend/src/main/resources/file-system-metadata-provider.schema.json index cbfec6b8c..af2f8af0a 100644 --- a/backend/src/main/resources/file-system-metadata-provider.schema.json +++ b/backend/src/main/resources/file-system-metadata-provider.schema.json @@ -8,8 +8,8 @@ ], "properties": { "name": { - "title": "label.service-provider-name-dashboard-display-only", - "description": "tooltip.metadata-provider-name", + "title": "label.metadata-provider-name-dashboard-display-only", + "description": "tooltip.metadata-provider-name-dashboard-display-only", "type": "string", "widget": { "id": "string", @@ -29,7 +29,7 @@ "oneOf": [ { "enum": [ - "FileSystemMetadataResolver" + "FilesystemMetadataResolver" ], "description": "value.file-system-metadata-provider" } diff --git a/backend/src/main/resources/i18n/messages.properties b/backend/src/main/resources/i18n/messages.properties index e04fe3b90..f3054d636 100644 --- a/backend/src/main/resources/i18n/messages.properties +++ b/backend/src/main/resources/i18n/messages.properties @@ -84,7 +84,6 @@ value.dynamic-http-metadata-provider=DynamicHttpMetadataProvider value.entity-attributes-filter=EntityAttributes Filter value.spdescriptor=SPSSODescriptor value.attr-auth-descriptor=AttributeAuthorityDescriptor -value.dynamic-http-metadata-provider=DynamicHttpMetadataProvider value.local-dynamic-metadata-provider=LocalDynamicMetadataProvider value.md-query-protocol=MetadataQueryProtocol @@ -409,7 +408,7 @@ label.restore=Restore label.compare-selected=Compare Selected label.saved=Saved -label.by=by +label.by=By message.delete-user-title=Delete User? message.delete-user-body=You are requesting to delete a user. If you complete this process the user will be removed. This cannot be undone. Do you wish to continue? diff --git a/backend/src/main/resources/local-dynamic-metadata-provider.schema.json b/backend/src/main/resources/local-dynamic-metadata-provider.schema.json index d683db316..f39904f36 100644 --- a/backend/src/main/resources/local-dynamic-metadata-provider.schema.json +++ b/backend/src/main/resources/local-dynamic-metadata-provider.schema.json @@ -8,8 +8,8 @@ ], "properties": { "name": { - "title": "label.metadata-provider-name-display-only", - "description": "tooltip.metadata-provider-name-display-only", + "title": "label.metadata-provider-name-dashboard-display-only", + "description": "tooltip.metadata-provider-name-dashboard-display-only", "type": "string", "widget": { "id": "string", @@ -29,9 +29,9 @@ "oneOf": [ { "enum": [ - "FileSystemMetadataResolver" + "LocalDynamicMetadataResolver" ], - "description": "value.file-system-metadata-provider" + "description": "value.local-dynamic-metadata-provider" } ] }, 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 4da057c91..64a1a2a2c 100644 --- a/ui/src/app/metadata/configuration/component/metadata-header.component.html +++ b/ui/src/app/metadata/configuration/component/metadata-header.component.html @@ -1,11 +1,12 @@
-

- Saved  - {{ version.date | date }}, - by  +

+ Saved:  + {{ version.date | date:'medium' }} +
+ By{{ version.creator }} -
+

Enabled Disabled 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 index 07d0bf58d..bceba636f 100644 --- a/ui/src/app/metadata/manager/container/dashboard-providers-list.component.html +++ b/ui/src/app/metadata/manager/container/dashboard-providers-list.component.html @@ -46,11 +46,12 @@

- {{ provider.name }} + + {{ provider.name }} {{ provider['@type'] }} {{ provider.createdBy }} - {{ provider.createdDate | customDate : '—' }} + {{ provider.createdDate | customDate }}
- diff --git a/ui/src/app/metadata/manager/container/dashboard-providers-list.component.spec.ts b/ui/src/app/metadata/manager/container/dashboard-providers-list.component.spec.ts index 4b5d1c38a..b70132eba 100644 --- a/ui/src/app/metadata/manager/container/dashboard-providers-list.component.spec.ts +++ b/ui/src/app/metadata/manager/container/dashboard-providers-list.component.spec.ts @@ -93,8 +93,11 @@ describe('Dashboard Providers List Page', () => { describe('edit method', () => { it('should route to the edit page', () => { + const evt = new Event('a type'); spyOn(router, 'navigate'); - instance.edit(provider); + spyOn(evt, 'preventDefault'); + instance.edit(provider, evt); + expect(evt.preventDefault).toHaveBeenCalled(); expect(router.navigate).toHaveBeenCalledWith(['metadata', 'provider', provider.resourceId, 'edit']); }); }); 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 index 6d09cf0fa..6a206d9a1 100644 --- a/ui/src/app/metadata/manager/container/dashboard-providers-list.component.ts +++ b/ui/src/app/metadata/manager/container/dashboard-providers-list.component.ts @@ -81,7 +81,8 @@ export class DashboardProvidersListComponent implements OnInit { this.router.navigate(['metadata', 'provider', id, page]); } - edit(provider: MetadataProvider): void { + edit(provider: MetadataProvider, event: Event): void { + event.preventDefault(); this.view(provider.resourceId, 'edit'); } 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 b0c07f6fd..37519a259 100644 --- a/ui/src/app/metadata/provider/container/provider-select.component.ts +++ b/ui/src/app/metadata/provider/container/provider-select.component.ts @@ -20,6 +20,7 @@ import { ClearEditor } from '../action/editor.action'; export class ProviderSelectComponent implements OnDestroy { actionsSubscription: Subscription; + providerSubscription: Subscription; provider$: Observable; @@ -31,11 +32,9 @@ export class ProviderSelectComponent implements OnDestroy { map(params => new SelectProviderRequest(params.providerId)) ).subscribe(store); - this.provider$ = this.store.select(fromProviders.getSelectedProvider).pipe(filter(p => { - return p; - })); + this.provider$ = this.store.select(fromProviders.getSelectedProvider).pipe(filter(p => !!p)); - this.provider$.subscribe(provider => { + this.providerSubscription = this.provider$.subscribe(provider => { this.setDefinition(provider); }); } @@ -50,6 +49,7 @@ export class ProviderSelectComponent implements OnDestroy { ngOnDestroy() { this.actionsSubscription.unsubscribe(); + this.providerSubscription.unsubscribe(); this.store.dispatch(new ClearProvider()); this.store.dispatch(new ClearWizard()); this.store.dispatch(new ClearEditor()); diff --git a/ui/src/app/metadata/provider/model/dynamic-http.provider.form.ts b/ui/src/app/metadata/provider/model/dynamic-http.provider.form.ts index a0ca22143..2583e3c69 100644 --- a/ui/src/app/metadata/provider/model/dynamic-http.provider.form.ts +++ b/ui/src/app/metadata/provider/model/dynamic-http.provider.form.ts @@ -6,7 +6,6 @@ export const DynamicHttpMetadataProviderWizard: Wizard { let base = BaseMetadataProviderEditor.formatter(changes); if (base.dynamicMetadataResolverAttributes) { @@ -136,13 +135,43 @@ export const DynamicHttpMetadataProviderEditor: Wizard