const state = { stockPickings: [], filteredStockPickings: [], loadingStockPickings: false, selectedStockPicking: null } const getters = { loadingStockPickings(state) { return state.loadingStockPickings }, stockPickings(state) { return state.stockPickings }, visibleStockPickings(state) { return state.filteredStockPickings.length === 0 ? state.stockPickings : state.filteredStockPickings }, selectedStockPicking(state) { return state.selectedStockPicking }, selectedMoveLines(state) { return (state.selectedStockPicking && state.selectedStockPicking.moveLines) || [] } } const mutations = { setLoadingStockPickings(state, loading) { state.loadingStockPickings = !!loading }, setStockPickings(state, stockPickings) { state.stockPickings = stockPickings }, setFilteredStockPickings(state, filtered) { state.filteredStockPickings = filtered }, setSelectedStockPicking(state, picking) { state.selectedStockPicking = picking } } const actions = { initStockPickings({ commit }, stockPickings) { commit('setStockPickings', stockPickings) commit('setLoadingStockPickings') }, filterStockPickings({ commit }, payload) { commit('setFilteredStockPickings', payload) }, selectStockPicking({ commit }, payload) { commit('setSelectedStockPicking', payload) }, resetStockPicking({ commit }) { commit('setStockPickings', []) commit('setSelectedStockPicking', null) } } export default { state, getters, actions, mutations }