UNPKG

commerce-vuex

Version:
76 lines (73 loc) 2.3 kB
import humps from 'lodash-humps'; import distributorsService from './distributors.service'; const { doFetchList, doFetchDistributorsForBrand } = distributorsService export default { namespaced: true, state: { list: [], inProgress: false, }, mutations: { inProgress(state, yesOrNo) { state.inProgress = yesOrNo }, setList(state, list) { state.selected = []; for (let i in state.list) { state.selected.push(false); state.selected[i] = false; } state.list = list; } }, actions: { fetchList: async ({ commit }) => { commit('inProgress', true); try { const list = await doFetchList(); if (list) { commit('setList', humps((list))); commit('inProgress', false); return humps((list)); } else{ commit('setList', []); commit('inProgress', false); } /*if (recursive && state.list[0].appId != rootState.appOne.one.id) { dispatch('appOne/fetchOne', state.list[0].appId, { root: true }); }*/ } // eslint-disable-next-line no-useless-catch catch (err) { throw err } finally { commit('inProgress', false) } }, fetchDistributorsForBrand: async ({ commit }, { appId, filter }) => { commit('inProgress', true); try { const list = await doFetchDistributorsForBrand({ appId, filter }); if (list) { commit('setList', humps((list))); commit('inProgress', false); return humps((list)); } else{ commit('setList', []); commit('inProgress', false); } /*if (recursive && state.list[0].appId != rootState.appOne.one.id) { dispatch('appOne/fetchOne', state.list[0].appId, { root: true }); }*/ } // eslint-disable-next-line no-useless-catch catch (err) { throw err } finally { commit('inProgress', false) } }, } }