From 5dcf0eaf789d0a241040c89d2d64575a6d094001 Mon Sep 17 00:00:00 2001 From: Ryan Mathis Date: Thu, 11 Jul 2019 10:49:31 -0700 Subject: [PATCH] SHIBUI-1352 fixed provider selection issue --- ...dynamic-http-metadata-provider.schema.json | 30 ++++++++++++ .../file-system-metadata-provider.schema.json | 6 +-- ...ocal-dynamic-metadata-provider.schema.json | 8 +-- .../container/provider-select.component.ts | 8 +-- .../model/dynamic-http.provider.form.ts | 33 ++++++++++++- .../provider/reducer/collection.reducer.ts | 5 +- .../provider/filebacked-http.schema.json | 49 ++----------------- 7 files changed, 77 insertions(+), 62 deletions(-) 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/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/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