This is the codeAbility Sharing Platform! Learn more about the codeAbility Sharing Platform.

Skip to content
Snippets Groups Projects
Commit da65c92b authored by Michael Breu's avatar Michael Breu :speech_balloon:
Browse files

Making SearchService testable again

parent 0b4b56ca
Branches
Tags
2 merge requests!17Initial Merge to Prepare Release 1.0.0,!1Resolve "Metadaten konsolideren"
......@@ -7,7 +7,7 @@
<div class="col-sm-12">
<form name="searchForm" class="form-inline">
<div class="input-group w-100 mt-3">
<input type="text" class="form-control" queryParamName="searchText"
<input type="text" class="form-control" queryParamName="searchText" (change)="searchChanged()"
placeholder="{{ 'search.filters.search' | translate }}"/>
</div>
</form>
......
......@@ -5,6 +5,9 @@ import { QueryParam, QueryParamBuilder, QueryParamGroup } from '@ngqp/core';
import { takeUntil } from 'rxjs/operators';
import { SearchInput } from 'app/shared/model/search-input.model';
import { SearchService } from 'app/search/service/search-service';
import { SearchResultsDTO } from 'app/shared/model/search/search-results-dto.model';
@Component({
selector: 'jhi-search-input',
templateUrl: './search-input.component.html',
......@@ -21,7 +24,9 @@ export class SearchInputComponent implements OnInit, OnDestroy {
public searchInput: SearchInput;
constructor(protected activatedRoute: ActivatedRoute, private router: Router, private qpb: QueryParamBuilder) {
constructor(protected activatedRoute: ActivatedRoute, private router: Router, private qpb: QueryParamBuilder,
private searchService: SearchService,
) {
this.searchInput = new SearchInput();
this.paramGroup = qpb.group({
......@@ -70,4 +75,28 @@ export class SearchInputComponent implements OnInit, OnDestroy {
public onPageChange(page: number): void {
this.pageParam.setValue(page);
}
searchChanged(): void {
const fullTextSearch = this.searchInput.fulltextQuery;
this.searchFullText(fullTextSearch);
}
searchFullText(fullText: string): void {
const searchInput = new SearchInput();
searchInput.page=1; // just test for the second page :-)
searchInput.fulltextQuery = fullText;
this.searchService.searchPageDetails(searchInput)
.subscribe(
(data: SearchResultsDTO) => {
let hits = "";
data.searchResult.forEach(function (hit):void {hits = hits + hit.title + ":" /* + hit.description */ + '\n '});
alert("Success! " + data.hitCount + " hits: Showing " + data.pageStartIndex + "-" + (data.pageStartIndex + data.searchResult.length - 1) + "\n " + hits );
}
,
() => {alert("Search failed");}
);
}
}
......@@ -12,7 +12,7 @@
<span jhiTranslate="global.menu.search">Search</span>
</a>
<!-- The following line is not working at the moment. Since this component is not in use, it was commented out. -->
<!--<form role="form" [formGroup]="searchComponent.searchForm">-->
<form role="form" [formGroup]="this.searchComponent.searchForm">
<div class="dropdown-menu">
<div class="search-container dropdown-item">
<!-- Quick Search -->
......
import { Component, OnInit } from '@angular/core';
import {SearchComponent} from 'app/shared/search/search.component';
@Component({
selector: 'jhi-search-dropdown',
......@@ -6,7 +7,9 @@ import { Component, OnInit } from '@angular/core';
styleUrls: ['./search-dropdown.component.scss'],
})
export class SearchDropdownComponent implements OnInit {
constructor() {}
constructor(
public searchComponent: SearchComponent
) {}
ngOnInit(): void {}
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment