started with cart design
removing of items from cart now possible
This commit is contained in:
@@ -7,32 +7,52 @@ var React = require('react'),
|
||||
Globals = require('../../globals'),
|
||||
LinkBanner = require('../linkBanner/linkBanner'),
|
||||
CartTotal = require('./cartTotal');
|
||||
|
||||
|
||||
|
||||
var Router = require('react-router');
|
||||
|
||||
|
||||
var CartPage = React.createClass({
|
||||
|
||||
_onTakeItemOut: function(itemId) {
|
||||
CartActions.takeItemOut(itemId);
|
||||
},
|
||||
render: function() {
|
||||
|
||||
var counts = this.state.itemCounts;
|
||||
|
||||
var displayedItems = this.state.items.map(function (i) {
|
||||
|
||||
var counts = this.state.itemCounts;
|
||||
var self = this;
|
||||
var displayedItems = this.state.items.filter(function(i) {
|
||||
if(!counts) return false;
|
||||
var count = counts[i.get('id')].get('count');
|
||||
return count > 0;
|
||||
}).map(function (i) {
|
||||
var count = counts[i.get('id')].get('count');
|
||||
var price = i.get('list_price');
|
||||
var firstImage = i.get('multi_media_descriptions')[0];
|
||||
firstImage = firstImage || { resized_url: "https://res.cloudinary.com/lfvt7ps2n/image/upload/c_fit,h_172,w_226/v1421732950/http_www.asms.ru_bitrix_templates_main_images_nophoto_irnofq.png" } ;
|
||||
return (
|
||||
|
||||
<div key={i.get('id')} className="row cart-items">
|
||||
<div className="col-md-3"><SingleItem item={i} hidePrice={true}/> </div>
|
||||
<div className="col-md-2"> { Globals.FormatCurrency(price) }</div>
|
||||
<div className="col-md-3">
|
||||
42 </div>
|
||||
<div className="col-md-2"> { Globals.FormatCurrency(count * price) }</div>
|
||||
</div>
|
||||
<tr key={i.get('id')}>
|
||||
<td>
|
||||
<img style={{maxWidth: '90px', maxHeight: '90px'}} src={firstImage.url} alt="product image"/>
|
||||
</td>
|
||||
|
||||
)
|
||||
<td>
|
||||
<p> {i.get('brand').name}</p>
|
||||
<p>
|
||||
{i.get('name')}
|
||||
</p>
|
||||
</td>
|
||||
<td>{ Globals.FormatCurrency(price) }</td>
|
||||
<td>
|
||||
<input style={{textAlign: 'center'}} className="form-control qty-box" type='text' value={count}></input>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
{ Globals.FormatCurrency(count * price) }
|
||||
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<button onClick={self._onTakeItemOut.bind(self, i.get('id'))}>Ukloni iz korpe</button>
|
||||
</td>
|
||||
</tr>)
|
||||
});
|
||||
|
||||
var deliveryDestination = (<span></span>);
|
||||
@@ -40,22 +60,29 @@ var CartPage = React.createClass({
|
||||
if (this.state.destinationValid) {
|
||||
deliveryDestination = (
|
||||
<div>
|
||||
Na adresu {this.state.deliveryDestination.name},
|
||||
|
||||
Na adresu {this.state.deliveryDestination.name},
|
||||
</div>
|
||||
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
var cartTotal = (
|
||||
<div className="row cart-total">
|
||||
<CartTotal items={this.state.items} itemCounts={this.state.itemCounts} deliveryCosts={this.state.deliveryCosts}/>
|
||||
<div className="col-md-1 span1">
|
||||
<button className="btn btn-warning" onClick={this._onOrderClick}>Izgleda OK</button>
|
||||
|
||||
var cartTotal = (
|
||||
<div>
|
||||
|
||||
<div className="row cart-total">
|
||||
<div className="col-lg-6">Ukupno</div>
|
||||
<div className="col-lg-6">
|
||||
<CartTotal items={this.state.items} itemCounts={this.state.itemCounts} deliveryCosts={this.state.deliveryCosts}/>
|
||||
</div>
|
||||
</div>
|
||||
<div className="row">
|
||||
<div className="col-lg-12 pull-right">
|
||||
<button className="btn btn-warning" onClick={this._onOrderClick}>Završi narudžbu</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
var buySomethingMessage = (<div></div>);
|
||||
@@ -64,20 +91,35 @@ var CartPage = React.createClass({
|
||||
cartTotal = (<div></div>)
|
||||
buySomethingMessage = (<div>Nemate ni jedan artikal u vašoj korpi. Kada vidite nešto što vam se sviđa - pritisnite dugme KUPI pored artikla kako biste ga dodali u korpu. </div>)
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
return (
|
||||
|
||||
<div className="cart-page center">
|
||||
|
||||
<div className="col-lg-12">
|
||||
<LinkBanner locationName="thankYouPage" />
|
||||
{cartTotal}
|
||||
{displayedItems}
|
||||
<div className="cart-title">KORPA</div>
|
||||
|
||||
<table className="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th className="col-lg-2"></th>
|
||||
<th>Proizvod</th>
|
||||
<th>Cijena</th>
|
||||
<th className="col-lg-1">Količina</th>
|
||||
<th>Ukupna cijena</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{displayedItems}
|
||||
</tbody>
|
||||
</table>
|
||||
{buySomethingMessage}
|
||||
{cartTotal}
|
||||
</div>
|
||||
);
|
||||
);
|
||||
|
||||
},
|
||||
|
||||
@@ -104,8 +146,7 @@ var CartPage = React.createClass({
|
||||
getInitialState: function () {
|
||||
return CartStore.getWholeCartState();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
module.exports = CartPage;
|
||||
module.exports = CartPage;
|
||||
|
||||
Reference in New Issue
Block a user