33 lines
657 B
JavaScript
33 lines
657 B
JavaScript
export let state = {
|
|
spells: {
|
|
loaded: false,
|
|
data: []
|
|
},
|
|
chosen: [],
|
|
search: '',
|
|
sortBy: 'name',
|
|
previousSortBy: 'name',
|
|
page: 1
|
|
}
|
|
|
|
export function dispatch (action) {
|
|
switch (action.type) {
|
|
case 'SPELLS_RESOLVED':
|
|
state.spells = action.data
|
|
break
|
|
case 'CHANGE_CHOSEN':
|
|
if (action.data.want) {
|
|
state.chosen.push(action.data.name)
|
|
}
|
|
else {
|
|
let index = state.chosen.indexOf(action.data.name)
|
|
if (index >= 0) state.chosen.splice(index, 1)
|
|
}
|
|
break
|
|
case 'SEARCH_CHANGED':
|
|
state.loadedPagination = 1
|
|
break
|
|
}
|
|
}
|
|
|
|
export default { state, dispatch }
|