From 1ef4c1ba39847cae70d2bbbdbc222ce00b6de7cb Mon Sep 17 00:00:00 2001 From: Ryan Mathis Date: Fri, 19 Oct 2018 10:31:14 -0700 Subject: [PATCH] SHIBUI-914 Fixed finish summary for providers --- .../main/resources/i18n/messages.properties | 48 ++++++-------- .../resources/i18n/messages_en.properties | 64 ++++++++++-------- .../component/summary-property.component.html | 46 +++++++++++-- .../summary-property.component.spec.ts | 66 ++++++++++++++++++- .../component/summary-property.component.ts | 20 ++++++ .../component/wizard-summary.component.html | 2 +- .../component/wizard-summary.component.ts | 7 +- ui/src/app/metadata/domain/model/property.ts | 4 ++ .../model/wizards/metadata-source-editor.ts | 2 +- .../model/wizards/metadata-source-wizard.ts | 2 +- .../model/file-backed-http.provider.form.ts | 57 +++++++++++++--- .../metadata/provider/model/provider.form.ts | 6 +- .../component/finish-form.component.html | 2 +- .../widget/array/array.component.html | 6 +- .../widget/radio/radio.component.html | 6 +- .../assets/schema/source/metadata-source.json | 9 ++- 16 files changed, 262 insertions(+), 85 deletions(-) diff --git a/backend/src/main/resources/i18n/messages.properties b/backend/src/main/resources/i18n/messages.properties index 0e1a1f4de..2661b1fae 100644 --- a/backend/src/main/resources/i18n/messages.properties +++ b/backend/src/main/resources/i18n/messages.properties @@ -60,12 +60,21 @@ value.regex=Regex value.script=Script value.entity-id=Entity ID +value.support=Support +value.technical=Technical +value.administrative=Administrative +value.other=Other + +value.signing=Signing +value.encryption=Encryption +value.both=Both + value.file-backed-http-metadata-provider=FileBackedHttpMetadataProvider value.entity-attributes-filter=EntityAttributes Filter value.spdescriptor=SPSSODescriptor value.attr-auth-descriptor=AttributeAuthorityDescriptor -brand.header.title=Source Management (default) +brand.header.title=Source Management brand.logo-link-label=Shibboleth brand.logo-link-description=Link to Shibboleth Website brand.logo-alt=Shibboleth Logo - Click to be directed to www.shibboleth.net @@ -101,7 +110,6 @@ label.enable-this-service=Enable this service? label.organization-name=Organization Name label.organization-display-name=Organization Display Name label.organization-url=Organization URL -label.contact-information=Contact Information: label.name=Name label.type=Type label.email-address=Email Address @@ -109,9 +117,6 @@ label.assertion-consumer-service-endpoints=Assertion Consumer Service Endpoints label.my-changes=My Changes label.their-changes=Their Changes label.new-endpoint=New Endpoint -label.default=(default) -label.assertion-consumer-services-location=Assertion Consumer Service Location -label.assertion-consumer-service-location-binding=Assertion Consumer Service Location Binding label.select-binding=Select Binding Type label.mark-as-default=Mark as Default label.attribute-name=Attribute Name @@ -121,7 +126,6 @@ label.clear-all-attributes=Clear All Attributes label.protocol-support-enumeration=Protocol Support Enumeration label.select-protocol=Select Protocol label.nameid-format=NameID Format -label.enable-this-service-opon-saving=Enable this service upon saving? label.name-and-entity-id=Name and Entity ID label.organization-information=Organization Information label.contact-information=Contact Information @@ -146,8 +150,10 @@ label.x509-certificates=X509 Certificates label.certificate-name-display-only=Certificate Name (Display Only) label.certificate=Certificate label.assertion-consumer-services=Assertion Consumer Services -label.assertion-consumer-service-locations=Assertion Consumer Service Location -label.assertion-consumer-service-location-binding=Assertion Consumer Service Binding +label.assertion-consumer-service-location=Assertion Consumer Service Location +label.assertion-consumer-service-endpoint=Assertion Consumer Service Endpoints +label.default=(default) +label.assertion-consumer-service-location-binding=Assertion Consumer Service Location Binding label.relying-party-overrides=Relying Party Overrides label.sign-the-assertion=Sign the Assertion? label.turn-off-encryption-of-response=Turn off Encryption of Response? @@ -165,19 +171,13 @@ label.privacy-statement-url=Privacy Statement URL label.contact-name=Contact Name label.select-contact-type=Select Contact Type label.contact-email-address=Contact Email Address -label.sign-the-assertion=Sign the Assertion label.dont-sign-the-response=Don\u0027t Sign the Response -label.turn-off-encryption-of-response=Turn Off Encryption of Response -label.use-sha1-signing-algorithm=Use SHA1 Signing Algorithm label.nameid-format-to-send=NameID Format to Send label.authentication-methods-to-use=Authentication Methods to Use label.auth-method-indexed=Authentication Method -label.ignore-any-sp-requested-authentication-method=Ignore any SP-Requested Authentication Method -label.omit-not-before-condition=Omit Not Before Condition -label.responder-id=ResponderID label.preview-provider=Preview XML label.search-entity-id=Search Entity Id -label.new-filter=Edit EntityAttributesFilter +label.edit-filter=Edit EntityAttributesFilter label.min-4-chars=Minimum 4 characters. label.new-filter=New Filter - EntityAttributes label.service-provider=Metadata Source Name: @@ -187,8 +187,6 @@ label.service-provider-status=Metadata Source Status: label.current-metadata-sources=Current Metadata Sources label.current-metadata-providers=Current Metadata Providers label.add-a-new-metadata-provider=Add a new metadata provider -label.name-and-entityid=Name and EntityId -label.org-info=Organization Information label.service-resolver-name-dashboard-display-only=Service Resolver Name (Dashboard Display Only) label.service-resolver-entity-id=Service Resolver Entity ID label.add-a-new-metadata-source=Add a new metadata source - Finish Summary @@ -196,7 +194,7 @@ label.name-and-entityid=Name and Entity ID. label.finish-summary-validation=Finished! label.select-entity-id-to-copy=Select the Entity ID to copy label.metadata-source-name-dashboard-display-only=Metadata Source Name (Dashboard Display Only) -label.service-resolver-entity-id=New Entity ID +label.new-entity-id=New Entity ID label.sections-to-copy=Sections to Copy? label.add-a-new-metadata-resolver=Add a new metadata source label.how-are-you-adding-the-metadata-information=How are you adding the metadata information? @@ -210,13 +208,12 @@ label.entity-ids-added=Entity Ids Added label.ui-mdui-info=User Interface / MDUI Information label.sp-sso-descriptor-info=SP SSO Descriptor Information label.security-info=Security Information -label.assertion-consumer-services=Assertion Consumer Service label.sp-org-info=SP/Organization Information label.finished=Finished! label.signing=Signing label.encryption=Encryption label.both=Both -label.sp-sso-descriptor-info=Organization Information +label.org-info=Organization Information label.security-descriptor-info=Security Descriptor Information label.entity-id=Entity ID label.service-provider-name=Service Provider Name @@ -243,16 +240,12 @@ label.name-id-format= Name ID Format label.authentication-methods=Authentication Methods label.authentication-method=Authentication Method label.x509-certificate-available=x509 Certificate Available -label.authentication-requests-signed=Authentication Requests Signed -label.want-assertions-signed=Want Assertions Signed -label.x509-certificates=x509 Certificates label.protocol-support-enum=Protocol Support Enumeration label.binding=Binding label.location-url=Location URL label.make-default=Make Default label.metadata-provider-name-dashboard-display-only=Metadata Provider Name (Dashboard Display Only) label.default-authentication-methods=Default Authentication Method(s) - label.new-of-type=New { type } label.metadata-filter-name=Metadata Filter Name (Dashboard Display Only) @@ -302,6 +295,7 @@ label.metadata-provider-name=Metadata Provider Name label.select-metadata-type=Select a metadata provider type label.metadata-provider-status=Metadata Provider Status label.enable-provider-upon-saving=Enable Metadata Provider upon saving? +label.certificate-type=Type label.enable-filter=Enable Filter? label.required-valid-until=Required Valid Until Filter @@ -327,7 +321,6 @@ label.descriptor-info=SP SSO Descriptor Information label.key-info=Security Information label.assertion=Assertion Consumer Service label.relying-party=Relying Party Overrides -label.org-info=Organization Information label.attribute-eduPersonPrincipalName=eduPersonPrincipalName (EPPN) label.attribute-uid=uid @@ -376,6 +369,8 @@ message.entity-id-min-unique=You must add at least one entity id target and they message.required-for-scripts=Required for Scripts message.required-for-regex=Required for Regex +tooltip.entity-id=Entity ID +tooltip.service-provider-name=Service Provider Name (Dashboard Display Only) tooltip.force-authn=Disallows use (or reuse) of authentication results and login flows that don\u0027t provide a real-time proof of user presence in the login process tooltip.service-provider-name-dashboard-display-only=Service Provider Name (Dashboard Display Only) tooltip.service-provider-entity-id=Service Provider Entity ID @@ -405,9 +400,6 @@ tooltip.mdui-privacy-statement-url=The IdP Privacy Statement URL is a link to th tooltip.mdui-logo-url=The IdP Logo URL in metadata points to an image file on a remote server. A discovery service, for example, may rely on a visual cue (i.e., a logo) instead of or in addition to the IdP Display Name. tooltip.mdui-logo-width=The logo should have a minimum width of 100 pixels tooltip.mdui-logo-height=The logo should have a minimum height of 75 pixels and a maximum height of 150 pixels (or the application will scale it proportionally) -tooltip.organization-name=Organization Name -tooltip.organization-display-name=Organization Display Name -tooltip.organization-url=Organization Url tooltip.contact-name=Contact Name tooltip.contact-type=Contact Type tooltip.contact-email=Contact Email diff --git a/backend/src/main/resources/i18n/messages_en.properties b/backend/src/main/resources/i18n/messages_en.properties index f5760e51d..2661b1fae 100644 --- a/backend/src/main/resources/i18n/messages_en.properties +++ b/backend/src/main/resources/i18n/messages_en.properties @@ -1,3 +1,14 @@ +# Fill this file with key/value pairs, as follows: +# +# some.test.message=This is a test message. +# +# Then, create a copy using the name of the language code: +# +# messages_.properties +# +# Do this for each language we want to support. +# Ideally, all messages should exist for each language. + action.dashboard=Dashboard action.logout=Logout action.add=Add @@ -49,6 +60,15 @@ value.regex=Regex value.script=Script value.entity-id=Entity ID +value.support=Support +value.technical=Technical +value.administrative=Administrative +value.other=Other + +value.signing=Signing +value.encryption=Encryption +value.both=Both + value.file-backed-http-metadata-provider=FileBackedHttpMetadataProvider value.entity-attributes-filter=EntityAttributes Filter value.spdescriptor=SPSSODescriptor @@ -69,6 +89,13 @@ brand.footer.links-label-4=Mailing List brand.footer.links-desc-4=Shibboleth.net open-source community mailing list brand.footer.copyright=Copyright \u00A9 Internet2 +brand.unicon=Unicon +brand.unicon-logo=Unicon Logo +brand.i2=Internet 2 +brand.i2-logo=Internet 2 Logo +brand.in-partnership-with=In partnership with +brand.and=and + heading.shibboleth=Shibboleth label.metadata-source=Metadata Source @@ -83,7 +110,6 @@ label.enable-this-service=Enable this service? label.organization-name=Organization Name label.organization-display-name=Organization Display Name label.organization-url=Organization URL -label.contact-information=Contact Information: label.name=Name label.type=Type label.email-address=Email Address @@ -91,9 +117,6 @@ label.assertion-consumer-service-endpoints=Assertion Consumer Service Endpoints label.my-changes=My Changes label.their-changes=Their Changes label.new-endpoint=New Endpoint -label.default=(default) -label.assertion-consumer-services-location=Assertion Consumer Service Location -label.assertion-consumer-service-location-binding=Assertion Consumer Service Location Binding label.select-binding=Select Binding Type label.mark-as-default=Mark as Default label.attribute-name=Attribute Name @@ -103,7 +126,6 @@ label.clear-all-attributes=Clear All Attributes label.protocol-support-enumeration=Protocol Support Enumeration label.select-protocol=Select Protocol label.nameid-format=NameID Format -label.enable-this-service-opon-saving=Enable this service upon saving? label.name-and-entity-id=Name and Entity ID label.organization-information=Organization Information label.contact-information=Contact Information @@ -128,8 +150,10 @@ label.x509-certificates=X509 Certificates label.certificate-name-display-only=Certificate Name (Display Only) label.certificate=Certificate label.assertion-consumer-services=Assertion Consumer Services -label.assertion-consumer-service-locations=Assertion Consumer Service Location -label.assertion-consumer-service-location-binding=Assertion Consumer Service Binding +label.assertion-consumer-service-location=Assertion Consumer Service Location +label.assertion-consumer-service-endpoint=Assertion Consumer Service Endpoints +label.default=(default) +label.assertion-consumer-service-location-binding=Assertion Consumer Service Location Binding label.relying-party-overrides=Relying Party Overrides label.sign-the-assertion=Sign the Assertion? label.turn-off-encryption-of-response=Turn off Encryption of Response? @@ -147,19 +171,13 @@ label.privacy-statement-url=Privacy Statement URL label.contact-name=Contact Name label.select-contact-type=Select Contact Type label.contact-email-address=Contact Email Address -label.sign-the-assertion=Sign the Assertion label.dont-sign-the-response=Don\u0027t Sign the Response -label.turn-off-encryption-of-response=Turn Off Encryption of Response -label.use-sha1-signing-algorithm=Use SHA1 Signing Algorithm label.nameid-format-to-send=NameID Format to Send label.authentication-methods-to-use=Authentication Methods to Use label.auth-method-indexed=Authentication Method -label.ignore-any-sp-requested-authentication-method=Ignore any SP-Requested Authentication Method -label.omit-not-before-condition=Omit Not Before Condition -label.responder-id=ResponderID label.preview-provider=Preview XML label.search-entity-id=Search Entity Id -label.new-filter=Edit EntityAttributesFilter +label.edit-filter=Edit EntityAttributesFilter label.min-4-chars=Minimum 4 characters. label.new-filter=New Filter - EntityAttributes label.service-provider=Metadata Source Name: @@ -169,8 +187,6 @@ label.service-provider-status=Metadata Source Status: label.current-metadata-sources=Current Metadata Sources label.current-metadata-providers=Current Metadata Providers label.add-a-new-metadata-provider=Add a new metadata provider -label.name-and-entityid=Name and EntityId -label.org-info=Organization Information label.service-resolver-name-dashboard-display-only=Service Resolver Name (Dashboard Display Only) label.service-resolver-entity-id=Service Resolver Entity ID label.add-a-new-metadata-source=Add a new metadata source - Finish Summary @@ -178,7 +194,7 @@ label.name-and-entityid=Name and Entity ID. label.finish-summary-validation=Finished! label.select-entity-id-to-copy=Select the Entity ID to copy label.metadata-source-name-dashboard-display-only=Metadata Source Name (Dashboard Display Only) -label.service-resolver-entity-id=New Entity ID +label.new-entity-id=New Entity ID label.sections-to-copy=Sections to Copy? label.add-a-new-metadata-resolver=Add a new metadata source label.how-are-you-adding-the-metadata-information=How are you adding the metadata information? @@ -192,13 +208,12 @@ label.entity-ids-added=Entity Ids Added label.ui-mdui-info=User Interface / MDUI Information label.sp-sso-descriptor-info=SP SSO Descriptor Information label.security-info=Security Information -label.assertion-consumer-services=Assertion Consumer Service label.sp-org-info=SP/Organization Information label.finished=Finished! label.signing=Signing label.encryption=Encryption label.both=Both -label.sp-sso-descriptor-info=Organization Information +label.org-info=Organization Information label.security-descriptor-info=Security Descriptor Information label.entity-id=Entity ID label.service-provider-name=Service Provider Name @@ -225,16 +240,12 @@ label.name-id-format= Name ID Format label.authentication-methods=Authentication Methods label.authentication-method=Authentication Method label.x509-certificate-available=x509 Certificate Available -label.authentication-requests-signed=Authentication Requests Signed -label.want-assertions-signed=Want Assertions Signed -label.x509-certificates=x509 Certificates label.protocol-support-enum=Protocol Support Enumeration label.binding=Binding label.location-url=Location URL label.make-default=Make Default label.metadata-provider-name-dashboard-display-only=Metadata Provider Name (Dashboard Display Only) label.default-authentication-methods=Default Authentication Method(s) - label.new-of-type=New { type } label.metadata-filter-name=Metadata Filter Name (Dashboard Display Only) @@ -284,6 +295,7 @@ label.metadata-provider-name=Metadata Provider Name label.select-metadata-type=Select a metadata provider type label.metadata-provider-status=Metadata Provider Status label.enable-provider-upon-saving=Enable Metadata Provider upon saving? +label.certificate-type=Type label.enable-filter=Enable Filter? label.required-valid-until=Required Valid Until Filter @@ -309,7 +321,6 @@ label.descriptor-info=SP SSO Descriptor Information label.key-info=Security Information label.assertion=Assertion Consumer Service label.relying-party=Relying Party Overrides -label.org-info=Organization Information label.attribute-eduPersonPrincipalName=eduPersonPrincipalName (EPPN) label.attribute-uid=uid @@ -358,6 +369,8 @@ message.entity-id-min-unique=You must add at least one entity id target and they message.required-for-scripts=Required for Scripts message.required-for-regex=Required for Regex +tooltip.entity-id=Entity ID +tooltip.service-provider-name=Service Provider Name (Dashboard Display Only) tooltip.force-authn=Disallows use (or reuse) of authentication results and login flows that don\u0027t provide a real-time proof of user presence in the login process tooltip.service-provider-name-dashboard-display-only=Service Provider Name (Dashboard Display Only) tooltip.service-provider-entity-id=Service Provider Entity ID @@ -387,9 +400,6 @@ tooltip.mdui-privacy-statement-url=The IdP Privacy Statement URL is a link to th tooltip.mdui-logo-url=The IdP Logo URL in metadata points to an image file on a remote server. A discovery service, for example, may rely on a visual cue (i.e., a logo) instead of or in addition to the IdP Display Name. tooltip.mdui-logo-width=The logo should have a minimum width of 100 pixels tooltip.mdui-logo-height=The logo should have a minimum height of 75 pixels and a maximum height of 150 pixels (or the application will scale it proportionally) -tooltip.organization-name=Organization Name -tooltip.organization-display-name=Organization Display Name -tooltip.organization-url=Organization Url tooltip.contact-name=Contact Name tooltip.contact-type=Contact Type tooltip.contact-email=Contact Email diff --git a/ui/src/app/metadata/domain/component/summary-property.component.html b/ui/src/app/metadata/domain/component/summary-property.component.html index 399b0d7fc..832f268b3 100644 --- a/ui/src/app/metadata/domain/component/summary-property.component.html +++ b/ui/src/app/metadata/domain/component/summary-property.component.html @@ -33,13 +33,45 @@ - -

