diff --git a/static/js/shop.jsx b/static/js/shop.jsx index eec9668..7fc8d7e 100644 --- a/static/js/shop.jsx +++ b/static/js/shop.jsx @@ -542,6 +542,7 @@ class ProductCartItem extends React.PureComponent { onToggleWarning: PropTypes.func, onToggleOverlayRemove: PropTypes.func, onClickRemoveItem: PropTypes.func, + onCardUpdate: PropTypes.func, shouldTooltipWarningClassInverted: PropTypes.bool, }; } @@ -625,6 +626,7 @@ class ProductCartItem extends React.PureComponent { index, ext_data, shouldTooltipWarningClassInverted, + onCardUpdate, } = this.props; let warning, options, options_data; @@ -725,12 +727,12 @@ class ProductCartItem extends React.PureComponent { construct: ((outvar, value) => { // console.log("construct", outvar, value, options_data); options_data[outvar] = value; - this.setState(options_data); + onCardUpdate(); }), update: ((outvar, value) => { // console.log("update", outvar, value, options_data); if (outvar in options_data) options_data[outvar] = value; - this.setState(options_data); + onCardUpdate(); }) }} />) : null) } @@ -859,6 +861,7 @@ class Cart extends React.PureComponent { onToggleWarning: PropTypes.func, onToggleOverlayRemove: PropTypes.func, onClickRemoveItem: PropTypes.func, + onCardUpdate: PropTypes.func, }; } @@ -872,6 +875,7 @@ class Cart extends React.PureComponent { onToggleWarning, onToggleOverlayRemove, onClickRemoveItem, + onCardUpdate, } = this.props; const nbrOccupied = nbrOccupiedSlotsInCrate(data.items); @@ -899,6 +903,7 @@ class Cart extends React.PureComponent { onToggleWarning={onToggleWarning} onToggleOverlayRemove={onToggleOverlayRemove} onClickRemoveItem={onClickRemoveItem} + onCardUpdate={onCardUpdate} model={item}> ); @@ -1670,6 +1675,7 @@ class Shop extends React.PureComponent { this.handleClickShowOrder = this.handleClickShowOrder.bind(this); this.handleClickOpenImport = this.handleClickOpenImport.bind(this); this.handleLoadCustomConf = this.handleLoadCustomConf.bind(this); + this.handleCardsUpdated = this.handleCardsUpdated.bind(this); this.timer = null; } @@ -1706,9 +1712,7 @@ class Shop extends React.PureComponent { (prevState.columns.cart.items !== this.state.columns.cart.items) || (prevState.currentMode !== this.state.currentMode) ) { - this.checkAlerts( - prevState.columns.cart.items, - this.state.columns.cart.items); + this.checkAlerts(this.state.columns.cart.items); } if (this.state.newCardJustAdded) { @@ -1724,6 +1728,10 @@ class Shop extends React.PureComponent { clearTimeout(this.timer); } + handleCardsUpdated() { + this.checkAlerts(this.state.columns.cart.items); + } + handleCrateModeChange(mode) { this.setState({ currentMode: mode, @@ -2102,7 +2110,7 @@ class Shop extends React.PureComponent { }); } - checkAlerts(prevItems, newItems) { + checkAlerts(newItems) { console.log('--- START CHECKING CRATE WARNING ---'); const { @@ -2492,7 +2500,8 @@ class Shop extends React.PureComponent { onToggleProgress={this.handleToggleItemProgress} onToggleWarning={this.handleToggleItemWarning} onToggleOverlayRemove={this.handleToggleOverlayRemove} - onClickRemoveItem={this.handleDeleteItem}> + onClickRemoveItem={this.handleDeleteItem} + onCardUpdate={this.handleCardsUpdated}> } rules={Object.values(rules).filter(rule => rule)}>