vsf-facebook-pixel
Version:
Facebook Pixel module for Vue Storefront
31 lines (27 loc) • 897 B
text/typescript
import { MutationTree } from 'vuex'
import * as types from './mutation-types'
import WishlistState from './types/WishlistState'
import EventBus from '@vue-storefront/core/compatibility/plugins/event-bus/index'
const mutations: MutationTree<WishlistState> = {
/**
* Add product to Wishlist
* @param {Object} product data format for products is described in /doc/ElasticSearch data formats.md
*/
[types.WISH_ADD_ITEM] (state, { product }) {
const record = state.items.find(p => p.sku === product.sku)
if (!record) {
state.items.push({
...product,
qty: 1
})
}
EventBus.$emit('wishlist-add-item', product)
},
[types.WISH_DEL_ITEM] (state, { product }) {
state.items = state.items.filter(p => p.sku !== product.sku)
},
[types.WISH_LOAD_WISH] (state, storedItems) {
state.items = storedItems || []
}
}
export default mutations