From c3c0ad74a763e7368e09f49c0f441cf85182bf64 Mon Sep 17 00:00:00 2001 From: Patrick Gebhardt Date: Thu, 25 Jun 2020 20:54:50 +0200 Subject: [PATCH] Add more parameters to advanced search --- .../search-input/search-input.component.html | 25 ++++++++++++++++--- .../search-input/search-input.component.scss | 5 ++++ .../search-input/search-input.component.ts | 16 ++++++++++++ frontend/src/app/services/search.service.ts | 5 ++++ 4 files changed, 47 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/components/search-input/search-input.component.html b/frontend/src/app/components/search-input/search-input.component.html index 87b8c97..2ea92f0 100644 --- a/frontend/src/app/components/search-input/search-input.component.html +++ b/frontend/src/app/components/search-input/search-input.component.html @@ -93,19 +93,36 @@ Climate | sweetspot selection - - + +
Financial - | sweetspot selection + | sweetspot selection (€/day)
- + + +
+ +
+
+ Tags + | Search by user ratings +
+ +
+ diff --git a/frontend/src/app/components/search-input/search-input.component.scss b/frontend/src/app/components/search-input/search-input.component.scss index 1b73ff3..2157aab 100644 --- a/frontend/src/app/components/search-input/search-input.component.scss +++ b/frontend/src/app/components/search-input/search-input.component.scss @@ -31,6 +31,7 @@ display: flex; flex-direction: column; margin: 1rem 0; + overflow: hidden; .title { font-size: 1.2rem; @@ -52,6 +53,10 @@ min-width: 14rem; } } + + > app-multi-tag-select { + margin: 1rem; + } } .horizontal { diff --git a/frontend/src/app/components/search-input/search-input.component.ts b/frontend/src/app/components/search-input/search-input.component.ts index 6bd040d..d47320e 100644 --- a/frontend/src/app/components/search-input/search-input.component.ts +++ b/frontend/src/app/components/search-input/search-input.component.ts @@ -37,7 +37,12 @@ export class SearchInputComponent implements OnInit { fullText = false; temperatureMeanMax: number; precipitation: number; + rainDays: number; + sunHours: number; accommodation: number; + costPerDay: number; + entertainment: number; + localTransport: number; readonly today = this.from = formatDate(new Date(), 'yyyy-MM-dd', 'en-GB'); @@ -124,6 +129,7 @@ export class SearchInputComponent implements OnInit { const query: Query = { from: new Date(this.from).getTime(), to: new Date(this.to).getTime(), + tags: this.selectedTags }; if (this.textFilter.length > 0) { @@ -150,7 +156,12 @@ export class SearchInputComponent implements OnInit { textFiler: this.textFilter, tempMeanMax: this.temperatureMeanMax, precipitation: this.precipitation, + rain_days: this.rainDays, + sun_hours: this.sunHours, + average_per_day_costs: this.costPerDay, accommodation: this.accommodation, + entertainment_costs: this.entertainment, + local_transportation_costs: this.localTransport, }); } @@ -168,7 +179,12 @@ export class SearchInputComponent implements OnInit { this.selectedTab = prevInput.wasAdvanced ? 1 : 0; this.temperatureMeanMax = prevInput.tempMeanMax; this.precipitation = prevInput.precipitation; + this.rainDays = prevInput.rain_days; + this.sunHours = prevInput.sun_hours; + this.costPerDay = prevInput.average_per_day_costs; this.accommodation = prevInput.accommodation; + this.entertainment = prevInput.entertainment_costs; + this.localTransport = prevInput.local_transportation_costs; } } diff --git a/frontend/src/app/services/search.service.ts b/frontend/src/app/services/search.service.ts index b2eabdf..a89c56d 100644 --- a/frontend/src/app/services/search.service.ts +++ b/frontend/src/app/services/search.service.ts @@ -13,7 +13,12 @@ export interface SearchInput { fullText: boolean; tempMeanMax: number; precipitation: number; + rain_days: number; + sun_hours: number; + average_per_day_costs: number; accommodation: number; + entertainment_costs: number; + local_transportation_costs: number; } @Injectable({