|
12 | 12 | v-bind:recommendationsAnalysis="filters"></Recommendations> |
13 | 13 | </section> |
14 | 14 | <section v-if="!recommendationsAnalysisDone" class="flex flex-col my-8 md:my-12"> |
15 | | - <div> |
| 15 | + <div v-if="sliderValuesFetched"> |
16 | 16 | <FilterSlider |
17 | | - v-bind:min="18" |
18 | | - v-bind:max="100" |
| 17 | + v-bind:min="sliders.age.min" |
| 18 | + v-bind:max="sliders.age.max" |
19 | 19 | v-bind:name="'age'" |
20 | 20 | v-on:saveFilter="saveFilter"></FilterSlider> |
21 | 21 | <FilterSlider |
22 | 22 | v-bind:min="0" |
23 | | - v-bind:max="1000" |
| 23 | + v-bind:max="2000" |
24 | 24 | v-bind:unit="'km'" |
25 | 25 | v-bind:oneHandle="true" |
26 | 26 | v-bind:name="'distance'" |
27 | 27 | v-on:saveFilter="saveFilter"></FilterSlider> |
28 | 28 | <FilterSlider |
29 | | - v-bind:min="18" |
30 | | - v-bind:max="100" |
| 29 | + v-bind:min="sliders.popularity.min" |
| 30 | + v-bind:max="sliders.popularity.max" |
31 | 31 | v-bind:unit="'pts'" |
32 | 32 | v-bind:name="'popularity'" |
33 | 33 | v-on:saveFilter="saveFilter"></FilterSlider> |
@@ -72,6 +72,17 @@ export default { |
72 | 72 | }, |
73 | 73 | data: () => ({ |
74 | 74 | recommendations: [], |
| 75 | + sliders: { |
| 76 | + age: { |
| 77 | + min: null, |
| 78 | + max: null, |
| 79 | + }, |
| 80 | + popularity: { |
| 81 | + min: null, |
| 82 | + max: null, |
| 83 | + }, |
| 84 | + }, |
| 85 | + sliderValuesFetched: false, |
75 | 86 | filters: { |
76 | 87 | age: { |
77 | 88 | min: null, |
@@ -144,6 +155,18 @@ export default { |
144 | 155 | this.recommendationsAnalysisDone = false; |
145 | 156 | }, |
146 | 157 | }, |
| 158 | + async mounted() { |
| 159 | + const sliderRangesRequest = await this.$http.get('/search/values'); |
| 160 | + const values = sliderRangesRequest.data.search_minmax; |
| 161 | + this.sliders.age.min = values.min_age; |
| 162 | + if (this.sliders.age.min < 18) { |
| 163 | + this.sliders.age.min = 18; |
| 164 | + } |
| 165 | + this.sliders.age.max = values.max_age; |
| 166 | + this.sliders.popularity.min = values.min_score; |
| 167 | + this.sliders.popularity.max = values.max_score; |
| 168 | + this.sliderValuesFetched = true; |
| 169 | + }, |
147 | 170 | }; |
148 | 171 |
|
149 | 172 | </script> |
|
0 commit comments