From 30204a4db526c519feef196bc812154f6ed72395 Mon Sep 17 00:00:00 2001 From: viown <48097677+viown@users.noreply.github.com> Date: Tue, 14 Jan 2025 01:17:56 +0300 Subject: [PATCH] Disable text input if option is disabled --- src/apps/dashboard/routes/logs/index.tsx | 25 ++++++++++++------------ 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/apps/dashboard/routes/logs/index.tsx b/src/apps/dashboard/routes/logs/index.tsx index e1ff781cd7..8ed2633e12 100644 --- a/src/apps/dashboard/routes/logs/index.tsx +++ b/src/apps/dashboard/routes/logs/index.tsx @@ -20,9 +20,7 @@ export const action = async ({ request }: ActionFunctionArgs) => { const { data: config } = await getConfigurationApi(api).getConfiguration(); const enableWarningMessage = formData.get('EnableWarningMessage'); - if (enableWarningMessage) { - config.EnableSlowResponseWarning = formData.get('EnableWarningMessage') === 'on'; - } + config.EnableSlowResponseWarning = enableWarningMessage === 'on'; const responseTime = formData.get('SlowResponseTime'); if (responseTime) { @@ -44,28 +42,28 @@ const Logs = () => { const { isPending: isLogEntriesPending, data: logs } = useServerLogs(); const { isPending: isConfigurationPending, data: defaultConfiguration } = useConfiguration(); const [ loading, setLoading ] = useState(true); - const [ logOptions, setLogOptions ] = useState( {} ); + const [ configuration, setConfiguration ] = useState( {} ); useEffect(() => { if (!isConfigurationPending && defaultConfiguration) { - setLogOptions(defaultConfiguration); + setConfiguration(defaultConfiguration); setLoading(false); } }, [isConfigurationPending, defaultConfiguration]); const setLogWarningMessage = useCallback((_: ChangeEvent, checked: boolean) => { - setLogOptions({ - ...logOptions, + setConfiguration({ + ...configuration, EnableSlowResponseWarning: checked }); - }, [logOptions]); + }, [configuration]); const onResponseTimeChange = useCallback((event: ChangeEvent) => { - setLogOptions({ - ...logOptions, + setConfiguration({ + ...configuration, SlowResponseThresholdMs: parseInt(event.target.value, 10) }); - }, [logOptions]); + }, [configuration]); const onSubmit = useCallback(() => { setIsSubmitting(true); @@ -97,7 +95,7 @@ const Logs = () => { @@ -110,7 +108,8 @@ const Logs = () => { type='number' name={'SlowResponseTime'} label={globalize.translate('LabelSlowResponseTime')} - value={logOptions?.SlowResponseThresholdMs} + value={configuration?.SlowResponseThresholdMs} + disabled={!configuration?.EnableSlowResponseWarning} onChange={onResponseTimeChange} />