diff --git a/backend/src/main/resources/i18n/messages.properties b/backend/src/main/resources/i18n/messages.properties index ff6eb36d2..87b0e707d 100644 --- a/backend/src/main/resources/i18n/messages.properties +++ b/backend/src/main/resources/i18n/messages.properties @@ -280,6 +280,7 @@ label.filter-enable=Enable this Filter? label.search-criteria=Search Criteria label.metadata-filter=Metadata Filter label.metadata-filter-type=Metadata Filter Type +label.filter-versions=Filter Versions label.http-connection-attributes=HTTP Connection Attributes label.http-security-attributes=HTTP Security Attributes diff --git a/ui/src/app/metadata/configuration/component/filter-version-list.component.html b/ui/src/app/metadata/configuration/component/filter-version-list.component.html index e9efacb1e..0ca03398d 100644 --- a/ui/src/app/metadata/configuration/component/filter-version-list.component.html +++ b/ui/src/app/metadata/configuration/component/filter-version-list.component.html @@ -1,4 +1,4 @@ - +
Order Option diff --git a/ui/src/app/metadata/configuration/component/filter-version-list.component.spec.ts b/ui/src/app/metadata/configuration/component/filter-version-list.component.spec.ts index 8cb39402d..c555ea9fc 100644 --- a/ui/src/app/metadata/configuration/component/filter-version-list.component.spec.ts +++ b/ui/src/app/metadata/configuration/component/filter-version-list.component.spec.ts @@ -7,37 +7,34 @@ import { FilterVersionListComponent } from './filter-version-list.component'; import { FilterComparison } from '../model/compare'; import { FilterConfiguration } from '../model/metadata-configuration'; -export const TestData = { - dates: ['abc', '123'], +export const TestData: FilterConfiguration = { + dates: ['2019-09-23T20:54:31.081Z', '2019-10-23T20:54:31.081Z'], filters: [ - { - resourceId: 'foo', - name: 'Test 1', - type: 'EntityAttributesFilter', - comparable: false - }, - { - resourceId: 'bar', - name: 'Test 2', - type: 'EntityAttributesFilter', - comparable: false - } + [ + { + resourceId: 'foo', + name: 'Test 1', + type: 'EntityAttributesFilter', + comparable: false + }, + { + resourceId: 'bar', + name: 'Test 2', + type: 'EntityAttributesFilter', + comparable: false + } + ] ] }; @Component({ - template: ` - - - ` + template: `` }) class TestHostComponent { @ViewChild(FilterVersionListComponent) public componentUnderTest: FilterVersionListComponent; - filters: FilterConfiguration = TestData; + filters = TestData; compare(versions: FilterComparison): void { } } @@ -70,16 +67,14 @@ describe('Filter Version List Component', () => { expect(list).toBeDefined(); }); - /* describe('compareSelected', () => { it('should emit an event with the selected filter data', () => { + spyOn(instance, 'compare'); list.selected = 'foo'; fixture.detectChanges(); - spyOn(instance, 'compare'); list.compareSelected(); fixture.detectChanges(); expect(instance.compare).toHaveBeenCalled(); }); }); - */ }); diff --git a/ui/src/app/metadata/configuration/component/filter-version-list.component.ts b/ui/src/app/metadata/configuration/component/filter-version-list.component.ts index 7f0d9e445..2d2865d00 100644 --- a/ui/src/app/metadata/configuration/component/filter-version-list.component.ts +++ b/ui/src/app/metadata/configuration/component/filter-version-list.component.ts @@ -1,7 +1,7 @@ import { Component, Input, Output, EventEmitter } from '@angular/core'; import { FilterConfiguration, MetadataConfiguration } from '../model/metadata-configuration'; import { CONFIG_DATE_FORMAT } from '../configuration.values'; -import { Observable, Subject } from 'rxjs'; +import { Observable } from 'rxjs'; import { FilterComparison } from '../model/compare'; @Component({ @@ -10,8 +10,6 @@ import { FilterComparison } from '../model/compare'; }) export class FilterVersionListComponent { - private selectFiltersSubject: Subject = new Subject(); - @Input() filters: FilterConfiguration; @Output() compare: EventEmitter = new EventEmitter(); diff --git a/ui/src/app/metadata/configuration/component/property/primitive-property.component.spec.ts b/ui/src/app/metadata/configuration/component/property/primitive-property.component.spec.ts index dbc3eed4f..bf893396e 100644 --- a/ui/src/app/metadata/configuration/component/property/primitive-property.component.spec.ts +++ b/ui/src/app/metadata/configuration/component/property/primitive-property.component.spec.ts @@ -2,7 +2,7 @@ import { Component, ViewChild, Input } from '@angular/core'; import { TestBed, async, ComponentFixture } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; -import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; +import { NgbDropdownModule, NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap'; import { Property } from '../../../domain/model/property'; import { MockI18nModule } from '../../../../../testing/i18n.stub'; import { PrimitivePropertyComponent } from './primitive-property.component'; @@ -39,6 +39,7 @@ describe('Primitive Property Component', () => { TestBed.configureTestingModule({ imports: [ NgbDropdownModule, + NgbPopoverModule, MockI18nModule, RouterTestingModule ], diff --git a/ui/src/app/metadata/configuration/model/compare.ts b/ui/src/app/metadata/configuration/model/compare.ts index 3e423ec99..28038806a 100644 --- a/ui/src/app/metadata/configuration/model/compare.ts +++ b/ui/src/app/metadata/configuration/model/compare.ts @@ -1,7 +1,8 @@ import { Metadata } from '../../domain/domain.type'; +import { FilterVersion } from './version'; export interface FilterComparison { modelId: string; modelType: string; - models: Metadata[]; + models: FilterVersion[]; } diff --git a/ui/src/app/metadata/configuration/model/metadata-configuration.ts b/ui/src/app/metadata/configuration/model/metadata-configuration.ts index 10cf85eed..57316cdde 100644 --- a/ui/src/app/metadata/configuration/model/metadata-configuration.ts +++ b/ui/src/app/metadata/configuration/model/metadata-configuration.ts @@ -8,5 +8,5 @@ export interface MetadataConfiguration { export interface FilterConfiguration { dates: string[]; - filters: FilterVersion[]; + filters: FilterVersion[][]; } diff --git a/ui/src/app/metadata/configuration/reducer/filter.reducer.spec.ts b/ui/src/app/metadata/configuration/reducer/filter.reducer.spec.ts index 228c705f1..ed9685cac 100644 --- a/ui/src/app/metadata/configuration/reducer/filter.reducer.spec.ts +++ b/ui/src/app/metadata/configuration/reducer/filter.reducer.spec.ts @@ -7,7 +7,7 @@ import { CompareFilterVersions } from '../action/filter.action'; import { NameIDFilterConfiguration } from '../../filter/model/nameid-configuration.filter'; -import { Metadata } from '../../domain/domain.type'; +import { FilterVersion } from '../model/version'; describe('Filter Comparison Reducer', () => { const initialState: fromFilterCompare.State = { ...fromFilterCompare.initialState }; @@ -43,7 +43,7 @@ describe('Filter Comparison Reducer', () => { const request = { modelId: 'foo', modelType: 'EntityAttributesFilter', - models: [{}, {}] as Metadata[] + models: [{}, {}] as FilterVersion[] }; const action = new CompareFilterVersions(request); const result = reducer(initialState, action); @@ -64,7 +64,7 @@ describe('Filter Comparison Reducer', () => { describe('selector functions', () => { describe('getModel', () => { it('should retrieve the model from state', () => { - const models = [{}, {}] as Metadata[]; + const models = [{}, {}] as FilterVersion[]; expect(fromFilterCompare.getModelId({ ...initialState, modelId: 'foo' })).toBe('foo'); expect(fromFilterCompare.getModelType({ ...initialState, modelType: 'foo' })).toBe('foo'); expect(fromFilterCompare.getModels({ ...initialState, models })).toBe(models); diff --git a/ui/src/app/metadata/configuration/reducer/filter.reducer.ts b/ui/src/app/metadata/configuration/reducer/filter.reducer.ts index 4aa230bde..445038ab8 100644 --- a/ui/src/app/metadata/configuration/reducer/filter.reducer.ts +++ b/ui/src/app/metadata/configuration/reducer/filter.reducer.ts @@ -2,13 +2,14 @@ import { FilterCompareActionTypes, FilterCompareActionsUnion } from '../action/f import { Metadata } from '../../domain/domain.type'; import { FormDefinition } from '../../../wizard/model'; import { Schema } from '../model/schema'; +import { FilterVersion } from '../model/version'; export interface State { - models: Metadata[]; + models: FilterVersion[]; modelType: string; modelId: string; schema: Schema; - definition: FormDefinition; + definition: FormDefinition; loading: boolean; }