diff --git a/src/components/search/SearchForm.vue b/src/components/search/SearchForm.vue index 0203bb3..e3eb92d 100644 --- a/src/components/search/SearchForm.vue +++ b/src/components/search/SearchForm.vue @@ -1,13 +1,13 @@ @@ -19,25 +19,30 @@ import SkillFilter from '@/components/search/SkillFilter.vue' export default { name: 'search-form', props: { - search_term: { + value: { default () { - return '' - }, - search_seasons: { - type: Array - }, - search_skills: { - type: Array + return { + name_filter: '', + season_filter: { + selected_seasons: [], + season_exclusive: false + }, + skill_filter: { + selected_skills: [], + skill_exclusive: false + } + } } } }, methods: { - searchFilter: function () { - return { - search_term: this.search_term, - search_seasons: this.search_seasons, - search_skils: this.search_skills - } + UpdateSeasons (val) { + this.value.season_filter = val + this.$emit('input', this.value) + }, + UpdateSkills (val) { + this.value.skill_filter = val + this.$emit('input', this.value) } }, components: { diff --git a/src/components/search/SeasonFilter.vue b/src/components/search/SeasonFilter.vue index 4a7529b..f877f67 100644 --- a/src/components/search/SeasonFilter.vue +++ b/src/components/search/SeasonFilter.vue @@ -5,8 +5,8 @@
-
- +
+ @@ -15,7 +15,7 @@
- + Exclusive
@@ -33,10 +33,30 @@ export default { SeasonIcon, ButtonCheck }, + props: { + value: { + default () { + return { + selected_seasons: [], + season_exclusive: false + } + } + } + }, computed: { seasons () { return this.$store.state.seasons } + }, + methods: { + UpdateSeasons (val) { + this.value.selected_seasons = val + this.$emit('input', this.value) + }, + UpdateExclusive (val) { + this.value.season_exclusive = val + this.$emit('input', this.value) + } } } diff --git a/src/components/search/SkillFilter.vue b/src/components/search/SkillFilter.vue index 8c1476b..fa825f0 100644 --- a/src/components/search/SkillFilter.vue +++ b/src/components/search/SkillFilter.vue @@ -6,16 +6,16 @@
- + - +
- + Exclusive
@@ -34,17 +34,31 @@ export default { SkillIcon, ButtonCheck }, - data () { - return { - selected_skills: [] + props: { + value: { + default () { + return { + selected_skills: [], + skill_exclusive: false + } + } } }, computed: { skills () { return this.$store.state.skills } + }, + methods: { + UpdateSkills (val) { + this.value.selected_skills = val + this.$emit('input', this.value) + }, + UpdateExclusive (val) { + this.value.skill_exclusive = val + this.$emit('input', this.value) + } } - }