Disable buttons during processing
This commit is contained in:
@@ -65,6 +65,7 @@ export default function ClassicTestStart(props) {
|
|||||||
icon={<ArrowForwardRoundedIcon />}
|
icon={<ArrowForwardRoundedIcon />}
|
||||||
className="button--round continue-button"
|
className="button--round continue-button"
|
||||||
loading={props.loading}
|
loading={props.loading}
|
||||||
|
disabled={props.disabled}
|
||||||
></Button>
|
></Button>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ export default function LivesTestStart(props) {
|
|||||||
icon={<ArrowForwardRoundedIcon />}
|
icon={<ArrowForwardRoundedIcon />}
|
||||||
className="button--round continue-button"
|
className="button--round continue-button"
|
||||||
loading={props.loading}
|
loading={props.loading}
|
||||||
|
disabled={props.disabled}
|
||||||
></Button>
|
></Button>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ export default withRouter(class LoggedInHome extends React.Component {
|
|||||||
sliderValue: 1,
|
sliderValue: 1,
|
||||||
switchLanguage: false,
|
switchLanguage: false,
|
||||||
totalTestQuestions: 1,
|
totalTestQuestions: 1,
|
||||||
|
pendingDeletions: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
let isMounted = true;
|
let isMounted = true;
|
||||||
@@ -231,6 +232,14 @@ export default withRouter(class LoggedInHome extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
deleteProgress = (progressId) => {
|
deleteProgress = (progressId) => {
|
||||||
|
if (this.state.pendingDeletions[progressId] !== true) {
|
||||||
|
let pendingDeletions = this.state.pendingDeletions;
|
||||||
|
pendingDeletions[progressId] = true;
|
||||||
|
|
||||||
|
this.setState({
|
||||||
|
pendingDeletions: pendingDeletions,
|
||||||
|
});
|
||||||
|
|
||||||
this.state.db.collection("progress")
|
this.state.db.collection("progress")
|
||||||
.doc(progressId)
|
.doc(progressId)
|
||||||
.delete()
|
.delete()
|
||||||
@@ -240,8 +249,19 @@ export default withRouter(class LoggedInHome extends React.Component {
|
|||||||
progressHistoryIncomplete: this.state.progressHistoryIncomplete,
|
progressHistoryIncomplete: this.state.progressHistoryIncomplete,
|
||||||
};
|
};
|
||||||
newState.progressHistoryIncomplete.splice(progressIndex, 1);
|
newState.progressHistoryIncomplete.splice(progressIndex, 1);
|
||||||
|
newState.pendingDeletions = this.state.pendingDeletions;
|
||||||
|
delete pendingDeletions[progressId];
|
||||||
this.setState(newState);
|
this.setState(newState);
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
console.log(`Couldn't delete progress: ${error}`);
|
||||||
|
let pendingDeletions = this.state.pendingDeletions;
|
||||||
|
delete pendingDeletions[progressId];
|
||||||
|
this.setState({
|
||||||
|
pendingDeletions: pendingDeletions,
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
showTestStart = () => {
|
showTestStart = () => {
|
||||||
@@ -427,6 +447,8 @@ export default withRouter(class LoggedInHome extends React.Component {
|
|||||||
className="button--no-background"
|
className="button--no-background"
|
||||||
onClick={() => this.deleteProgress(progressItem.id)}
|
onClick={() => this.deleteProgress(progressItem.id)}
|
||||||
icon={<DeleteRoundedIcon />}
|
icon={<DeleteRoundedIcon />}
|
||||||
|
disabled={this.state.pendingDeletions[progressItem.id] === true}
|
||||||
|
loading={this.state.pendingDeletions[progressItem.id] === true}
|
||||||
></Button>
|
></Button>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -485,6 +485,7 @@ export default withRouter(class SetPage extends React.Component {
|
|||||||
switchLanguage={this.state.switchLanguage}
|
switchLanguage={this.state.switchLanguage}
|
||||||
handleSwitchLanguageChange={this.handleSwitchLanguageChange}
|
handleSwitchLanguageChange={this.handleSwitchLanguageChange}
|
||||||
loading={this.state.loading}
|
loading={this.state.loading}
|
||||||
|
disabled={!this.state.canStartTest}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
@@ -498,6 +499,7 @@ export default withRouter(class SetPage extends React.Component {
|
|||||||
switchLanguage={this.state.switchLanguage}
|
switchLanguage={this.state.switchLanguage}
|
||||||
handleSwitchLanguageChange={this.handleSwitchLanguageChange}
|
handleSwitchLanguageChange={this.handleSwitchLanguageChange}
|
||||||
loading={this.state.loading}
|
loading={this.state.loading}
|
||||||
|
disabled={!this.state.canStartTest}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user