From 043031285c022d332989e4f70f1e6e07d721d815 Mon Sep 17 00:00:00 2001 From: Ryan Mathis Date: Fri, 7 Dec 2018 14:57:42 -0700 Subject: [PATCH] SHIBUI-799 Removed console log --- ui/src/app/metadata/domain/domain.util.ts | 11 ++++++++--- ui/src/app/metadata/domain/model/metadata-resolver.ts | 1 + .../filter/container/edit-filter.component.spec.ts | 2 ++ .../filter/container/edit-filter.component.ts | 6 +++++- .../metadata/filter/model/entity-attributes.filter.ts | 4 +++- ui/src/app/metadata/filter/model/nameid.filter.ts | 4 ++++ ui/src/app/wizard/model/form-definition.ts | 1 + 7 files changed, 24 insertions(+), 5 deletions(-) diff --git a/ui/src/app/metadata/domain/domain.util.ts b/ui/src/app/metadata/domain/domain.util.ts index af9ab0153..2aeeac247 100644 --- a/ui/src/app/metadata/domain/domain.util.ts +++ b/ui/src/app/metadata/domain/domain.util.ts @@ -11,12 +11,17 @@ export const getInCollectionFn = (entities, selectedId) => { }; export const getEntityIdsFn = list => list.map(entity => entity.entityId); +export const getId = (entity: Metadata): string => { + return entity.resourceId ? entity.resourceId : entity.id; +}; + export const mergeOrderFn = (entities: Metadata[], order: string[]): Metadata[] => { - return [...entities.sort( + const ordered = [...entities.sort( (a: Metadata, b: Metadata) => { - const aIndex = order.indexOf(a.id); - const bIndex = order.indexOf(b.id); + const aIndex = order.indexOf(getId(a)); + const bIndex = order.indexOf(getId(b)); return aIndex > bIndex ? 1 : bIndex > aIndex ? -1 : 0; } )]; + return ordered; }; diff --git a/ui/src/app/metadata/domain/model/metadata-resolver.ts b/ui/src/app/metadata/domain/model/metadata-resolver.ts index 9f8e0686c..01505cff5 100644 --- a/ui/src/app/metadata/domain/model/metadata-resolver.ts +++ b/ui/src/app/metadata/domain/model/metadata-resolver.ts @@ -12,6 +12,7 @@ import { export interface MetadataResolver extends MetadataBase { id: string; + resourceId?: string; entityId?: string; serviceProviderName: string; organization?: Organization; diff --git a/ui/src/app/metadata/filter/container/edit-filter.component.spec.ts b/ui/src/app/metadata/filter/container/edit-filter.component.spec.ts index 8f7060c27..660bf53fb 100644 --- a/ui/src/app/metadata/filter/container/edit-filter.component.spec.ts +++ b/ui/src/app/metadata/filter/container/edit-filter.component.spec.ts @@ -11,6 +11,7 @@ import { SchemaFormModule, WidgetRegistry, DefaultWidgetRegistry } from 'ngx-sch import { SchemaService } from '../../../schema-form/service/schema.service'; import { HttpClientModule } from '@angular/common/http'; import { MockI18nModule } from '../../../../testing/i18n.stub'; +import { MetadataFilterTypes } from '../model'; describe('Edit Metadata Filter Page', () => { let fixture: ComponentFixture; @@ -67,6 +68,7 @@ describe('Edit Metadata Filter Page', () => { describe('preview method', () => { it('should dispatch a preview action', () => { fixture.detectChanges(); + instance.definition = MetadataFilterTypes.EntityAttributes; instance.preview('foo'); expect(store.dispatch).toHaveBeenCalled(); }); diff --git a/ui/src/app/metadata/filter/container/edit-filter.component.ts b/ui/src/app/metadata/filter/container/edit-filter.component.ts index a4ee5f3a4..5143f7dbe 100644 --- a/ui/src/app/metadata/filter/container/edit-filter.component.ts +++ b/ui/src/app/metadata/filter/container/edit-filter.component.ts @@ -26,6 +26,7 @@ export class EditFilterComponent { private statusChangeEmitted$ = this.statusChangeSubject.asObservable(); definition$: Observable>; + definition: FormDefinition; schema$: Observable; model$: Observable; @@ -46,6 +47,9 @@ export class EditFilterComponent { filter(t => !!t), map(t => MetadataFilterTypes[t]) ); + + this.definition$.subscribe(d => this.definition = d); + this.schema$ = this.definition$.pipe( filter(d => !!d), switchMap(d => { @@ -94,7 +98,7 @@ export class EditFilterComponent { preview(id: string): void { this.store.dispatch(new PreviewEntity({ id, - entity: new EntityAttributesFilterEntity(this.filter) + entity: this.definition.getEntity(this.filter) })); } } diff --git a/ui/src/app/metadata/filter/model/entity-attributes.filter.ts b/ui/src/app/metadata/filter/model/entity-attributes.filter.ts index 83daa063d..78ee24e43 100644 --- a/ui/src/app/metadata/filter/model/entity-attributes.filter.ts +++ b/ui/src/app/metadata/filter/model/entity-attributes.filter.ts @@ -7,6 +7,9 @@ export const EntityAttributesFilter: FormDefinition = { label: 'EntityAttributes', type: 'EntityAttributes', schema: '/api/ui/EntityAttributesFilters', + getEntity(filter: MetadataFilter): EntityAttributesFilterEntity { + return new EntityAttributesFilterEntity(filter); + }, getValidators(namesList: string[] = []): any { const validators = { '/': (value, property, form_current) => { @@ -25,7 +28,6 @@ export const EntityAttributesFilter: FormDefinition = { return errors; }, '/name': (value, property, form) => { - console.log(namesList); const err = namesList.indexOf(value) > -1 ? { code: 'INVALID_NAME', path: `#${property.path}`, diff --git a/ui/src/app/metadata/filter/model/nameid.filter.ts b/ui/src/app/metadata/filter/model/nameid.filter.ts index d03d66c3e..3787af80b 100644 --- a/ui/src/app/metadata/filter/model/nameid.filter.ts +++ b/ui/src/app/metadata/filter/model/nameid.filter.ts @@ -1,10 +1,14 @@ import { FormDefinition } from '../../../wizard/model'; import { MetadataFilter } from '../../domain/model'; +import { NameIDFormatFilterEntity } from '../../domain/entity/filter/nameid-format-filter'; export const NameIDFilter: FormDefinition = { label: 'NameIDFilter', type: 'NameIDFormat', schema: '/api/ui/NameIdFormatFilter', + getEntity(filter: MetadataFilter): NameIDFormatFilterEntity { + return new NameIDFormatFilterEntity(filter); + }, getValidators(namesList: string[] = []): any { const validators = { '/': (value, property, form_current) => { diff --git a/ui/src/app/wizard/model/form-definition.ts b/ui/src/app/wizard/model/form-definition.ts index f7036014d..997937961 100644 --- a/ui/src/app/wizard/model/form-definition.ts +++ b/ui/src/app/wizard/model/form-definition.ts @@ -3,6 +3,7 @@ export interface FormDefinition { type: string; schema?: string; bindings?: any; + getEntity?(entity: any): any; parser(changes: Partial, schema?: any); formatter(changes: Partial, schema?: any); getValidators?(...args: any[]): { [key: string]: any };