From b122443e91928cb4bc234682f8da14bea5226b05 Mon Sep 17 00:00:00 2001 From: Sidney Alcantara Date: Fri, 22 Oct 2021 17:00:24 +1100 Subject: [PATCH] Derivatives: don't list current field in listener field options --- .../Table/ColumnMenu/FieldSettings/index.tsx | 3 ++- src/components/fields/Derivative/Settings.tsx | 16 +++++++++++----- src/components/fields/types.ts | 4 +--- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/components/Table/ColumnMenu/FieldSettings/index.tsx b/src/components/Table/ColumnMenu/FieldSettings/index.tsx index 0012fd21..1146357c 100644 --- a/src/components/Table/ColumnMenu/FieldSettings/index.tsx +++ b/src/components/Table/ColumnMenu/FieldSettings/index.tsx @@ -2,7 +2,7 @@ import { useState, Suspense, useMemo, createElement } from "react"; import _set from "lodash/set"; import { IMenuModalProps } from ".."; -import { Typography, Divider, Stack } from "@mui/material"; +import { Typography, Stack } from "@mui/material"; import Modal from "components/Modal"; import { getFieldProp } from "components/fields"; @@ -79,6 +79,7 @@ export default function FieldSettings(props: IMenuModalProps) { {createElement(customFieldSettings, { config: newConfig, handleChange, + fieldName, })} )} diff --git a/src/components/fields/Derivative/Settings.tsx b/src/components/fields/Derivative/Settings.tsx index 45e240a3..14e75323 100644 --- a/src/components/fields/Derivative/Settings.tsx +++ b/src/components/fields/Derivative/Settings.tsx @@ -1,22 +1,29 @@ import { lazy, Suspense } from "react"; +import { ISettingsProps } from "../types"; + import { Grid, InputLabel } from "@mui/material"; import MultiSelect from "@rowy/multiselect"; import FieldSkeleton from "components/SideDrawer/Form/FieldSkeleton"; -import { FieldType } from "constants/fields"; import FieldsDropdown from "components/Table/ColumnMenu/FieldsDropdown"; -import { useProjectContext } from "contexts/ProjectContext"; import CodeEditorHelper from "@src/components/CodeEditor/CodeEditorHelper"; +import { FieldType } from "constants/fields"; +import { useProjectContext } from "contexts/ProjectContext"; import { WIKI_LINKS } from "constants/externalLinks"; const CodeEditor = lazy( () => import("components/CodeEditor" /* webpackChunkName: "CodeEditor" */) ); -const Settings = ({ config, handleChange }) => { +export default function Settings({ + config, + handleChange, + fieldName, +}: ISettingsProps) { const { tableState } = useProjectContext(); if (!tableState?.columns) return <>; const columnOptions = Object.values(tableState.columns) + .filter((column) => column.fieldName !== fieldName) .filter((column) => column.type !== FieldType.subTable) .map((c) => ({ label: c.name, value: c.key })); @@ -65,5 +72,4 @@ const Settings = ({ config, handleChange }) => { ); -}; -export default Settings; +} diff --git a/src/components/fields/types.ts b/src/components/fields/types.ts index 9f9932d3..853ea496 100644 --- a/src/components/fields/types.ts +++ b/src/components/fields/types.ts @@ -61,9 +61,7 @@ export interface ISideDrawerFieldProps { export interface ISettingsProps { handleChange: (key: string) => (value: any) => void; config: Record; - // TODO: WRITE TYPES - tables: any; - [key: string]: any; + fieldName: string; } // TODO: WRITE TYPES