Skip to content

Commit

Permalink
SHIBUI-1365 stubbing filter comparison
Browse files Browse the repository at this point in the history
  • Loading branch information
rmathis committed Aug 1, 2019
1 parent 8f0f2fb commit f26cda4
Show file tree
Hide file tree
Showing 8 changed files with 78 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<ul class="list-group list-group-flush" *ngIf="filters.length > 0">
<li *ngFor="let filter of filters; let i = index; first as isFirst; last as isLast;"
class="list-group-item">
{{ filter | json }}
</li>
</ul>
<div class="alert alert-info m-4" *ngIf="filters && filters.length < 1">
<h3 translate="message.no-filters">No Filters</h3>
<p translate="message.no-filters-added">No filters have been added to this Metadata Provider</p>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import { Component } from '@angular/core';
import { FilterListComponent } from '../../filter/component/filter-list.component';

@Component({
selector: 'filter-version-list',
templateUrl: './filter-version-list.component.html'
})
export class FilterVersionListComponent extends FilterListComponent { }
4 changes: 3 additions & 1 deletion ui/src/app/metadata/configuration/configuration.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import { FilterConfigurationListComponent } from './component/filter-configurati
import { FilterConfigurationListItemComponent } from './component/filter-configuration-list-item.component';
import { SharedModule } from '../../shared/shared.module';
import { FilterTargetPropertyComponent } from './component/filter-target-property.component';
import { FilterVersionListComponent } from './component/filter-version-list.component';

@NgModule({
declarations: [
Expand All @@ -47,7 +48,8 @@ import { FilterTargetPropertyComponent } from './component/filter-target-propert
MetadataComparisonComponent,
FilterConfigurationListComponent,
FilterConfigurationListItemComponent,
FilterTargetPropertyComponent
FilterTargetPropertyComponent,
FilterVersionListComponent
],
entryComponents: [],
imports: [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,20 @@
</a>
</div>
<metadata-configuration [configuration]="versions$ | async"></metadata-configuration>
<div *ngIf="kind === 'provider'" id="filters">
<div class="numbered-header d-flex justify-content-start bg-light align-items-center">
<h2 class="title h4 m-0 ml-2 flex-grow-1">
<span class="text" translate="label.filters">Filters</span>
</h2>
<div class="actions px-2">
<a class="btn btn-link edit-link change-view"
[routerLink]="['/', 'metadata', 'provider', id, 'filter', 'new']">
<i class="fa fa-gear"></i>&nbsp;
<span translate="action.add-filter">Add Filter</span>
</a>
</div>
</div>
<filter-version-list
[filters]="filters$ | async"></filter-version-list>
</div>
</div>
Original file line number Diff line number Diff line change
@@ -1,23 +1,32 @@
import { Component, ChangeDetectionStrategy } from '@angular/core';
import { Observable } from 'rxjs';
import { Component, ChangeDetectionStrategy, OnDestroy } from '@angular/core';
import { Observable, Subject } from 'rxjs';
import { Store } from '@ngrx/store';
import { ActivatedRoute } from '@angular/router';
import { map } from 'rxjs/operators';
import { ConfigurationState, getVersionConfigurations, getVersionConfigurationCount } from '../reducer';
import { map, takeUntil, filter } from 'rxjs/operators';
import { ConfigurationState, getVersionConfigurations, getVersionConfigurationCount, getConfigurationModel, getVersionsFilters } from '../reducer';
import { Metadata } from '../../domain/domain.type';
import { CompareVersionRequest } from '../action/compare.action';
import { MetadataConfiguration } from '../model/metadata-configuration';
import { getAdditionalFilters } from '../../filter/reducer';
import { LoadFilterRequest } from '../../filter/action/collection.action';

@Component({
selector: 'metadata-comparison',
changeDetection: ChangeDetectionStrategy.OnPush,
templateUrl: './metadata-comparison.component.html',
styleUrls: []
})
export class MetadataComparisonComponent {
export class MetadataComparisonComponent implements OnDestroy {

private ngUnsubscribe: Subject<void> = new Subject<void>();

versions$: Observable<MetadataConfiguration>;
numVersions$: Observable<number>;
filters$: Observable<unknown[]>;
model$: Observable<Metadata>;

id: string;
kind: string;

constructor(
private store: Store<ConfigurationState>,
Expand All @@ -30,5 +39,25 @@ export class MetadataComparisonComponent {

this.versions$ = this.store.select(getVersionConfigurations);
this.numVersions$ = this.store.select(getVersionConfigurationCount);
this.model$ = this.store.select(getConfigurationModel);

this.model$
.pipe(
takeUntil(this.ngUnsubscribe),
filter(model => !!model)
)
.subscribe(p => this.setModel(p));

this.filters$ = this.store.select(getVersionsFilters);
}

setModel(data: Metadata): void {
this.id = 'resourceId' in data ? data.resourceId : data.id;
this.kind = '@type' in data ? 'provider' : 'resolver';
}

ngOnDestroy(): void {
this.ngUnsubscribe.next();
this.ngUnsubscribe.complete();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ <h2 class="title h4 m-0 ml-2 flex-grow-1">
(onUpdateOrderDown)="updateOrderDown($event)"
(onUpdateOrderUp)="updateOrderUp($event)"
(onRemove)="removeFilter($event)"
(preview)="onPreview($event)"
[filters]="filters$ | async"></filter-configuration-list>
</div>
<button class="btn btn-link" (click)="onScrollTo('header')">
Expand Down
6 changes: 6 additions & 0 deletions ui/src/app/metadata/configuration/reducer/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -161,3 +161,9 @@ export const getVersionConfigurations = createSelector(
);

export const getVersionConfigurationCount = createSelector(getVersionConfigurations, (config) => config ? config.dates.length : 0);

export const getVersionsFiltersFn = (versions) => {
console.log(versions);
return [];
};
export const getVersionsFilters = createSelector(getVersionModels, getVersionsFiltersFn);
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<div *ngFor="let option of schema.oneOf; let i=index;" class="form-check form-check-inline">
<label class="control-label">
<input
[id]="formProperty._canonicalPath"
[id]="formProperty._canonicalPath + '.' + option.enum[0]"
[formControl]="control"
[name]="name"
[value]="option.enum[0]"
Expand Down

0 comments on commit f26cda4

Please sign in to comment.