Skip to content

Commit b57dbc4

Browse files
authored
Merge pull request #424 from Seluj78/374-dropdown-placement
2 parents f47ee28 + 9b60615 commit b57dbc4

File tree

3 files changed

+28
-5
lines changed

3 files changed

+28
-5
lines changed

frontend/src/components/app/recommendations/HistoryRecommendations.vue

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
'relative': true}">
1414
<Sort
1515
v-if="recommendationsBackup.length > 1"
16-
v-bind:position="'left'"
16+
v-bind:position="getPosition('left')"
1717
v-bind:startingOption="'Closest'"
1818
v-bind:options="['Closest', 'Furthest', 'Youngest',
1919
'Oldest', 'Most popular', 'Least popular', 'Most common interests', 'Least common interests']"
@@ -40,7 +40,7 @@
4040
v-on:save-filter="saveFilter"></FilterSliderDropdown>
4141
<MultipleFiltersDropdown
4242
v-if="recommendationsBackup.length > 1"
43-
v-bind:position="'right'"
43+
v-bind:position="getPosition('right')"
4444
v-bind:options="recommendationsAnalysis.interests"
4545
v-bind:name="'interests'"
4646
v-on:save-filter-multiple="saveFilterMultiple"></MultipleFiltersDropdown>
@@ -93,6 +93,15 @@ export default {
9393
},
9494
}),
9595
methods: {
96+
getPosition(initialPosition) {
97+
if (this.recommendationsBackup.length > 1
98+
&& this.recommendationsAnalysis.age.min !== this.recommendationsAnalysis.age.max
99+
&& this.recommendationsAnalysis.distance.min !== this.recommendationsAnalysis.distance.max
100+
&& this.recommendationsAnalysis.popularity.min !== this.recommendationsAnalysis.popularity.max) {
101+
return initialPosition;
102+
}
103+
return null;
104+
},
96105
saveSort(...args) {
97106
const [by] = args;
98107
this.sorting = by;

frontend/src/components/app/recommendations/Recommendations.vue

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,35 @@
66
{{recommendations.length}} {{title}}</h1>
77
<div class="flex w-full items-stretch sm:items-center justify-center md:justify-start mb-12 relative">
88
<Sort
9-
v-bind:position="'left'"
9+
v-if="recommendationsBackup.length > 1"
10+
v-bind:position="getPosition('left')"
1011
v-bind:startingOption="'Closest'"
1112
v-bind:options="['Closest', 'Furthest', 'Youngest',
1213
'Oldest', 'Most popular', 'Least popular', 'Most common interests', 'Least common interests']"
1314
v-on:save-sort="saveSort"></Sort>
1415
<FilterSliderDropdown
16+
v-if="recommendationsBackup.length > 1 && recommendationsAnalysis.age.min !== recommendationsAnalysis.age.max"
1517
v-bind:min="recommendationsAnalysis.age.min"
1618
v-bind:max="recommendationsAnalysis.age.max"
1719
v-bind:name="'age'"
1820
v-on:save-filter="saveFilter"></FilterSliderDropdown>
1921
<FilterSliderDropdown
22+
v-if="recommendationsBackup.length > 1 && recommendationsAnalysis.distance.min !== recommendationsAnalysis.distance.max"
2023
v-bind:min="recommendationsAnalysis.distance.min"
2124
v-bind:max="recommendationsAnalysis.distance.max"
2225
v-bind:unit="'km'"
2326
v-bind:name="'distance'"
2427
v-on:save-filter="saveFilter"></FilterSliderDropdown>
2528
<FilterSliderDropdown
29+
v-if="recommendationsBackup.length > 1 && recommendationsAnalysis.popularity.min !== recommendationsAnalysis.popularity.max"
2630
v-bind:min="recommendationsAnalysis.popularity.min"
2731
v-bind:max="recommendationsAnalysis.popularity.max"
2832
v-bind:unit="'pts'"
2933
v-bind:name="'popularity'"
3034
v-on:save-filter="saveFilter"></FilterSliderDropdown>
3135
<MultipleFiltersDropdown
32-
v-bind:position="'right'"
36+
v-if="recommendationsBackup.length > 1"
37+
v-bind:position="getPosition('right')"
3338
v-bind:options="recommendationsAnalysis.interests"
3439
v-bind:name="'interests'"
3540
v-on:save-filter-multiple="saveFilterMultiple"></MultipleFiltersDropdown>
@@ -78,6 +83,15 @@ export default {
7883
},
7984
}),
8085
methods: {
86+
getPosition(initialPosition) {
87+
if (this.recommendationsBackup.length > 1
88+
&& this.recommendationsAnalysis.age.min !== this.recommendationsAnalysis.age.max
89+
&& this.recommendationsAnalysis.distance.min !== this.recommendationsAnalysis.distance.max
90+
&& this.recommendationsAnalysis.popularity.min !== this.recommendationsAnalysis.popularity.max) {
91+
return initialPosition;
92+
}
93+
return null;
94+
},
8195
saveSort(...args) {
8296
const [by] = args;
8397
this.sorting = by;

frontend/src/views/app/Search.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ export default {
9999
},
100100
distance: {
101101
min: 0,
102-
max: null,
102+
max: 1,
103103
},
104104
popularity: {
105105
min: null,

0 commit comments

Comments
 (0)