feat: search url query param handling

This commit is contained in:
Thea Schöbl
2022-11-01 12:58:29 +00:00
committed by Rainer Killinger
parent 38f0a30076
commit f349bd7233
7 changed files with 23 additions and 19 deletions

View File

@@ -1,16 +1,16 @@
/*
* Copyright (C) 2022 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {NgModule} from '@angular/core';
import {RouterModule, Routes} from '@angular/router';
@@ -20,7 +20,6 @@ import {SearchPageComponent} from './list/search-page.component';
const dataRoutes: Routes = [
{path: 'search', component: SearchPageComponent},
{path: 'search/:term', component: SearchPageComponent},
{path: 'data-detail/:uid', component: DataDetailComponent},
{path: 'canteen', component: FoodDataListComponent},
];

View File

@@ -277,6 +277,11 @@ export class SearchPageComponent implements OnInit, OnDestroy {
* Search event of search bar
*/
searchStringChanged(queryValue: string) {
this.router.navigate([], {
relativeTo: this.route,
queryParams: {query: queryValue},
queryParamsHandling: 'merge',
});
this.queryTextChanged.next(queryValue);
}
@@ -366,7 +371,7 @@ export class SearchPageComponent implements OnInit, OnDestroy {
* Initialize
*/
async ionViewWillEnter() {
const term = this.route.snapshot.paramMap.get('term') || undefined;
const term = this.route.snapshot.queryParamMap.get('query') || undefined;
if (term) {
this.queryText = term;
this.searchStringChanged(term);

View File

@@ -49,8 +49,8 @@
'search.type' | translate
}}</ion-button>
<ion-button
[routerLink]="['/hebis-search/' + (queryText || '')]"
[skipLocationChange]="true"
[routerLink]="['/hebis-search']"
queryParamsHandling="merge"
[routerAnimation]="routeAnimation"
fill="outline"
size="large"