From edb79d581910a046c87aa3d96359d92e1d56eb2e Mon Sep 17 00:00:00 2001 From: asharonbaltazar <58940073+asharonbaltazar@users.noreply.github.com> Date: Sun, 26 Nov 2023 15:57:18 -0500 Subject: [PATCH] Default Values in `ParamEditor` (#610) * add `defaultvalue` to `Field` types * add `defaultValue` to constants; turn into functions for time values * update constant imports/calls in view components * use `defaultValue`s in `ParamInput` * change `Clear` to `Reset`to better reflect actions * make `defaultValue` optional rather than `undefined` * update forgotten constants * add `defaultValue` to boolean input * change `101010` to `000000` * add `prefix` property to types * implement `prefix` for `ParamInput`s * change `paramField` to `prop` * add `onEditDrawerClose` to `resetParams` * `ViewParamsEditor` omits default values * undo close on reset * move `useSettings` into `ViewWrapper` * change `settings` to include `undefined` --- .../view-params-editor/ParamInput.tsx | 38 +++++--- .../view-params-editor/ViewParamsEditor.tsx | 26 +++--- .../view-params-editor/constants.ts | 88 ++++++++++++++----- .../components/view-params-editor/types.ts | 12 ++- .../client/src/features/operator/Operator.tsx | 4 +- .../src/features/viewers/ViewWrapper.tsx | 6 +- .../features/viewers/backstage/Backstage.tsx | 11 ++- .../src/features/viewers/clock/Clock.tsx | 11 ++- .../features/viewers/countdown/Countdown.tsx | 11 ++- .../src/features/viewers/public/Public.tsx | 23 +++-- .../features/viewers/studio/StudioClock.tsx | 11 ++- .../src/features/viewers/timer/Timer.tsx | 11 ++- 12 files changed, 180 insertions(+), 72 deletions(-) diff --git a/apps/client/src/common/components/view-params-editor/ParamInput.tsx b/apps/client/src/common/components/view-params-editor/ParamInput.tsx index 54fb5a183..9820e040b 100644 --- a/apps/client/src/common/components/view-params-editor/ParamInput.tsx +++ b/apps/client/src/common/components/view-params-editor/ParamInput.tsx @@ -1,5 +1,5 @@ import { useSearchParams } from 'react-router-dom'; -import { Input, Select, Switch } from '@chakra-ui/react'; +import { Input, InputGroup, InputLeftElement, Select, Switch } from '@chakra-ui/react'; import { isStringBoolean } from '../../utils/viewUtils'; @@ -9,16 +9,22 @@ interface EditFormInputProps { paramField: ParamField; } -export default function ParamInput({ paramField }: EditFormInputProps) { +export default function ParamInput(props: EditFormInputProps) { const [searchParams] = useSearchParams(); - const { id, type } = paramField; + const { paramField } = props; + const { id, type, defaultValue } = paramField; if (type === 'option') { const optionFromParams = searchParams.get(id); - const defaultOptionValue = optionFromParams || undefined; + const defaultOptionValue = optionFromParams || defaultValue; return ( - {Object.entries(paramField.values).map(([key, value]) => (