54053: intermediate commit

This commit is contained in:
Kristof De Langhe
2018-07-04 15:56:29 +02:00
parent ac4a1b179b
commit 8931337d2d
6 changed files with 64 additions and 2 deletions

View File

@@ -0,0 +1,10 @@
<div>
<div class="labels">
<a *ngFor="let value of (appliedFilters | async)" class="badge badge-primary mr-1"
[routerLink]="[getSearchLink()]"
[queryParams]="getQueryParamsWithout(value.filter, value.value) | async">
{{value | dsCapitalize}}
<span> ×</span>
</a>
</div>
</div>

View File

@@ -0,0 +1,29 @@
import { Component } from '@angular/core';
import { SearchService } from '../search-service/search.service';
import { SearchFilterService } from '../search-filters/search-filter/search-filter.service';
import { Observable } from 'rxjs/Observable';
import { Params } from '@angular/router';
@Component({
selector: 'ds-search-labels',
// styleUrls: ['./search-labels.component.scss'],
templateUrl: './search-labels.component.html',
})
export class SearchLabelsComponent {
protected appliedFilters: Observable<Params>;
constructor(private searchService: SearchService, private filterService: SearchFilterService) {
this.appliedFilters = this.filterService.getCurrentFilters();
console.log(this.appliedFilters.toArray());
}
getQueryParamsWithout(filterName: string, value: string): Observable<Params> {
return this.filterService.getCurrentFilters();
// return this.filterService.getQueryParamsWithoutByName(filterName, value);
}
getSearchLink() {
return this.searchService.getSearchLink();
}
}

View File

@@ -10,6 +10,7 @@
[currentUrl]="getSearchLink()" [currentUrl]="getSearchLink()"
[scopes]="(scopeListRD$ | async)?.payload?.page"> [scopes]="(scopeListRD$ | async)?.payload?.page">
</ds-search-form> </ds-search-form>
<ds-search-labels></ds-search-labels>
<div class="row"> <div class="row">
<div id="search-body" <div id="search-body"
class="row-offcanvas row-offcanvas-left" class="row-offcanvas row-offcanvas-left"

View File

@@ -21,6 +21,7 @@ import { SearchFiltersComponent } from './search-filters/search-filters.componen
import { SearchFilterComponent } from './search-filters/search-filter/search-filter.component'; import { SearchFilterComponent } from './search-filters/search-filter/search-filter.component';
import { SearchFacetFilterComponent } from './search-filters/search-filter/search-facet-filter/search-facet-filter.component'; import { SearchFacetFilterComponent } from './search-filters/search-filter/search-facet-filter/search-facet-filter.component';
import { SearchFilterService } from './search-filters/search-filter/search-filter.service'; import { SearchFilterService } from './search-filters/search-filter/search-filter.service';
import { SearchLabelsComponent } from './search-labels/search-labels.component';
const effects = [ const effects = [
SearchSidebarEffects SearchSidebarEffects
@@ -48,7 +49,8 @@ const effects = [
CommunitySearchResultListElementComponent, CommunitySearchResultListElementComponent,
SearchFiltersComponent, SearchFiltersComponent,
SearchFilterComponent, SearchFilterComponent,
SearchFacetFilterComponent SearchFacetFilterComponent,
SearchLabelsComponent
], ],
providers: [ providers: [
SearchService, SearchService,

View File

@@ -50,6 +50,7 @@ import { DebounceDirective } from './utils/debounce.directive';
import { ClickOutsideDirective } from './utils/click-outside.directive'; import { ClickOutsideDirective } from './utils/click-outside.directive';
import { EmphasizePipe } from './utils/emphasize.pipe'; import { EmphasizePipe } from './utils/emphasize.pipe';
import { InputSuggestionsComponent } from './input-suggestions/input-suggestions.component'; import { InputSuggestionsComponent } from './input-suggestions/input-suggestions.component';
import { CapitalizePipe } from './utils/capitalize.pipe';
const MODULES = [ const MODULES = [
// Do NOT include UniversalModule, HttpModule, or JsonpModule here // Do NOT include UniversalModule, HttpModule, or JsonpModule here
@@ -68,7 +69,8 @@ const PIPES = [
FileSizePipe, FileSizePipe,
SafeUrlPipe, SafeUrlPipe,
TruncatePipe, TruncatePipe,
EmphasizePipe EmphasizePipe,
CapitalizePipe
]; ];
const COMPONENTS = [ const COMPONENTS = [

View File

@@ -0,0 +1,18 @@
import { Pipe, PipeTransform } from '@angular/core'
/**
* Pipe to truncate a value in Angular. (Take a substring, starting at 0)
* Default value: 10
*/
@Pipe({
name: 'dsCapitalize'
})
export class CapitalizePipe implements PipeTransform {
transform(value: string, args: string[]): string {
if (value) {
return value.charAt(0).toUpperCase() + value.slice(1);
}
return value;
}
}