From 594e6d0336ab2276f6d26a54c4c7010bab117e73 Mon Sep 17 00:00:00 2001 From: mariaozamiz Date: Fri, 8 Mar 2024 09:06:16 +0100 Subject: [PATCH 1/7] feat: set component in step 3 --- .../SelectMultiCheckboxes.tsx | 50 +++++++++++++++++++ .../3-disaggregates/DisaggregatesStep.tsx | 14 ++---- .../hooks/useDisaggregatesStep.tsx | 7 +-- 3 files changed, 59 insertions(+), 12 deletions(-) create mode 100644 src/webapp/components/selectmulti-checkboxes/SelectMultiCheckboxes.tsx diff --git a/src/webapp/components/selectmulti-checkboxes/SelectMultiCheckboxes.tsx b/src/webapp/components/selectmulti-checkboxes/SelectMultiCheckboxes.tsx new file mode 100644 index 0000000..a50ca68 --- /dev/null +++ b/src/webapp/components/selectmulti-checkboxes/SelectMultiCheckboxes.tsx @@ -0,0 +1,50 @@ +import React, { ChangeEvent } from "react"; +import Select from "@material-ui/core/Select"; +import Checkbox from "@material-ui/core/Checkbox"; +import MenuItem from "@material-ui/core/MenuItem"; +import ListItemText from "@material-ui/core/ListItemText"; +import InputLabel from "@material-ui/core/InputLabel"; +import FormControl from "@material-ui/core/FormControl"; +import styled from "styled-components"; + +type Option = { + text: string; + value: string; +}; + +type Props = { + label: string; + options: Option[]; + value: string[]; + onChange: (event: ChangeEvent) => void; +}; + +export const SelectMultiCheckboxes: React.FC = React.memo( + ({ onChange, options, value, label }) => { + return ( + + {label} + + + ); + } +); + +const StyledFormControl = styled(FormControl)` + min-width: 7.5rem; + max-width: 18.75rem; +`; diff --git a/src/webapp/pages/analysis/steps/3-disaggregates/DisaggregatesStep.tsx b/src/webapp/pages/analysis/steps/3-disaggregates/DisaggregatesStep.tsx index 36293c2..780810a 100644 --- a/src/webapp/pages/analysis/steps/3-disaggregates/DisaggregatesStep.tsx +++ b/src/webapp/pages/analysis/steps/3-disaggregates/DisaggregatesStep.tsx @@ -1,10 +1,10 @@ import React from "react"; import i18n from "$/utils/i18n"; import styled from "styled-components"; -import { MultipleDropdown } from "@eyeseetea/d2-ui-components"; import { useDisaggregatesStep } from "./hooks/useDisaggregatesStep"; import { EmptyState } from "$/webapp/components/empty-state/EmptyState"; import { Typography, Button } from "@material-ui/core"; +import { SelectMultiCheckboxes } from "$/webapp/components/selectmulti-checkboxes/SelectMultiCheckboxes"; interface PageProps { name: string; @@ -19,11 +19,11 @@ export const DisaggregatesStep: React.FC = React.memo(props => { {i18n.t(name)} -