mirror of
https://github.com/kihashi/stardew_community_checklist.git
synced 2025-10-19 08:03:17 +00:00
Updated to propogate child events.
This commit is contained in:
parent
dc19dc63fd
commit
6e94bf35b8
@ -1,13 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="columns">
|
<div class="columns">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<item-search v-model="search_term" v-on:input="$emit('input', searchFilter())" />
|
<item-search v-model.lazy="value.name_filter" v-on:input="$emit('input', $event.target.value)" />
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<season-filter />
|
<season-filter :value="value.season_filter" v-on:input="UpdateSeasons"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<skill-filter />
|
<skill-filter :value="value.skill_filter" v-on:input="UpdateSkills" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -19,25 +19,30 @@ import SkillFilter from '@/components/search/SkillFilter.vue'
|
|||||||
export default {
|
export default {
|
||||||
name: 'search-form',
|
name: 'search-form',
|
||||||
props: {
|
props: {
|
||||||
search_term: {
|
value: {
|
||||||
default () {
|
default () {
|
||||||
return ''
|
return {
|
||||||
},
|
name_filter: '',
|
||||||
search_seasons: {
|
season_filter: {
|
||||||
type: Array
|
selected_seasons: [],
|
||||||
},
|
season_exclusive: false
|
||||||
search_skills: {
|
},
|
||||||
type: Array
|
skill_filter: {
|
||||||
|
selected_skills: [],
|
||||||
|
skill_exclusive: false
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
searchFilter: function () {
|
UpdateSeasons (val) {
|
||||||
return {
|
this.value.season_filter = val
|
||||||
search_term: this.search_term,
|
this.$emit('input', this.value)
|
||||||
search_seasons: this.search_seasons,
|
},
|
||||||
search_skils: this.search_skills
|
UpdateSkills (val) {
|
||||||
}
|
this.value.skill_filter = val
|
||||||
|
this.$emit('input', this.value)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
|
|||||||
@ -5,8 +5,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field has-addons has-addons-centered">
|
<div class="field has-addons has-addons-centered">
|
||||||
<div class="control" v-for="season in seasons" :key="season.id">
|
<div class="control" v-for="season in seasons" :key="season.order">
|
||||||
<button-check>
|
<button-check :value="season.id" :checked="value.selected_seasons" v-on:change="UpdateSeasons">
|
||||||
<span class="icon is-small">
|
<span class="icon is-small">
|
||||||
<season-icon :season="season"></season-icon>
|
<season-icon :season="season"></season-icon>
|
||||||
</span>
|
</span>
|
||||||
@ -15,7 +15,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<div class="control is-expanded">
|
<div class="control is-expanded">
|
||||||
<button-check class="is-fullwidth">
|
<button-check class="is-fullwidth" :checked="value.season_exclusive" v-on:change="UpdateExclusive">
|
||||||
Exclusive
|
Exclusive
|
||||||
</button-check>
|
</button-check>
|
||||||
</div>
|
</div>
|
||||||
@ -33,10 +33,30 @@ export default {
|
|||||||
SeasonIcon,
|
SeasonIcon,
|
||||||
ButtonCheck
|
ButtonCheck
|
||||||
},
|
},
|
||||||
|
props: {
|
||||||
|
value: {
|
||||||
|
default () {
|
||||||
|
return {
|
||||||
|
selected_seasons: [],
|
||||||
|
season_exclusive: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
computed: {
|
computed: {
|
||||||
seasons () {
|
seasons () {
|
||||||
return this.$store.state.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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,16 +6,16 @@
|
|||||||
<div class="field-body">
|
<div class="field-body">
|
||||||
<div class="field has-addons has-addons-centered">
|
<div class="field has-addons has-addons-centered">
|
||||||
<div class="control" v-for="skill in skills" :key="skill.id">
|
<div class="control" v-for="skill in skills" :key="skill.id">
|
||||||
<button-check>
|
<button-check :value="skill.id" :checked="value.selected_skills" v-on:change="UpdateSkills">
|
||||||
<span class="icon is-small">
|
<span class="icon is-small">
|
||||||
<skill-icon :skill="skill"></skill-icon>
|
<skill-icon :skill="skill" />
|
||||||
</span>
|
</span>
|
||||||
</button-check>
|
</button-check>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<div class="control is-expanded">
|
<div class="control is-expanded">
|
||||||
<button-check class="is-fullwidth">
|
<button-check class="is-fullwidth" :checked="value.skill_exclusive" v-on:change="UpdateExclusive">
|
||||||
Exclusive
|
Exclusive
|
||||||
</button-check>
|
</button-check>
|
||||||
</div>
|
</div>
|
||||||
@ -34,17 +34,31 @@ export default {
|
|||||||
SkillIcon,
|
SkillIcon,
|
||||||
ButtonCheck
|
ButtonCheck
|
||||||
},
|
},
|
||||||
data () {
|
props: {
|
||||||
return {
|
value: {
|
||||||
selected_skills: []
|
default () {
|
||||||
|
return {
|
||||||
|
selected_skills: [],
|
||||||
|
skill_exclusive: false
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
skills () {
|
skills () {
|
||||||
return this.$store.state.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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user