1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- const state = {
- products: [],
- selectedProduct: null
- }
- const getters = {
- getProducts (state) {
- return state.products
- },
- getSelectedProduct(state) {
- return state.selectedProduct
- },
- getVariants(state) {
- return !!state.selectedProduct ? state.selectedProduct.variants : []
- }
- }
- const mutations = {
- pushProducts(state, payload) {
- state.products = [...payload.products]
- },
- setSelectedProduct(state, payload) {
- if (!payload.product) {
- return
- }
-
- state.selectedProduct = payload.product
- },
- applyFilter(state, payload) {
- if (!payload.constraint) {
- return
- }
- }
- }
- const actions = {
- fetchProducts ({ commit }) {
- let pos = new openerp.web.Model('eiru.pos')
- pos.call('get_products').then(response => {
- commit('pushProducts', {
- products: response
- })
- }).fail(error => {
- console.log(error)
- })
- },
- selectProduct({ commit, dispatch }, payload) {
- if (payload.item.variant_count > 1) {
- commit('setSelectedProduct', {
- product: payload.item
- })
- } else {
- dispatch('addToCart', {
- product: payload.item.variants[0]
- })
- }
- },
- selectVariant({ commit, dispatch }, payload) {
- commit('setSelectedProduct', {
- product: null
- })
- dispatch('addToCart', {
- product: payload.data
- })
- }
- }
- export default {
- state,
- getters,
- mutations,
- actions
- }
|