From f964abae3d88c9fc391947e726a27a953d35de97 Mon Sep 17 00:00:00 2001 From: Maximilian Eder Date: Thu, 4 May 2023 11:41:45 +0200 Subject: [PATCH] Add filter by category (key) functionality --- src/components/QuestionSelectionList.tsx | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/components/QuestionSelectionList.tsx b/src/components/QuestionSelectionList.tsx index 20f36ec..f6b0f1a 100644 --- a/src/components/QuestionSelectionList.tsx +++ b/src/components/QuestionSelectionList.tsx @@ -24,6 +24,7 @@ interface QuestionSelectionListState { selectionByQuestionScoreEnabled: boolean; filterType: FilterType; filterValue: number; + category: string; } export default class QuestionSelectionList extends React.PureComponent { @@ -33,18 +34,21 @@ export default class QuestionSelectionList extends React.PureComponent { acc[val.id] = filteredRatios.some(q => q === val.id); return acc; }, { } as IAssociativeArray)); } + selectCategory(e: any) { + this.props.onSelectionChange(this.props.questions.reduce((acc, val) => { acc[val.id] = val.key.startsWith( this.state.category ); return acc; }, { } as IAssociativeArray)); + this.hideByQuestionScoreFilter(); + } + hideByQuestionScoreFilter() { this.setState({ selectionByQuestionScoreEnabled: false @@ -112,6 +121,12 @@ export default class QuestionSelectionList extends React.PureComponent @@ -123,7 +138,11 @@ export default class QuestionSelectionList extends React.PureComponentAll Answered Incorrectly Last Time Filter by Question Score + Category: + + + { this.state.selectionByQuestionScoreEnabled &&