Skip to content

Commit 17aaac6

Browse files
authored
fix: show only available responses in indivudual mode (#729)
for evaluating the responses or showing the results
1 parent 65cabb2 commit 17aaac6

File tree

2 files changed

+26
-8
lines changed

2 files changed

+26
-8
lines changed

src/modules/responseEvaluation/ResponseEvaluation.tsx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { FC } from 'react';
1+
import { FC, useMemo } from 'react';
22
import { useTranslation } from 'react-i18next';
33

44
import Alert from '@mui/material/Alert';
@@ -8,6 +8,7 @@ import Container from '@mui/material/Container';
88
import { RESPONSE_EVALUATION_VIEW_CY } from '@/config/selectors';
99
import useSteps from '@/hooks/useSteps';
1010
import { EvaluationType } from '@/interfaces/evaluation';
11+
import { ResponseVisibilityMode } from '@/interfaces/interactionProcess';
1112
import Pausable from '@/modules/common/Pausable';
1213
import Response from '@/modules/common/response/Response';
1314

@@ -18,16 +19,24 @@ import ResponsesGridContainer, {
1819
import { useActivityContext } from '../context/ActivityContext';
1920
import { useAppDataContext } from '../context/AppDataContext';
2021
import { RatingsProvider } from '../context/RatingsContext';
22+
import { useSettings } from '../context/SettingsContext';
2123
import { VoteProvider } from '../context/VoteContext';
2224
import VoteToolbar from './VoteToolbar';
2325

2426
const ResponseEvaluation: FC = () => {
2527
const { t } = useTranslation();
26-
const { allResponses } = useActivityContext();
28+
const { allResponses, availableResponses } = useActivityContext();
29+
const { activity } = useSettings();
30+
const { mode } = activity;
2731
const { currentStep } = useSteps();
2832
const evaluationType = currentStep?.evaluationType;
2933
const evaluationParameters = currentStep?.evaluationParameters ?? {};
30-
const responses = allResponses;
34+
const responses = useMemo(() => {
35+
if (mode === ResponseVisibilityMode.Individual) {
36+
return availableResponses;
37+
}
38+
return allResponses;
39+
}, [allResponses, availableResponses, mode]);
3140

3241
const { invalidateAppData } = useAppDataContext();
3342

src/modules/results/VoteResults.tsx

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,33 @@ import { FC, useMemo } from 'react';
33
import Stack from '@mui/material/Stack';
44

55
import { sortResponsesByNumberOfVote } from '@/hooks/utils/evaluation';
6+
import { ResponseVisibilityMode } from '@/interfaces/interactionProcess';
67
import Response from '@/modules/common/response/Response';
78

89
import ExportResponsesButton from '../common/ExportRepsonsesButton';
910
import ResponsesGridContainer, {
1011
ResponseGridItem,
1112
} from '../common/ResponsesGrid';
1213
import { useActivityContext } from '../context/ActivityContext';
14+
import { useSettings } from '../context/SettingsContext';
1315
import { useVoteContext } from '../context/VoteContext';
1416

1517
type VoteResultsProps = unknown;
1618

1719
const VoteResults: FC<VoteResultsProps> = () => {
18-
const { allResponses } = useActivityContext();
20+
const { allResponses, availableResponses } = useActivityContext();
1921
const { allVotes } = useVoteContext();
20-
const sortedResponses = useMemo(
21-
() => sortResponsesByNumberOfVote(allResponses, allVotes),
22-
[allResponses, allVotes],
23-
);
22+
const { activity } = useSettings();
23+
const { mode } = activity;
24+
const sortedResponses = useMemo(() => {
25+
let responses;
26+
if (mode === ResponseVisibilityMode.Individual) {
27+
responses = availableResponses;
28+
} else {
29+
responses = allResponses;
30+
}
31+
return sortResponsesByNumberOfVote(responses, allVotes);
32+
}, [allResponses, allVotes, availableResponses, mode]);
2433
return (
2534
<Stack
2635
direction="column"

0 commit comments

Comments
 (0)