From dfbd9eb719bda4a672884bb7d42c353fde75a5e6 Mon Sep 17 00:00:00 2001 From: ks129 <45097959+ks129@users.noreply.github.com> Date: Tue, 23 Feb 2021 09:46:27 +0200 Subject: Use values from Redux in fields --- src/components/InputTypes/Checkbox.tsx | 18 ++++++++++---- src/components/InputTypes/Radio.tsx | 8 ++++++- src/components/InputTypes/Range.tsx | 8 ++++++- src/components/InputTypes/Select.tsx | 6 ++--- src/components/InputTypes/TextArea.tsx | 12 ++++++++-- src/components/InputTypes/index.tsx | 8 +++---- src/components/Question.tsx | 43 ++++++++++++++++++++-------------- 7 files changed, 70 insertions(+), 33 deletions(-) diff --git a/src/components/InputTypes/Checkbox.tsx b/src/components/InputTypes/Checkbox.tsx index 38b8ee8..9c633f0 100644 --- a/src/components/InputTypes/Checkbox.tsx +++ b/src/components/InputTypes/Checkbox.tsx @@ -3,13 +3,15 @@ import { jsx, css } from "@emotion/react"; import React, { ChangeEvent } from "react"; import colors from "../../colors"; import { multiSelectInput, hiddenInput } from "../../commonStyles"; -import {useSelector} from "react-redux"; -import {FormState} from "../../store/form/types"; +import { useSelector } from "react-redux"; +import { FormState } from "../../store/form/types"; +import { Question } from "../../api/question"; interface CheckboxProps { index: number, option: string, - handler: (event: ChangeEvent) => void + handler: (event: ChangeEvent) => void, + question: Question } const generalStyles = css` @@ -58,10 +60,16 @@ export default function Checkbox(props: CheckboxProps): JSX.Element { const values = useSelector( state => state.values ); + let value = values[props.question.id]; + if (typeof value !== "object" || !value) { + value = {}; + } + const checked = value[`${("000" + props.index).slice(-4)}. ${props.option}`]; + return (