[FIX] createProgress compatibility
Wasn't previously fully backwards-compatible and its call hadn't been updated in all places
This commit is contained in:
@@ -140,12 +140,12 @@ exports.getGroupMembers = functions.https.onCall((data, context) => {
|
||||
/**
|
||||
* Creates new progress document.
|
||||
* @param {object} data The data passed to the function.
|
||||
* @param {boolean} data.ignoreCaps Whether capitalisation of answers should matter during the test.
|
||||
* @param {boolean} data.ignoreCaps Whether capitalisation of answers should matter during the test. Optional.
|
||||
* @param {boolean} data.limit The maximum number of lives/questions for the test.
|
||||
* @param {boolean} data.mode The mode to be tested in. Valid options are "questions" and "lives".
|
||||
* @param {array} data.sets An array of IDs of the desired sets.
|
||||
* @param {boolean} data.showNumberOfAnswers Whether the number of answers to each prompt should be
|
||||
* displayed to the user during the test.
|
||||
* displayed to the user during the test. Optional.
|
||||
* @param {boolean} data.switch_language Whether or not the languages should be reversed.
|
||||
* @return {string} The ID of the created progress document.
|
||||
*/
|
||||
@@ -169,12 +169,16 @@ exports.createProgress = functions.https.onCall((data, context) => {
|
||||
throw new functions.https.HttpsError("invalid-argument", "switch_language must be a boolean");
|
||||
}
|
||||
|
||||
if (typeof data.ignoreCaps !== "boolean") {
|
||||
throw new functions.https.HttpsError("invalid-argument", "ignoreCaps must be a boolean");
|
||||
if (typeof data.ignoreCaps === "undefined") {
|
||||
data.ignoreCaps = false;
|
||||
functions.logger.log("ignoreCaps not provided - using default value of false");
|
||||
} else if (typeof data.ignoreCaps !== "boolean") {
|
||||
throw new functions.https.HttpsError("invalid-argument", "showNumberOfAnswers must be a boolean");
|
||||
}
|
||||
|
||||
if (typeof data.showNumberOfAnswers === "undefined") {
|
||||
data.showNumberOfAnswers = false;
|
||||
functions.logger.log("showNumberOfAnswers not provided - using default value of false");
|
||||
} else if (typeof data.showNumberOfAnswers !== "boolean") {
|
||||
throw new functions.https.HttpsError("invalid-argument", "showNumberOfAnswers must be a boolean");
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "parandum",
|
||||
"version": "2.1.6",
|
||||
"version": "2.1.7",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.16.0",
|
||||
|
||||
@@ -133,7 +133,7 @@ export default withRouter(class Progress extends React.Component {
|
||||
setComplete: data.duration !== null,
|
||||
pageLoaded: true,
|
||||
numberOfAnswers: data.showNumberOfAnswers ? 0 : null,
|
||||
ignoreCaps: data.ignoreCaps,
|
||||
ignoreCaps: data.ignoreCaps === true,
|
||||
};
|
||||
|
||||
if (data.lives) {
|
||||
|
||||
@@ -41,6 +41,11 @@ export default withRouter(class SearchSets extends Component {
|
||||
showClassicTestStart: false,
|
||||
showLivesTestStart: false,
|
||||
searchInput: "",
|
||||
ignoreCaps: false,
|
||||
showNumberOfAnswers: false,
|
||||
switchLanguage: false,
|
||||
sliderValue: 1,
|
||||
totalTestQuestions: 1,
|
||||
};
|
||||
|
||||
let isMounted = true;
|
||||
@@ -134,6 +139,8 @@ export default withRouter(class SearchSets extends Component {
|
||||
switch_language: this.state.switchLanguage,
|
||||
mode: mode,
|
||||
limit: this.state.sliderValue,
|
||||
ignoreCaps: this.state.ignoreCaps,
|
||||
showNumberOfAnswers: this.state.showNumberOfAnswers,
|
||||
}).then((result) => {
|
||||
const progressId = result.data;
|
||||
this.stopLoading();
|
||||
@@ -238,6 +245,18 @@ export default withRouter(class SearchSets extends Component {
|
||||
});
|
||||
}
|
||||
|
||||
handleIgnoreCapsChange = (event) => {
|
||||
this.setState({
|
||||
ignoreCaps: event.target.checked,
|
||||
});
|
||||
}
|
||||
|
||||
handleShowNumberOfAnswersChange = (event) => {
|
||||
this.setState({
|
||||
showNumberOfAnswers: event.target.checked,
|
||||
});
|
||||
}
|
||||
|
||||
handleSearchInput = (event) => {
|
||||
if (!this.state.loadingSets) {
|
||||
this.setState({
|
||||
@@ -336,7 +355,11 @@ export default withRouter(class SearchSets extends Component {
|
||||
sliderValue={this.state.sliderValue}
|
||||
onSliderChange={this.changeSliderValue}
|
||||
switchLanguage={this.state.switchLanguage}
|
||||
ignoreCaps={this.state.ignoreCaps}
|
||||
showNumberOfAnswers={this.state.showNumberOfAnswers}
|
||||
handleSwitchLanguageChange={this.handleSwitchLanguageChange}
|
||||
handleIgnoreCapsChange={this.handleIgnoreCapsChange}
|
||||
handleShowNumberOfAnswersChange={this.handleShowNumberOfAnswersChange}
|
||||
loading={this.state.loading}
|
||||
/>
|
||||
}
|
||||
@@ -349,7 +372,11 @@ export default withRouter(class SearchSets extends Component {
|
||||
sliderValue={this.state.sliderValue}
|
||||
onSliderChange={this.changeSliderValue}
|
||||
switchLanguage={this.state.switchLanguage}
|
||||
ignoreCaps={this.state.ignoreCaps}
|
||||
showNumberOfAnswers={this.state.showNumberOfAnswers}
|
||||
handleSwitchLanguageChange={this.handleSwitchLanguageChange}
|
||||
handleIgnoreCapsChange={this.handleIgnoreCapsChange}
|
||||
handleShowNumberOfAnswersChange={this.handleShowNumberOfAnswersChange}
|
||||
loading={this.state.loading}
|
||||
/>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user