From a86bdb5b3190be6414214d36517faa707952ce42 Mon Sep 17 00:00:00 2001 From: Abdul Zahid Date: Tue, 7 Jun 2022 19:35:30 +0200 Subject: [PATCH] Use the onFieldBlur prop for validation state. --- .../fleet_package/browser/source_field.tsx | 33 +++++++------------ 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/x-pack/plugins/synthetics/public/legacy_uptime/components/fleet_package/browser/source_field.tsx b/x-pack/plugins/synthetics/public/legacy_uptime/components/fleet_package/browser/source_field.tsx index 8db1680afb4144..f6a402e963b84a 100644 --- a/x-pack/plugins/synthetics/public/legacy_uptime/components/fleet_package/browser/source_field.tsx +++ b/x-pack/plugins/synthetics/public/legacy_uptime/components/fleet_package/browser/source_field.tsx @@ -84,31 +84,20 @@ export const SourceField = ({ getDefaultTab(defaultConfig, isZipUrlSourceEnabled) ); const [config, setConfig] = useState(defaultConfig); - const [touchedFields, setTouchedFields] = useState>({}); - - const isInlineInvalid = validate?.[ConfigKey.SOURCE_INLINE]?.({ - [ConfigKey.SOURCE_INLINE]: config.inlineScript, - }); useEffect(() => { onChange(config); }, [config, onChange]); - const onFieldTouched = (field: ConfigKey) => { - if (!touchedFields[field]) { - setTouchedFields((existing) => ({ ...existing, [field]: true })); - } - - onFieldBlur(field); - }; + const isSourceInlineInvalid = + validate?.[ConfigKey.SOURCE_INLINE]?.({ + [ConfigKey.SOURCE_INLINE]: config.inlineScript, + }) ?? false; - const isWithInUptime = window.location.pathname.includes('/app/uptime'); - const isZipUrlInvalid = isWithInUptime - ? touchedFields[ConfigKey.SOURCE_ZIP_URL] && !config.zipUrl - : !config.zipUrl; - const isScriptInvalid = isWithInUptime - ? touchedFields[ConfigKey.SOURCE_INLINE] || isInlineInvalid - : !config.inlineScript; + const isZipUrlInvalid = + validate?.[ConfigKey.SOURCE_ZIP_URL]?.({ + [ConfigKey.SOURCE_ZIP_URL]: config.zipUrl, + }) ?? false; const zipUrlLabel = ( setConfig((prevConfig) => ({ ...prevConfig, zipUrl: value })) } - onBlur={() => onFieldTouched(ConfigKey.SOURCE_ZIP_URL)} + onBlur={() => onFieldBlur(ConfigKey.SOURCE_ZIP_URL)} value={config.zipUrl} data-test-subj="syntheticsBrowserZipUrl" /> @@ -295,7 +284,7 @@ export const SourceField = ({ content: ( { setConfig((prevConfig) => ({ ...prevConfig, inlineScript: code })); - onFieldTouched(ConfigKey.SOURCE_INLINE); + onFieldBlur(ConfigKey.SOURCE_INLINE); }} value={config.inlineScript} />