aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar ks129 <[email protected]>2021-02-08 16:23:55 +0200
committerGravatar ks129 <[email protected]>2021-02-08 16:23:55 +0200
commit39fe1ece1366c70f2d139a7a8bec9eec2c41d1da (patch)
tree01cb2bc040efa5c1a9e0290e39f93a0ca3518149 /src
parentToggle visibility instead returning null when no error should be shown (diff)
Use public state instead of event value for compability
Diffstat (limited to 'src')
-rw-r--r--src/components/InputTypes/index.tsx4
-rw-r--r--src/components/Question.tsx22
2 files changed, 5 insertions, 21 deletions
diff --git a/src/components/InputTypes/index.tsx b/src/components/InputTypes/index.tsx
index 04c992b..2b348e0 100644
--- a/src/components/InputTypes/index.tsx
+++ b/src/components/InputTypes/index.tsx
@@ -6,7 +6,7 @@ import Select from "./Select";
import ShortText from "./ShortText";
import TextArea from "./TextArea";
-import React, { ChangeEvent, FocusEvent } from "react";
+import React, { ChangeEvent } from "react";
import { QuestionType } from "../../api/question";
import { QuestionProp } from "../Question";
@@ -18,7 +18,7 @@ const require_options: Array<QuestionType> = [
QuestionType.Range
];
-export default function create_input({ question, public_state }: QuestionProp, handler: (event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void, blurHandler: (event: FocusEvent<HTMLInputElement | HTMLTextAreaElement | HTMLDivElement>) => void): JSX.Element | JSX.Element[] {
+export default function create_input({ question, public_state }: QuestionProp, handler: (event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void, blurHandler: () => void): JSX.Element | JSX.Element[] {
let result: JSX.Element | JSX.Element[];
// eslint-disable-next-line
diff --git a/src/components/Question.tsx b/src/components/Question.tsx
index 25ce04d..567da2c 100644
--- a/src/components/Question.tsx
+++ b/src/components/Question.tsx
@@ -1,6 +1,6 @@
/** @jsx jsx */
import { jsx, css } from "@emotion/react";
-import React, { ChangeEvent, FocusEvent } from "react";
+import React, { ChangeEvent } from "react";
import { Question, QuestionType } from "../api/question";
import { selectable } from "../commonStyles";
@@ -47,25 +47,9 @@ class RenderedQuestion extends React.Component<QuestionProp> {
// This is here to allow dynamic selection between the general handler, and the textarea handler.
handler(_: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>): void {} // eslint-disable-line
- blurHandler(event: FocusEvent<HTMLInputElement | HTMLTextAreaElement | HTMLDivElement>): void {
+ blurHandler(): void {
if (this.props.question.required) {
- let invalid = false;
- switch (this.props.question.type) {
- case QuestionType.ShortText:
- case QuestionType.TextArea:
- if (event.target.value === "") {
- invalid = true;
- }
- break;
-
- case QuestionType.Select:
- if (!this.props.public_state.get("value")) {
- invalid = true;
- }
- break;
- }
-
- if (invalid) {
+ if (!this.props.public_state.get("value")) {
this.setPublicState("error", "Field must be filled.");
this.setPublicState("valid", false);
} else {