mirror of
https://github.com/em-squared/5e-drs.git
synced 2025-10-30 13:14:20 +00:00
filtres sur les mouvements des créatures
This commit is contained in:
parent
597dd43b4b
commit
9a324bea91
3 changed files with 176 additions and 0 deletions
|
|
@ -52,6 +52,9 @@ export default {
|
||||||
{ label: "Ruines souterraines", value: false },
|
{ label: "Ruines souterraines", value: false },
|
||||||
{ label: "Ruines sous-marines", value: false },
|
{ label: "Ruines sous-marines", value: false },
|
||||||
],
|
],
|
||||||
|
speedFly: undefined,
|
||||||
|
speedSwim: undefined,
|
||||||
|
speedBurrow: undefined,
|
||||||
},
|
},
|
||||||
|
|
||||||
getters: {
|
getters: {
|
||||||
|
|
@ -60,6 +63,9 @@ export default {
|
||||||
sizes: state => state.sizes,
|
sizes: state => state.sizes,
|
||||||
environments: state => state.environments,
|
environments: state => state.environments,
|
||||||
dungeonTypes: state => state.dungeonTypes,
|
dungeonTypes: state => state.dungeonTypes,
|
||||||
|
speedFly: state => state.speedFly,
|
||||||
|
speedSwim: state => state.speedSwim,
|
||||||
|
speedBurrow: state => state.speedBurrow,
|
||||||
},
|
},
|
||||||
|
|
||||||
actions: {
|
actions: {
|
||||||
|
|
@ -69,6 +75,9 @@ export default {
|
||||||
commit('resetSizes')
|
commit('resetSizes')
|
||||||
commit('resetEnvironments')
|
commit('resetEnvironments')
|
||||||
commit('resetDungeonTypes')
|
commit('resetDungeonTypes')
|
||||||
|
commit('resetSpeedFly')
|
||||||
|
commit('resetSpeedSwim')
|
||||||
|
commit('resetSpeedBurrow')
|
||||||
},
|
},
|
||||||
updateSearch: ({ commit }, payload) => {
|
updateSearch: ({ commit }, payload) => {
|
||||||
commit('setSearch', payload)
|
commit('setSearch', payload)
|
||||||
|
|
@ -109,6 +118,15 @@ export default {
|
||||||
resetDungeonTypes: ({ commit }) => {
|
resetDungeonTypes: ({ commit }) => {
|
||||||
commit('resetDungeonTypes')
|
commit('resetDungeonTypes')
|
||||||
},
|
},
|
||||||
|
updateSpeedFly: ({ commit }, payload) => {
|
||||||
|
commit('setSpeedFly', payload)
|
||||||
|
},
|
||||||
|
updateSpeedSwim: ({ commit }, payload) => {
|
||||||
|
commit('setSpeedSwim', payload)
|
||||||
|
},
|
||||||
|
updateSpeedBurrow: ({ commit }, payload) => {
|
||||||
|
commit('setSpeedBurrow', payload)
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
mutations: {
|
mutations: {
|
||||||
|
|
@ -230,6 +248,24 @@ export default {
|
||||||
{ label: "Ruines sous-marines", value: false },
|
{ label: "Ruines sous-marines", value: false },
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
setSpeedFly: (state, payload) => {
|
||||||
|
state.speedFly = payload
|
||||||
|
},
|
||||||
|
resetSpeedFly: (state) => {
|
||||||
|
state.speedFly = undefined
|
||||||
|
},
|
||||||
|
setSpeedSwim: (state, payload) => {
|
||||||
|
state.speedSwim = payload
|
||||||
|
},
|
||||||
|
resetSpeedSwim: (state) => {
|
||||||
|
state.speedSwim = undefined
|
||||||
|
},
|
||||||
|
setSpeedBurrow: (state, payload) => {
|
||||||
|
state.speedBurrow = payload
|
||||||
|
},
|
||||||
|
resetSpeedBurrow: (state) => {
|
||||||
|
state.speedBurrow = undefined
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,50 @@
|
||||||
</v-expansion-panel-content>
|
</v-expansion-panel-content>
|
||||||
</v-expansion-panel>
|
</v-expansion-panel>
|
||||||
|
|
||||||
|
<v-expansion-panel>
|
||||||
|
<v-expansion-panel-header>Déplacements</v-expansion-panel-header>
|
||||||
|
<v-expansion-panel-content>
|
||||||
|
<div class="d-flex mt-2 mb-4">
|
||||||
|
<v-btn-toggle v-model="speedFly" @change="switchSpeedFly" dark>
|
||||||
|
<v-btn :value="true" small :color="setColor(speedFly, true, 'green')">
|
||||||
|
<v-icon>mdi-check</v-icon>
|
||||||
|
</v-btn>
|
||||||
|
<v-btn :value="false" small :color="setColor(speedFly, false, 'red')">
|
||||||
|
<v-icon>mdi-close</v-icon>
|
||||||
|
</v-btn>
|
||||||
|
</v-btn-toggle>
|
||||||
|
|
||||||
|
<p class="mt-0 mb-0 ml-2">Vol</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="d-flex mb-4">
|
||||||
|
<v-btn-toggle v-model="speedSwim" @change="switchSpeedSwim" dark>
|
||||||
|
<v-btn :value="true" small :color="setColor(speedSwim, true, 'green')">
|
||||||
|
<v-icon>mdi-check</v-icon>
|
||||||
|
</v-btn>
|
||||||
|
<v-btn :value="false" small :color="setColor(speedSwim, false, 'red')">
|
||||||
|
<v-icon>mdi-close</v-icon>
|
||||||
|
</v-btn>
|
||||||
|
</v-btn-toggle>
|
||||||
|
|
||||||
|
<p class="mt-0 mb-0 ml-2">Nage</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="d-flex">
|
||||||
|
<v-btn-toggle v-model="speedBurrow" @change="switchSpeedBurrow" dark>
|
||||||
|
<v-btn :value="true" small :color="setColor(speedBurrow, true, 'green')">
|
||||||
|
<v-icon>mdi-check</v-icon>
|
||||||
|
</v-btn>
|
||||||
|
<v-btn :value="false" small :color="setColor(speedBurrow, false, 'red')">
|
||||||
|
<v-icon>mdi-close</v-icon>
|
||||||
|
</v-btn>
|
||||||
|
</v-btn-toggle>
|
||||||
|
|
||||||
|
<p class="mt-0 mb-0 ml-2">Fouissement</p>
|
||||||
|
</div>
|
||||||
|
</v-expansion-panel-content>
|
||||||
|
</v-expansion-panel>
|
||||||
|
|
||||||
</v-expansion-panels>
|
</v-expansion-panels>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -139,6 +183,33 @@ export default {
|
||||||
this.$store.commit('monsterFilters/setDungeonTypes', newValue)
|
this.$store.commit('monsterFilters/setDungeonTypes', newValue)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
speedFly: {
|
||||||
|
get () {
|
||||||
|
return this.$store.state.monsterFilters.speedFly
|
||||||
|
},
|
||||||
|
set (newValue) {
|
||||||
|
this.$store.commit('monsterFilters/setSpeedFly', newValue)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
speedSwim: {
|
||||||
|
get () {
|
||||||
|
return this.$store.state.monsterFilters.speedSwim
|
||||||
|
},
|
||||||
|
set (newValue) {
|
||||||
|
this.$store.commit('monsterFilters/setSpeedSwim', newValue)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
speedBurrow: {
|
||||||
|
get () {
|
||||||
|
return this.$store.state.monsterFilters.speedBurrow
|
||||||
|
},
|
||||||
|
set (newValue) {
|
||||||
|
this.$store.commit('monsterFilters/setSpeedBurrow', newValue)
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
|
@ -194,6 +265,30 @@ export default {
|
||||||
setUrlParams('donjons', list)
|
setUrlParams('donjons', list)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
switchSpeedFly () {
|
||||||
|
let value = []
|
||||||
|
if ((this.speedFly !== undefined)) {
|
||||||
|
value[0] = this.speedFly
|
||||||
|
}
|
||||||
|
setUrlParams('vol', value)
|
||||||
|
},
|
||||||
|
|
||||||
|
switchSpeedSwim () {
|
||||||
|
let value = []
|
||||||
|
if ((this.speedSwim !== undefined)) {
|
||||||
|
value[0] = this.speedSwim
|
||||||
|
}
|
||||||
|
setUrlParams('nage', value)
|
||||||
|
},
|
||||||
|
|
||||||
|
switchSpeedBurrow () {
|
||||||
|
let value = []
|
||||||
|
if ((this.speedBurrow !== undefined)) {
|
||||||
|
value[0] = this.speedBurrow
|
||||||
|
}
|
||||||
|
setUrlParams('fouissement', value)
|
||||||
|
},
|
||||||
|
|
||||||
setColor (value, compare, color) {
|
setColor (value, compare, color) {
|
||||||
if (value === compare) {
|
if (value === compare) {
|
||||||
return color
|
return color
|
||||||
|
|
@ -230,6 +325,9 @@ export default {
|
||||||
let selectedTypes = getUrlParameter(window.location.href, "types").split(",")
|
let selectedTypes = getUrlParameter(window.location.href, "types").split(",")
|
||||||
let selectedEnvironments = getUrlParameter(window.location.href, "environnements").split(",")
|
let selectedEnvironments = getUrlParameter(window.location.href, "environnements").split(",")
|
||||||
let selectedDungeonTypes = getUrlParameter(window.location.href, "donjons").split(",")
|
let selectedDungeonTypes = getUrlParameter(window.location.href, "donjons").split(",")
|
||||||
|
let speedFly = getUrlParameter(window.location.href, "vol")
|
||||||
|
let speedSwim = getUrlParameter(window.location.href, "nage")
|
||||||
|
let speedBurrow = getUrlParameter(window.location.href, "fouissement")
|
||||||
|
|
||||||
if (challengeRange && challengeRange[0] != '' && challengeRange[1] != '') {
|
if (challengeRange && challengeRange[0] != '' && challengeRange[1] != '') {
|
||||||
let convertedChallengeRange = []
|
let convertedChallengeRange = []
|
||||||
|
|
@ -251,6 +349,10 @@ export default {
|
||||||
setListMutation(selectedSizes, this.$store, 'monsterFilters/setSizesFromList')
|
setListMutation(selectedSizes, this.$store, 'monsterFilters/setSizesFromList')
|
||||||
setListMutation(selectedEnvironments, this.$store, 'monsterFilters/setEnvironmentsFromList')
|
setListMutation(selectedEnvironments, this.$store, 'monsterFilters/setEnvironmentsFromList')
|
||||||
setListMutation(selectedDungeonTypes, this.$store, 'monsterFilters/setDungeonTypesFromList')
|
setListMutation(selectedDungeonTypes, this.$store, 'monsterFilters/setDungeonTypesFromList')
|
||||||
|
|
||||||
|
setBooleanMutation(speedFly, this.$store, 'monsterFilters/setSpeedFly')
|
||||||
|
setBooleanMutation(speedSwim, this.$store, 'monsterFilters/setSpeedSwim')
|
||||||
|
setBooleanMutation(speedBurrow, this.$store, 'monsterFilters/setSpeedBurrow')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -208,6 +208,9 @@ export default {
|
||||||
sizes: state => state.monsterFilters.sizes,
|
sizes: state => state.monsterFilters.sizes,
|
||||||
environments: state => state.monsterFilters.environments,
|
environments: state => state.monsterFilters.environments,
|
||||||
dungeonTypes: state => state.monsterFilters.dungeonTypes,
|
dungeonTypes: state => state.monsterFilters.dungeonTypes,
|
||||||
|
speedFly: state => state.monsterFilters.speedFly,
|
||||||
|
speedSwim: state => state.monsterFilters.speedSwim,
|
||||||
|
speedBurrow: state => state.monsterFilters.speedBurrow,
|
||||||
}),
|
}),
|
||||||
|
|
||||||
headers() {
|
headers() {
|
||||||
|
|
@ -363,6 +366,41 @@ export default {
|
||||||
results = classFiltered
|
results = classFiltered
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Filter movement speeds
|
||||||
|
if (this.speedFly !== undefined) {
|
||||||
|
if (this.speedFly === true) {
|
||||||
|
results = results.filter(item => {
|
||||||
|
return item.frontmatter.movement.fly > 0
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
results = results.filter(item => {
|
||||||
|
return item.frontmatter.movement.fly == null
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.speedSwim !== undefined) {
|
||||||
|
if (this.speedSwim === true) {
|
||||||
|
results = results.filter(item => {
|
||||||
|
return item.frontmatter.movement.swim > 0
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
results = results.filter(item => {
|
||||||
|
return item.frontmatter.movement.swim == null
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.speedBurrow !== undefined) {
|
||||||
|
if (this.speedBurrow === true) {
|
||||||
|
results = results.filter(item => {
|
||||||
|
return item.frontmatter.movement.burrow > 0
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
results = results.filter(item => {
|
||||||
|
return item.frontmatter.movement.burrow == null
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// let json = []
|
// let json = []
|
||||||
// for (var monster of results) {
|
// for (var monster of results) {
|
||||||
// let m = {}
|
// let m = {}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue