From d336c232d692f8ea269c058d3ffe0189aeec0679 Mon Sep 17 00:00:00 2001 From: Oliver Daniel <oliverdaniel00@gmail.com> Date: Tue, 7 Nov 2023 16:14:40 -0500 Subject: [PATCH] prepare form to handle format behaviour --- .../src/modules/Import/settings.tsx | 3 +++ .../src/modules/Import/timestamps.tsx | 19 ++++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/packages/web-console/src/modules/Import/settings.tsx b/packages/web-console/src/modules/Import/settings.tsx index fdf30e4a5..8b5bcda2a 100644 --- a/packages/web-console/src/modules/Import/settings.tsx +++ b/packages/web-console/src/modules/Import/settings.tsx @@ -24,6 +24,9 @@ type FormSchema = { table_name: string partitionBy: keyof typeof PartitionBy delimiter: string + formats: { + behavior: "ADD" | "OVERRIDE" + } } export const Settings = () => { diff --git a/packages/web-console/src/modules/Import/timestamps.tsx b/packages/web-console/src/modules/Import/timestamps.tsx index 8d802697d..d297790a0 100644 --- a/packages/web-console/src/modules/Import/timestamps.tsx +++ b/packages/web-console/src/modules/Import/timestamps.tsx @@ -5,6 +5,7 @@ import { Panel } from "../../components/Panel" import { TimestampFormatList } from "../../components/TimestampFormat/list" import { Nav, NavGroup, Subheader } from "./panel" import { ArrowRightS } from "@styled-icons/remix-line" +import { useFormContext } from "react-hook-form" type Props = { open: boolean @@ -16,11 +17,27 @@ const Wrapper = styled(PaneWrapper)`` const Content = styled(PaneContent)`` export const GlobalTimestampsPanel = ({ open = true, toggle }: Props) => { + const { watch, setValue } = useFormContext() + const override = watch("formats.behavior", "ADD") === "OVERRIDE" return ( <Wrapper> <Subheader> <NavGroup> - <Nav>dummy</Nav> + {open && ( + <Nav + onClick={(e) => { + e.preventDefault() + setValue("formats.behavior", override ? "ADD" : "OVERRIDE") + }} + > + <span>Override builtins</span>{" "} + <small + style={{ + opacity: +override, + }} + >✔</small> + </Nav> + )} </NavGroup> <NavGroup> <Nav