-
    -
  • - {{ item }} -
  • -
+ + +

+
    +
  • + {{ item }} +
  • +
+
+ +

+
    +
  • + {{ item }} +
  • +
+
+ + + + + + + + + + + + + + + + +
NameTrueFalse
{{ attr.label }} + + + +
+
diff --git a/ui/src/app/metadata/domain/component/summary-property.component.spec.ts b/ui/src/app/metadata/domain/component/summary-property.component.spec.ts index bc1c4a1d2..0edfe06a4 100644 --- a/ui/src/app/metadata/domain/component/summary-property.component.spec.ts +++ b/ui/src/app/metadata/domain/component/summary-property.component.spec.ts @@ -8,6 +8,8 @@ import { SummaryPropertyComponent } from './summary-property.component'; import { SchemaFormModule, WidgetRegistry, DefaultWidgetRegistry } from 'ngx-schema-form'; import { Property } from '../model/property'; import { MockI18nModule } from '../../../../testing/i18n.stub'; +import { AttributesService } from '../service/attributes.service'; +import { of } from 'rxjs'; @Component({ template: ` @@ -34,6 +36,7 @@ describe('Summary Property Component', () => { let fixture: ComponentFixture; let instance: TestHostComponent; let app: SummaryPropertyComponent; + let service: AttributesService; beforeEach(async(() => { TestBed.configureTestingModule({ @@ -49,17 +52,78 @@ describe('Summary Property Component', () => { TestHostComponent ], providers: [ - { provide: WidgetRegistry, useClass: DefaultWidgetRegistry } + { provide: WidgetRegistry, useClass: DefaultWidgetRegistry }, + { provide: AttributesService, useValue: { + query: (path: string) => of([]) + } } ] }).compileComponents(); fixture = TestBed.createComponent(TestHostComponent); instance = fixture.componentInstance; app = instance.componentUnderTest; + service = TestBed.get(AttributesService); fixture.detectChanges(); })); it('should instantiate the component', async(() => { expect(app).toBeTruthy(); })); + + describe('attribute list getter', () => { + it('should return the data from the property schema', async(() => { + let list = [{ key: 'foo', label: 'foo' }]; + app.property = { + type: 'array', + name: 'foo', + value: ['foo', 'bar'], + items: null, + properties: null, + widget: { + id: 'foo', + data: list + } + }; + + app.attributeList$.subscribe(l => { + expect(l).toEqual(list); + }); + })); + + it('should return fetch data from the supplied path', async(() => { + let list = [{key: 'foo', label: 'foo'}]; + spyOn(service, 'query').and.returnValue(of(list)); + app.property = { + type: 'array', + name: 'foo', + value: ['foo', 'bar'], + items: null, + properties: null, + widget: { + id: 'foo', + dataUrl: 'foo' + } + }; + + app.attributeList$.subscribe(l => { + expect(l).toEqual(list); + }); + })); + + it('should return an empty array if no data is found', async(() => { + let list = []; + spyOn(service, 'query').and.returnValue(of(list)); + app.property = { + type: 'array', + name: 'foo', + value: ['foo', 'bar'], + items: null, + properties: null + }; + + app.attributeList$.subscribe(l => { + expect(l).toEqual(list); + }); + })); + }); }); diff --git a/ui/src/app/metadata/domain/component/summary-property.component.ts b/ui/src/app/metadata/domain/component/summary-property.component.ts index 359bd223d..6b8b408a8 100644 --- a/ui/src/app/metadata/domain/component/summary-property.component.ts +++ b/ui/src/app/metadata/domain/component/summary-property.component.ts @@ -1,5 +1,7 @@ import { Component, Input } from '@angular/core'; import { Property } from '../model/property'; +import { Observable, of } from 'rxjs'; +import { AttributesService } from '../service/attributes.service'; @Component({ selector: 'summary-property', @@ -10,8 +12,26 @@ import { Property } from '../model/property'; export class SummaryPropertyComponent { @Input() property: Property; + constructor( + private attrService: AttributesService + ) {} + getKeys(schema): string[] { return Object.keys(schema.properties); } + + getItemType(items: Property): string { + return items.widget ? items.widget.id : 'default'; + } + + get attributeList$(): Observable<{key: string, label: string}[]> { + if (this.property.widget && this.property.widget.hasOwnProperty('data')) { + return of(this.property.widget.data); + } + if (this.property.widget && this.property.widget.hasOwnProperty('dataUrl')) { + return this.attrService.query(this.property.widget.dataUrl); + } + return of([]); + } } diff --git a/ui/src/app/metadata/domain/component/wizard-summary.component.html b/ui/src/app/metadata/domain/component/wizard-summary.component.html index b001769f5..e1f578180 100644 --- a/ui/src/app/metadata/domain/component/wizard-summary.component.html +++ b/ui/src/app/metadata/domain/component/wizard-summary.component.html @@ -2,7 +2,7 @@
diff --git a/ui/src/app/metadata/domain/component/wizard-summary.component.ts b/ui/src/app/metadata/domain/component/wizard-summary.component.ts index bcd82b1a4..fa570a1c0 100644 --- a/ui/src/app/metadata/domain/component/wizard-summary.component.ts +++ b/ui/src/app/metadata/domain/component/wizard-summary.component.ts @@ -10,6 +10,7 @@ interface Section { id: string; index: number; label: string; + pageNumber: number; properties: Property[]; } @@ -35,7 +36,8 @@ export function getStepProperty(property, model, definitions): Property { property, model, definitions - ) + ), + widget: property.widget instanceof String ? { id: property.widget } : { ...property.widget } }; } @@ -84,9 +86,10 @@ export class WizardSummaryComponent implements OnChanges { this.sections = steps .filter(step => step.id !== 'summary') .map( - (step: WizardStep) => { + (step: WizardStep, num: number) => { return ({ id: step.id, + pageNumber: num + 1, index: step.index, label: step.label, properties: getStepProperties( diff --git a/ui/src/app/metadata/domain/model/property.ts b/ui/src/app/metadata/domain/model/property.ts index 3bb96b6b8..f54829916 100644 --- a/ui/src/app/metadata/domain/model/property.ts +++ b/ui/src/app/metadata/domain/model/property.ts @@ -4,4 +4,8 @@ export interface Property { value: string[]; items: Property; properties: Property[]; + widget?: { + id: string; + [propertyName: string]: any; + }; } diff --git a/ui/src/app/metadata/domain/model/wizards/metadata-source-editor.ts b/ui/src/app/metadata/domain/model/wizards/metadata-source-editor.ts index 8f2c650cf..b73a1adff 100644 --- a/ui/src/app/metadata/domain/model/wizards/metadata-source-editor.ts +++ b/ui/src/app/metadata/domain/model/wizards/metadata-source-editor.ts @@ -7,7 +7,7 @@ export class MetadataSourceEditor extends MetadataSourceBase implements Wizard< { index: 1, id: 'common', - label: 'label.resolver-common-attributes', + label: 'label.sp-org-info', schema: 'assets/schema/source/metadata-source.json', fields: [ 'serviceProviderName', diff --git a/ui/src/app/metadata/domain/model/wizards/metadata-source-wizard.ts b/ui/src/app/metadata/domain/model/wizards/metadata-source-wizard.ts index 7c4a4a01d..dbe6ca1db 100644 --- a/ui/src/app/metadata/domain/model/wizards/metadata-source-wizard.ts +++ b/ui/src/app/metadata/domain/model/wizards/metadata-source-wizard.ts @@ -7,7 +7,7 @@ export class MetadataSourceWizard extends MetadataSourceBase implements Wizard = { label: 'label.select-metadata-provider-type', index: 1, initialValues: [], - schema: 'assets/schema/provider/metadata-provider.schema.json' + schema: 'assets/schema/provider/metadata-provider.schema.json', + fields: [ + 'name', + '@type' + ] } ] as WizardStep[] }; diff --git a/ui/src/app/metadata/resolver/component/finish-form.component.html b/ui/src/app/metadata/resolver/component/finish-form.component.html index 0e28beacc..397712d0f 100644 --- a/ui/src/app/metadata/resolver/component/finish-form.component.html +++ b/ui/src/app/metadata/resolver/component/finish-form.component.html @@ -175,7 +175,7 @@

# - Assertion Consumer Service Location + Assertion Consumer Service Location Assertion Consumer Service Binding diff --git a/ui/src/app/schema-form/widget/array/array.component.html b/ui/src/app/schema-form/widget/array/array.component.html index 4588dfb4b..ee986eea2 100644 --- a/ui/src/app/schema-form/widget/array/array.component.html +++ b/ui/src/app/schema-form/widget/array/array.component.html @@ -36,7 +36,11 @@   - + + + + (default) +