diff --git a/front-ui/app/actions/cartActions.js b/front-ui/app/actions/cartActions.js index 7b6e62a..8a16fd3 100644 --- a/front-ui/app/actions/cartActions.js +++ b/front-ui/app/actions/cartActions.js @@ -28,6 +28,13 @@ var CartActions = { AppDispatcher.handleAction({ actionType: CartConstants.CART_DATA_LOADED }); + }, + + saveCartStateForItem: function(itemId) { + AppDispatcher.handleAction({ + actionType: CartConstants.SAVE_CART_STATE_FOR_ITEM, + itemId: itemId + }); } }; diff --git a/front-ui/app/components/cart/addToCart.js b/front-ui/app/components/cart/addToCart.js index 6cd2c83..ad4b84b 100644 --- a/front-ui/app/components/cart/addToCart.js +++ b/front-ui/app/components/cart/addToCart.js @@ -17,7 +17,6 @@ var AddToCart = React.createClass({
- ); }, @@ -25,14 +24,12 @@ var AddToCart = React.createClass({ // Add change listeners to stores componentDidMount: function() { CartStore.addChangeListener(this._onChange); - CartActions.load(); }, getInitialState: function() { - - var itemInCart = CartStore.getStateFor(this.props.itemId); + var itemInCart = CartStore.getStateFor(this.props.itemId); return { item: itemInCart } }, @@ -50,7 +47,12 @@ var AddToCart = React.createClass({ _onDecreaseClick: function () { CartActions.takeItemOut(this.props.itemId); + }, + + componentWillUnmount: function () { + CartStore.removeChangeListener(this._onChange); } + }); module.exports = AddToCart; diff --git a/front-ui/app/components/cart/cartIcon.js b/front-ui/app/components/cart/cartIcon.js new file mode 100644 index 0000000..cb02be9 --- /dev/null +++ b/front-ui/app/components/cart/cartIcon.js @@ -0,0 +1,49 @@ +var React = require('react'); +var CartStore = require('../../stores/cartStore.js'); +var CartActions = require('../../actions/cartActions.js'); + + + +var cartStyle = { + fontSize: '50px' +}; + +var CartIcon = React.createClass({ + + render: function() { + + var textNotificationStyle = (this.state.count > 0) ? { display: 'inline-block'} : { display: 'none'} ; + + return ( +