Skip to content
This repository has been archived by the owner on Jun 3, 2024. It is now read-only.

Commit

Permalink
Fix confirm callbacks sent to both submit and cancel.
Browse files Browse the repository at this point in the history
  • Loading branch information
T4rk1n committed Aug 13, 2018
1 parent a6b0278 commit 04779b5
Showing 1 changed file with 19 additions and 14 deletions.
33 changes: 19 additions & 14 deletions src/components/ConfirmDialog.react.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,12 @@ export default class ConfirmDialog extends Component {
this.state = {
displayed: props.displayed
};
this._update();
}

_setStateAndProps(value) {
const { setProps } = this.props;
this.setState(value);
this.setState({displayed: value.displayed});
if (setProps) setProps(value);
}

Expand All @@ -30,25 +31,28 @@ export default class ConfirmDialog extends Component {
_update() {
const {
message,
cancel_n_clicks, cancel_n_clicks_timestamp,
submit_n_clicks, submit_n_clicks_timestamp
cancel_n_clicks,
submit_n_clicks
} = this.props;

const displayed = this.state.displayed;

if (displayed) {
new Promise(resolve => resolve(window.confirm(message))).then(result => {
this._setStateAndProps({
cancel_n_clicks: !result ?
cancel_n_clicks + 1 : cancel_n_clicks,
cancel_n_clicks_timestamp: !result ?
Date.now() : cancel_n_clicks_timestamp,
submit_n_clicks: result ?
submit_n_clicks + 1: submit_n_clicks,
submit_n_clicks_timestamp: result ?
Date.now() : submit_n_clicks_timestamp,
displayed: false
});

if (result) {
this._setStateAndProps({
submit_n_clicks: submit_n_clicks + 1,
submit_n_clicks_timestamp: Date.now(),
displayed: false
});
} else {
this._setStateAndProps({
cancel_n_clicks: cancel_n_clicks + 1,
cancel_n_clicks_timestamp: Date.now(),
displayed: false
});
}
});
}
}
Expand Down Expand Up @@ -96,6 +100,7 @@ ConfirmDialog.propTypes = {
* Set to true to send the ConfirmDialog.
*/
displayed: PropTypes.bool,
key: PropTypes.string,

/**
* Dash-assigned callback that gets fired when the value changes.
Expand Down

0 comments on commit 04779b5

Please sign in to comment.