[ENH] Add option to ignore accents during tests

This commit is contained in:
2022-08-29 17:20:26 +01:00
parent e60b1ab5ef
commit 1f0079868f
8 changed files with 89 additions and 10 deletions

View File

@@ -70,6 +70,14 @@ export default function ClassicTestStart(props) {
/>
<span>Ignore capitals</span>
</label>
<label>
<Checkbox
checked={props.ignoreAccents}
onChange={props.handleIgnoreAccentsChange}
inputProps={{ 'aria-label': 'checkbox' }}
/>
<span>Ignore accents</span>
</label>
<label>
<Checkbox
checked={props.showNumberOfAnswers}

View File

@@ -70,6 +70,14 @@ export default function LivesTestStart(props) {
/>
<span>Ignore capitals</span>
</label>
<label>
<Checkbox
checked={props.ignoreAccents}
onChange={props.handleIgnoreAccentsChange}
inputProps={{ 'aria-label': 'checkbox' }}
/>
<span>Ignore accents</span>
</label>
<label>
<Checkbox
checked={props.showNumberOfAnswers}

View File

@@ -72,6 +72,7 @@ export default withRouter(class LoggedInHome extends React.Component {
sliderValue: 1,
switchLanguage: false,
ignoreCaps: false,
ignoreAccents: false,
showNumberOfAnswers: false,
totalTestQuestions: 1,
pendingDeletions: {},
@@ -201,6 +202,7 @@ export default withRouter(class LoggedInHome extends React.Component {
mode: mode,
limit: this.state.sliderValue,
ignoreCaps: this.state.ignoreCaps,
ignoreAccents: this.state.ignoreAccents,
showNumberOfAnswers: this.state.showNumberOfAnswers,
}).then((result) => {
const progressId = result.data;
@@ -360,6 +362,12 @@ export default withRouter(class LoggedInHome extends React.Component {
});
}
handleIgnoreAccentsChange = (event) => {
this.setState({
ignoreAccents: event.target.checked,
});
}
handleShowNumberOfAnswersChange = (event) => {
this.setState({
showNumberOfAnswers: event.target.checked,
@@ -586,9 +594,11 @@ export default withRouter(class LoggedInHome extends React.Component {
onSliderChange={this.changeSliderValue}
switchLanguage={this.state.switchLanguage}
ignoreCaps={this.state.ignoreCaps}
ignoreAccents={this.state.ignoreAccents}
showNumberOfAnswers={this.state.showNumberOfAnswers}
handleSwitchLanguageChange={this.handleSwitchLanguageChange}
handleIgnoreCapsChange={this.handleIgnoreCapsChange}
handleIgnoreAccentsChange={this.handleIgnoreAccentsChange}
handleShowNumberOfAnswersChange={this.handleShowNumberOfAnswersChange}
loading={this.state.loading}
/>
@@ -603,9 +613,11 @@ export default withRouter(class LoggedInHome extends React.Component {
onSliderChange={this.changeSliderValue}
switchLanguage={this.state.switchLanguage}
ignoreCaps={this.state.ignoreCaps}
ignoreAccents={this.state.ignoreAccents}
showNumberOfAnswers={this.state.showNumberOfAnswers}
handleSwitchLanguageChange={this.handleSwitchLanguageChange}
handleIgnoreCapsChange={this.handleIgnoreCapsChange}
handleIgnoreAccentsChange={this.handleIgnoreAccentsChange}
handleShowNumberOfAnswersChange={this.handleShowNumberOfAnswersChange}
loading={this.state.loading}
/>

View File

@@ -62,6 +62,7 @@ export default withRouter(class Progress extends React.Component {
startTime: null,
sound: false,
ignoreCaps: false,
ignoreAccents: false,
numberOfAnswers: null,
virtualKeyboardLanguage: "english",
virtualKeyboardLayoutName: "default",
@@ -757,8 +758,6 @@ export default withRouter(class Progress extends React.Component {
"Answers:"
}
</h2>
{this.state.currentCorrect.map((vocab, index) =>
{this.state.currentCorrect.map((vocab, index) =>
{this.state.currentCorrect.map((vocab, index) =>
<p key={index}>{vocab}</p>
)}

View File

@@ -42,6 +42,7 @@ export default withRouter(class SearchSets extends Component {
showLivesTestStart: false,
searchInput: "",
ignoreCaps: false,
ignoreAccents: false,
showNumberOfAnswers: false,
switchLanguage: false,
sliderValue: 1,
@@ -140,6 +141,7 @@ export default withRouter(class SearchSets extends Component {
mode: mode,
limit: this.state.sliderValue,
ignoreCaps: this.state.ignoreCaps,
ignoreAccents: this.state.ignoreAccents,
showNumberOfAnswers: this.state.showNumberOfAnswers,
}).then((result) => {
const progressId = result.data;
@@ -251,6 +253,12 @@ export default withRouter(class SearchSets extends Component {
});
}
handleIgnoreAccentsChange = (event) => {
this.setState({
ignoreAccents: event.target.checked,
});
}
handleShowNumberOfAnswersChange = (event) => {
this.setState({
showNumberOfAnswers: event.target.checked,
@@ -356,9 +364,11 @@ export default withRouter(class SearchSets extends Component {
onSliderChange={this.changeSliderValue}
switchLanguage={this.state.switchLanguage}
ignoreCaps={this.state.ignoreCaps}
ignoreAccents={this.state.ignoreAccents}
showNumberOfAnswers={this.state.showNumberOfAnswers}
handleSwitchLanguageChange={this.handleSwitchLanguageChange}
handleIgnoreCapsChange={this.handleIgnoreCapsChange}
handleIgnoreAccentsChange={this.handleIgnoreAccentsChange}
handleShowNumberOfAnswersChange={this.handleShowNumberOfAnswersChange}
loading={this.state.loading}
/>
@@ -373,9 +383,11 @@ export default withRouter(class SearchSets extends Component {
onSliderChange={this.changeSliderValue}
switchLanguage={this.state.switchLanguage}
ignoreCaps={this.state.ignoreCaps}
ignoreAccents={this.state.ignoreAccents}
showNumberOfAnswers={this.state.showNumberOfAnswers}
handleSwitchLanguageChange={this.handleSwitchLanguageChange}
handleIgnoreCapsChange={this.handleIgnoreCapsChange}
handleIgnoreAccentsChange={this.handleIgnoreAccentsChange}
handleShowNumberOfAnswersChange={this.handleShowNumberOfAnswersChange}
loading={this.state.loading}
/>

View File

@@ -54,6 +54,7 @@ export default withRouter(class SetPage extends React.Component {
sliderValue: 1,
switchLanguage: false,
ignoreCaps: false,
ignoreAccents: false,
showNumberOfAnswers: false,
totalTestQuestions: 1,
};
@@ -137,6 +138,7 @@ export default withRouter(class SetPage extends React.Component {
mode: mode,
limit: this.state.sliderValue,
ignoreCaps: this.state.ignoreCaps,
ignoreAccents: this.state.ignoreAccents,
showNumberOfAnswers: this.state.showNumberOfAnswers,
}).then((result) => {
const progressId = result.data;
@@ -342,6 +344,12 @@ export default withRouter(class SetPage extends React.Component {
});
}
handleIgnoreAccentsChange = (event) => {
this.setState({
ignoreAccents: event.target.checked,
});
}
handleShowNumberOfAnswersChange = (event) => {
this.setState({
showNumberOfAnswers: event.target.checked,
@@ -496,9 +504,11 @@ export default withRouter(class SetPage extends React.Component {
onSliderChange={this.changeSliderValue}
switchLanguage={this.state.switchLanguage}
ignoreCaps={this.state.ignoreCaps}
ignoreAccents={this.state.ignoreAccents}
showNumberOfAnswers={this.state.showNumberOfAnswers}
handleSwitchLanguageChange={this.handleSwitchLanguageChange}
handleIgnoreCapsChange={this.handleIgnoreCapsChange}
handleIgnoreAccentsChange={this.handleIgnoreAccentsChange}
handleShowNumberOfAnswersChange={this.handleShowNumberOfAnswersChange}
loading={this.state.loading}
disabled={!this.state.canStartTest}
@@ -514,9 +524,11 @@ export default withRouter(class SetPage extends React.Component {
onSliderChange={this.changeSliderValue}
switchLanguage={this.state.switchLanguage}
ignoreCaps={this.state.ignoreCaps}
ignoreAccents={this.state.ignoreAccents}
showNumberOfAnswers={this.state.showNumberOfAnswers}
handleSwitchLanguageChange={this.handleSwitchLanguageChange}
handleIgnoreCapsChange={this.handleIgnoreCapsChange}
handleIgnoreAccentsChange={this.handleIgnoreAccentsChange}
handleShowNumberOfAnswersChange={this.handleShowNumberOfAnswersChange}
loading={this.state.loading}
disabled={!this.state.canStartTest}