diff --git a/backend/src/main/resources/i18n/messages.properties b/backend/src/main/resources/i18n/messages.properties index 90edf9bc7..f82153ce6 100644 --- a/backend/src/main/resources/i18n/messages.properties +++ b/backend/src/main/resources/i18n/messages.properties @@ -166,10 +166,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-location=Assertion Consumer Service Location +label.assertion-consumer-service-location=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.assertion-consumer-service-location-binding=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? diff --git a/backend/src/main/resources/i18n/messages_en.properties b/backend/src/main/resources/i18n/messages_en.properties index 8f5cd4f14..8eb45a024 100644 --- a/backend/src/main/resources/i18n/messages_en.properties +++ b/backend/src/main/resources/i18n/messages_en.properties @@ -159,10 +159,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-location=Assertion Consumer Service Location +label.assertion-consumer-service-location=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.assertion-consumer-service-location-binding=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? diff --git a/ui/src/app/admin/reducer/index.spec.ts b/ui/src/app/admin/reducer/index.spec.ts index f93b0557e..4b88e86e8 100644 --- a/ui/src/app/admin/reducer/index.spec.ts +++ b/ui/src/app/admin/reducer/index.spec.ts @@ -2,10 +2,6 @@ import * as fromIndex from './'; import { MetadataResolver } from '../../metadata/domain/model'; import { User } from '../../core/model/user'; -// export const totalUserFn = (users) => users.length; -// export const totalMetadataFn = (md) => md.filter(obj => !obj.serviceEnabled).length; -// export const totalActionsFn = (users, md) => md + users; - let resolvers: MetadataResolver[] = [ { id: '1', entityId: 'foo', serviceEnabled: true, serviceProviderName: 'bar', createdDate: 'Date' } as MetadataResolver, { id: '2', entityId: 'baz', serviceEnabled: false, serviceProviderName: 'fin', createdDate: 'Date' } as MetadataResolver @@ -14,17 +10,35 @@ let resolvers: MetadataResolver[] = [ let users: User[] = [ { username: 'foo', - role: 'admin', + role: 'ROLE_ADMIN', firstName: 'foo', lastName: 'bar', emailAddress: 'foo@bar.com' + }, + { + username: 'bar', + role: 'ROLE_NONE', + firstName: 'baz', + lastName: 'foo', + emailAddress: 'fooz@ball.com' } ]; describe('admin dashboard state selectors', () => { + describe('getConfiguredAdminsFn', () => { + it('should return all users without the `ROLE_NONE` role', () => { + expect(fromIndex.getConfiguredAdminsFn(users).length).toBe(1); + }); + }); + + describe('getNewUsersFn', () => { + it('should return all users with the `ROLE_NONE` role', () => { + expect(fromIndex.getNewUsersFn(users).length).toBe(1); + }); + }); describe('totalUserFn', () => { it('should get the length of the provided array', () => { - expect(fromIndex.totalUserFn(users)).toBe(1); + expect(fromIndex.totalUserFn(users)).toBe(2); }); }); describe('totalMetadataFn', () => { diff --git a/ui/src/app/admin/reducer/index.ts b/ui/src/app/admin/reducer/index.ts index 651870b76..76b7d5720 100644 --- a/ui/src/app/admin/reducer/index.ts +++ b/ui/src/app/admin/reducer/index.ts @@ -32,12 +32,15 @@ export const getCollectionSaving = createSelector(getAdminCollectionState, fromA export const getAdminEntities = createSelector(getAdminCollectionState, fromAdminCollection.selectAdminEntities); export const getSelectedAdminId = createSelector(getAdminCollectionState, fromAdminCollection.getSelectedAdminId); -export const getSelectedAdmin = createSelector(getAdminEntities, getSelectedAdminId, (entities, selectedId) => { - return selectedId && entities[selectedId]; -}); +export const getSelectedAdmin = createSelector(getAdminEntities, getSelectedAdminId, getInCollectionFn); export const getAdminIds = createSelector(getAdminCollectionState, fromAdminCollection.selectAdminIds); -export const getAllConfiguredAdmins = createSelector(getAllAdmins, (admins) => admins.filter(a => a.role !== 'ROLE_NONE')); -export const getAllNewUsers = createSelector(getAllAdmins, (admins) => admins.filter(a => a.role === 'ROLE_NONE')); + + +export const getConfiguredAdminsFn = (admins) => admins.filter(a => a.role !== 'ROLE_NONE'); +export const getAllConfiguredAdmins = createSelector(getAllAdmins, getConfiguredAdminsFn); + +export const getNewUsersFn = (admins) => admins.filter(a => a.role === 'ROLE_NONE'); +export const getAllNewUsers = createSelector(getAllAdmins, getNewUsersFn); /* * Select pieces of Metadata Collection diff --git a/ui/src/app/metadata/configuration/component/array-property.component.html b/ui/src/app/metadata/configuration/component/array-property.component.html index d51a8e0fb..baff50a8a 100644 --- a/ui/src/app/metadata/configuration/component/array-property.component.html +++ b/ui/src/app/metadata/configuration/component/array-property.component.html @@ -54,14 +54,16 @@
{{ property.name }} -

-

+

-

    -
  • +
  • {{ item }}
diff --git a/ui/src/app/metadata/configuration/component/object-property.component.html b/ui/src/app/metadata/configuration/component/object-property.component.html index e31da24ad..cf984071c 100644 --- a/ui/src/app/metadata/configuration/component/object-property.component.html +++ b/ui/src/app/metadata/configuration/component/object-property.component.html @@ -3,9 +3,10 @@ - + +
{{ prop.name | translate }}
+ +
{ +export const assignValueToProperties = (models, properties, definition: any): any[] => { return properties.map(prop => { switch (prop.type) { case 'object': return { ...prop, - properties: assignValueToProperties(models.map(model => model[prop.id] || {}), prop.properties) + properties: assignValueToProperties( + models.map(model => definition.formatter(model)[prop.id] || {}), + prop.properties, + definition + ) }; default: return { @@ -97,7 +101,7 @@ export const getConfigurationSectionsFn = (models, definition, schema): Metadata .map((section: any) => { return { ...section, - properties: assignValueToProperties(models, section.properties) + properties: assignValueToProperties(models, section.properties, definition) }; }) }); 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 832f268b3..c65c9c271 100644 --- a/ui/src/app/metadata/domain/component/summary-property.component.html +++ b/ui/src/app/metadata/domain/component/summary-property.component.html @@ -24,9 +24,11 @@ + placement="top" + class="break-all"> {{ value[prop] }} diff --git a/ui/src/app/schema-form/widget/check/checklist.component.html b/ui/src/app/schema-form/widget/check/checklist.component.html index cb1dbf022..6d13a1886 100644 --- a/ui/src/app/schema-form/widget/check/checklist.component.html +++ b/ui/src/app/schema-form/widget/check/checklist.component.html @@ -23,7 +23,7 @@ role="checkbox" aria-checked="false" /> -