2023-09-11 07:14:56 +00:00

60 lines
1.6 KiB
JavaScript
Vendored

import Vuex from "vuex";
export default new Vuex.Store({
state: () => ({
settings: {},
listParams: {
arts: [],
brands: [],
categories: [],
},
selected: {
brand: 0,
model: 0,
price: 0,
km: 0,
location: 0,
sort: 0,
page: 1,
},
list: {},
brands: {},
models: {},
pagination: {},
locations: [],
}),
mutations: {
setPage(state, page) {
state.selected.page = page;
},
setSelected(state, payload) {
state.selected[payload.item] = payload.state;
},
updateResults(state, payload) {0
state.list = payload.data.data.results;
state.pagination = payload.data.data.pagination;
state.selected.page = state.pagination.page;
// this.commit('setAdditionalParams', payload);
},
updateModels(state, payload) {
state.selected.model = 0;
state.models = payload.data.models;
},
updateDetails(state, payload) {
state.details = payload.data;
},
updateSettings(state, payload) {
state.settings = payload.data.settings;
state.settings.srchParObj = JSON.parse(state.settings.srchParams);
state.listParams.arts = state.settings.fzart ? state.settings.fzart.split(",") : [];
state.listParams.brands = state.settings.marken ? state.settings.marken.split(",") : [];
state.listParams.categories = state.settings.kategorie ? state.settings.kategorie.split(",") : [];
state.list = payload.data.data.results;
state.brands = payload.data.brands;
state.pagination = payload.data.data.pagination;
state.locations = payload.data.locations;
},
},
});