forked from M-Labs/web2019
Fix cards state being not updated on touchables
Signed-off-by: Egor Savkin <es@m-labs.hk>
This commit is contained in:
parent
1a0b613044
commit
acdaeda699
@ -542,6 +542,7 @@ class ProductCartItem extends React.PureComponent {
|
||||
onToggleOverlayRemove: PropTypes.func,
|
||||
onClickRemoveItem: PropTypes.func,
|
||||
onClickItem: PropTypes.func,
|
||||
onCardUpdate: PropTypes.func,
|
||||
};
|
||||
}
|
||||
|
||||
@ -593,6 +594,7 @@ class ProductCartItem extends React.PureComponent {
|
||||
data,
|
||||
index,
|
||||
ext_data,
|
||||
onCardUpdate,
|
||||
} = this.props;
|
||||
|
||||
let warning, options, options_data;
|
||||
@ -710,12 +712,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) }
|
||||
@ -848,6 +850,7 @@ class Cart extends React.PureComponent {
|
||||
data: PropTypes.object.isRequired,
|
||||
onToggleOverlayRemove: PropTypes.func,
|
||||
onClickRemoveItem: PropTypes.func,
|
||||
onCardUpdate: PropTypes.func,
|
||||
onClickItem: PropTypes.func,
|
||||
};
|
||||
}
|
||||
@ -862,6 +865,7 @@ class Cart extends React.PureComponent {
|
||||
onToggleOverlayRemove,
|
||||
onClickRemoveItem,
|
||||
onClickItem,
|
||||
onCardUpdate,
|
||||
} = this.props;
|
||||
|
||||
const products = data.items.map((item, index) => {
|
||||
@ -883,6 +887,7 @@ class Cart extends React.PureComponent {
|
||||
ext_data={ext_data}
|
||||
onToggleOverlayRemove={onToggleOverlayRemove}
|
||||
onClickRemoveItem={onClickRemoveItem}
|
||||
onCardUpdate={onCardUpdate}
|
||||
onClickItem={onClickItem}
|
||||
model={item}>
|
||||
</ProductCartItem>
|
||||
@ -1654,6 +1659,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;
|
||||
this.timer_remove = null;
|
||||
@ -1691,9 +1697,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) {
|
||||
@ -1709,6 +1713,10 @@ class Shop extends React.PureComponent {
|
||||
clearTimeout(this.timer);
|
||||
}
|
||||
|
||||
handleCardsUpdated() {
|
||||
this.checkAlerts(this.state.columns.cart.items);
|
||||
}
|
||||
|
||||
handleCrateModeChange(mode) {
|
||||
this.setState({
|
||||
currentMode: mode,
|
||||
@ -2052,7 +2060,7 @@ class Shop extends React.PureComponent {
|
||||
});
|
||||
}
|
||||
|
||||
checkAlerts(prevItems, newItems) {
|
||||
checkAlerts(newItems) {
|
||||
console.log('--- START CHECKING CRATE WARNING ---');
|
||||
|
||||
const {
|
||||
@ -2444,6 +2452,8 @@ class Shop extends React.PureComponent {
|
||||
onToggleOverlayRemove={this.handleToggleOverlayRemove}
|
||||
onClickRemoveItem={this.handleDeleteItem}
|
||||
onClickItem={this.handleShowOverlayRemove}>
|
||||
onClickRemoveItem={this.handleDeleteItem}
|
||||
onCardUpdate={this.handleCardsUpdated}>
|
||||
</Cart>
|
||||
}
|
||||
rules={Object.values(rules).filter(rule => rule)}>
|
||||
|
Loading…
Reference in New Issue
Block a user