diff --git a/www/src/components/SideDrawer/Form/FieldWrapper.tsx b/www/src/components/SideDrawer/Form/FieldWrapper.tsx index 356e7630..5429bed9 100644 --- a/www/src/components/SideDrawer/Form/FieldWrapper.tsx +++ b/www/src/components/SideDrawer/Form/FieldWrapper.tsx @@ -50,8 +50,8 @@ export default function FieldWrapper({ alignItems="center" className={classes.header} component="label" - id={`sidemodal-label-${name}`} - htmlFor={`sidemodal-field-${name}`} + id={`sidedrawer-label-${name}`} + htmlFor={`sidedrawer-field-${name}`} > {getFieldIcon(type)} diff --git a/www/src/components/SideDrawer/Form/Fields/DatePicker.tsx b/www/src/components/SideDrawer/Form/Fields/DatePicker.tsx index 4c1f1124..fd38ae07 100644 --- a/www/src/components/SideDrawer/Form/Fields/DatePicker.tsx +++ b/www/src/components/SideDrawer/Form/Fields/DatePicker.tsx @@ -29,7 +29,7 @@ export default function DatePicker(props: KeyboardDatePickerProps) { value={transformedValue} label="" hiddenLabel - id={`sidemodal-field-${props.field.name}`} + id={`sidedrawer-field-${props.field.name}`} /> ); } diff --git a/www/src/components/SideDrawer/Form/Fields/DateTimePicker.tsx b/www/src/components/SideDrawer/Form/Fields/DateTimePicker.tsx index f0802ad0..bf9a73cf 100644 --- a/www/src/components/SideDrawer/Form/Fields/DateTimePicker.tsx +++ b/www/src/components/SideDrawer/Form/Fields/DateTimePicker.tsx @@ -32,7 +32,7 @@ export default function DateTimePicker(props: KeyboardDateTimePickerProps) { value={transformedValue} label="" hiddenLabel - id={`sidemodal-field-${props.field.name}`} + id={`sidedrawer-field-${props.field.name}`} /> ); } diff --git a/www/src/components/SideDrawer/Form/Fields/FileUploader.tsx b/www/src/components/SideDrawer/Form/Fields/FileUploader.tsx index 76dafb84..2efb4f11 100644 --- a/www/src/components/SideDrawer/Form/Fields/FileUploader.tsx +++ b/www/src/components/SideDrawer/Form/Fields/FileUploader.tsx @@ -99,7 +99,7 @@ export default function FileUploader({ return ( <> - + Upload file diff --git a/www/src/components/SideDrawer/Form/Fields/ImageUploader.tsx b/www/src/components/SideDrawer/Form/Fields/ImageUploader.tsx index 61c0b9f8..c5f38006 100644 --- a/www/src/components/SideDrawer/Form/Fields/ImageUploader.tsx +++ b/www/src/components/SideDrawer/Form/Fields/ImageUploader.tsx @@ -140,7 +140,7 @@ export default function ImageUploader({ return ( <> - + Upload image diff --git a/www/src/components/SideDrawer/Form/Fields/MultiSelect.tsx b/www/src/components/SideDrawer/Form/Fields/MultiSelect.tsx index c3a5d7ec..8b2fe8cb 100644 --- a/www/src/components/SideDrawer/Form/Fields/MultiSelect.tsx +++ b/www/src/components/SideDrawer/Form/Fields/MultiSelect.tsx @@ -229,7 +229,7 @@ export default function MultiSelect({ value={field.value ?? []} label="" hiddenLabel - id={`sidemodal-field-${field.name}`} + id={`sidedrawer-field-${field.name}`} variant="filled" fullWidth select diff --git a/www/src/components/SideDrawer/Form/Fields/Rating.tsx b/www/src/components/SideDrawer/Form/Fields/Rating.tsx index 3dd9cd4f..3624bb8e 100644 --- a/www/src/components/SideDrawer/Form/Fields/Rating.tsx +++ b/www/src/components/SideDrawer/Form/Fields/Rating.tsx @@ -37,7 +37,7 @@ export default function Rating(props: IRatingProps) { { props.form.setFieldValue(props.field.name, newValue); diff --git a/www/src/components/SideDrawer/Form/Fields/SingleSelect.tsx b/www/src/components/SideDrawer/Form/Fields/SingleSelect.tsx index 30e24bca..2ba9b5b0 100644 --- a/www/src/components/SideDrawer/Form/Fields/SingleSelect.tsx +++ b/www/src/components/SideDrawer/Form/Fields/SingleSelect.tsx @@ -36,7 +36,7 @@ export default function SingleSelect({ }} label="" hiddenLabel - SelectProps={{ labelId: `sidemodal-label-${props.field.name}` }} + SelectProps={{ labelId: `sidedrawer-label-${props.field.name}` }} > {options.map(option => { if (typeof option === "object") diff --git a/www/src/components/SideDrawer/Form/Fields/Text.tsx b/www/src/components/SideDrawer/Form/Fields/Text.tsx index 14a04ee3..f6f6a9d1 100644 --- a/www/src/components/SideDrawer/Form/Fields/Text.tsx +++ b/www/src/components/SideDrawer/Form/Fields/Text.tsx @@ -55,7 +55,7 @@ export default function Text({ fieldVariant = "short", ...props }: ITextProps) { placeholder={props.label as string} {...variantProps} {...props} - id={`sidemodal-field-${props.field.name}`} + id={`sidedrawer-field-${props.field.name}`} label="" hiddenLabel //InputProps={{ disableUnderline: true }} diff --git a/www/src/components/SideDrawer/Form/index.tsx b/www/src/components/SideDrawer/Form/index.tsx index 7d927f31..b6df5683 100644 --- a/www/src/components/SideDrawer/Form/index.tsx +++ b/www/src/components/SideDrawer/Form/index.tsx @@ -1,10 +1,12 @@ -import React, { lazy, Suspense } from "react"; +import React, { lazy, Suspense, useEffect } from "react"; import { Formik, Form as FormikForm, Field } from "formik"; import { MuiPickersUtilsProvider } from "@material-ui/pickers"; import DateFnsUtils from "@date-io/date-fns"; import _isFunction from "lodash/isFunction"; import _isEmpty from "lodash/isEmpty"; +import { useFiretableContext } from "contexts/firetableContext"; + import { Grid, LinearProgress } from "@material-ui/core"; import Autosave from "./Autosave"; @@ -88,6 +90,15 @@ export interface IFormProps { export default function Form({ fields, values }: IFormProps) { const initialValues = getInitialValues(fields); + const { selectedCell } = useFiretableContext(); + useEffect(() => { + if (!selectedCell?.column) return; + const elem = document.getElementById( + `sidedrawer-label-${selectedCell!.column}` + )?.parentNode as HTMLElement; + elem?.scrollIntoView({ behavior: "smooth" }); + }, [selectedCell?.column]); + return (