From 1f79416367f0a9378ae642a33f1a19dfee939dde Mon Sep 17 00:00:00 2001 From: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com> Date: Mon, 8 Jan 2024 18:06:20 +0530 Subject: [PATCH] fix: github linting warnings (#1852) Co-authored-by: Matti Nannt --- .../src/components/questions/MultipleChoiceMultiQuestion.tsx | 2 +- .../components/questions/MultipleChoiceSingleQuestion.tsx | 5 +++-- .../surveys/src/components/questions/OpenTextQuestion.tsx | 4 ++-- packages/surveys/src/lib/ttc.ts | 4 ++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/surveys/src/components/questions/MultipleChoiceMultiQuestion.tsx b/packages/surveys/src/components/questions/MultipleChoiceMultiQuestion.tsx index b87a1820c2..3d9fa6e1e6 100644 --- a/packages/surveys/src/components/questions/MultipleChoiceMultiQuestion.tsx +++ b/packages/surveys/src/components/questions/MultipleChoiceMultiQuestion.tsx @@ -55,7 +55,7 @@ export default function MultipleChoiceMultiQuestion({ setOtherValue( (Array.isArray(value) && value.filter((v) => !question.choices.find((c) => c.label === v))[0]) || "" ); - }, [question.id]); + }, [question.id, getChoicesWithoutOtherLabels, question.choices, value]); const questionChoices = useMemo(() => { if (!question.choices) { diff --git a/packages/surveys/src/components/questions/MultipleChoiceSingleQuestion.tsx b/packages/surveys/src/components/questions/MultipleChoiceSingleQuestion.tsx index 000800c299..38c0efae64 100644 --- a/packages/surveys/src/components/questions/MultipleChoiceSingleQuestion.tsx +++ b/packages/surveys/src/components/questions/MultipleChoiceSingleQuestion.tsx @@ -57,8 +57,9 @@ export default function MultipleChoiceSingleQuestion({ ); useEffect(() => { - setOtherSelected(!!value && !question.choices.find((c) => c.label === value)); - }, [question.id]); + const isOtherSelected = value !== undefined && !question.choices.some((choice) => choice.label === value); + setOtherSelected(isOtherSelected); + }, [question.id, question.choices, value]); const otherSpecify = useRef(null); diff --git a/packages/surveys/src/components/questions/OpenTextQuestion.tsx b/packages/surveys/src/components/questions/OpenTextQuestion.tsx index 063823e281..387a315b43 100644 --- a/packages/surveys/src/components/questions/OpenTextQuestion.tsx +++ b/packages/surveys/src/components/questions/OpenTextQuestion.tsx @@ -47,11 +47,11 @@ export default function OpenTextQuestion({ }; const openTextRef = useCallback( (currentElement: HTMLInputElement | HTMLTextAreaElement | null) => { - if (currentElement && autoFocus) { + if (question.id && currentElement && autoFocus) { currentElement.focus(); } }, - [question.id] + [question.id, autoFocus] ); const isInputEmpty = (value: string) => { return question.required && !value?.trim(); diff --git a/packages/surveys/src/lib/ttc.ts b/packages/surveys/src/lib/ttc.ts index 000ae7eba5..4d690b5414 100644 --- a/packages/surveys/src/lib/ttc.ts +++ b/packages/surveys/src/lib/ttc.ts @@ -27,7 +27,7 @@ export const useTtc = ( ) => { useEffect(() => { setStartTime(performance.now()); - }, [questionId]); + }, [questionId, setStartTime]); useEffect(() => { const handleVisibilityChange = () => { @@ -47,5 +47,5 @@ export const useTtc = ( // Clean up the event listener when the component is unmounted document.removeEventListener("visibilitychange", handleVisibilityChange); }; - }, []); + }, [questionId, setStartTime, setTtc, startTime, ttc]); };