From 96c53cca89ad2144d972e3027ef0481c48ce3aac Mon Sep 17 00:00:00 2001 From: Ryan Mathis Date: Thu, 8 Nov 2018 11:51:38 -0700 Subject: [PATCH] SHIBUI-906 Integrated backend endpoint for filter schema --- .../app/metadata/filter/container/edit-filter.component.ts | 3 ++- ui/src/app/metadata/filter/container/new-filter.component.ts | 5 +++-- ui/src/app/metadata/filter/model/entity-attributes.filter.ts | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) 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 6e058a464..a98cbc62d 100644 --- a/ui/src/app/metadata/filter/container/edit-filter.component.ts +++ b/ui/src/app/metadata/filter/container/edit-filter.component.ts @@ -11,6 +11,7 @@ import { UpdateFilterRequest } from '../action/collection.action'; import { CancelCreateFilter, UpdateFilterChanges } from '../action/filter.action'; import { PreviewEntity } from '../../domain/action/entity.action'; import { EntityAttributesFilterEntity } from '../../domain/entity'; +import { shareReplay } from 'rxjs/operators'; @Component({ selector: 'edit-filter-page', @@ -40,7 +41,7 @@ export class EditFilterComponent { ) { this.definition = MetadataFilterTypes.EntityAttributesFilter; - this.schema$ = this.schemaService.get(this.definition.schema); + this.schema$ = this.schemaService.get(this.definition.schema).pipe(shareReplay()); this.isSaving$ = this.store.select(fromFilter.getCollectionSaving); this.model$ = this.store.select(fromFilter.getSelectedFilter); diff --git a/ui/src/app/metadata/filter/container/new-filter.component.ts b/ui/src/app/metadata/filter/container/new-filter.component.ts index 542126491..7215b55c4 100644 --- a/ui/src/app/metadata/filter/container/new-filter.component.ts +++ b/ui/src/app/metadata/filter/container/new-filter.component.ts @@ -1,7 +1,7 @@ import { Component, OnDestroy, OnInit } from '@angular/core'; import { Store } from '@ngrx/store'; import { Subject, Observable, of } from 'rxjs'; -import { takeUntil } from 'rxjs/operators'; +import { takeUntil, shareReplay } from 'rxjs/operators'; import * as fromFilter from '../reducer'; import { MetadataFilterTypes } from '../model'; @@ -39,7 +39,7 @@ export class NewFilterComponent implements OnDestroy, OnInit { ) { this.definition = MetadataFilterTypes.EntityAttributesFilter; - this.schema$ = this.schemaService.get(this.definition.schema); + this.schema$ = this.schemaService.get(this.definition.schema).pipe(shareReplay()); this.isSaving$ = this.store.select(fromFilter.getCollectionSaving); this.model$ = of({}); } @@ -51,6 +51,7 @@ export class NewFilterComponent implements OnDestroy, OnInit { this.statusChangeEmitted$ .pipe(takeUntil(this.ngUnsubscribe)) .subscribe(valid => { + console.log(valid); this.isValid = valid.value ? valid.value.length === 0 : true; }); 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 fc358dece..0d559c094 100644 --- a/ui/src/app/metadata/filter/model/entity-attributes.filter.ts +++ b/ui/src/app/metadata/filter/model/entity-attributes.filter.ts @@ -4,7 +4,7 @@ import { MetadataFilter } from '../../domain/model'; export const EntityAttributesFilter: FormDefinition = { label: 'EntityAttributes', type: 'EntityAttributes', - schema: 'assets/schema/filter/entity-attributes.schema.json', + schema: '/api/ui/EntityAttributesFilters', getValidators(): any { const validators = {}; return validators;