From 6b7d0bf5610870dd722702831333baca42e844c7 Mon Sep 17 00:00:00 2001 From: Dima Arnautov Date: Fri, 13 Mar 2020 10:03:38 +0100 Subject: [PATCH] [ML] fix forceInput --- .../create_analytics_advanced_editor.tsx | 9 ++++++--- .../create_analytics_form/create_analytics_form.tsx | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/x-pack/legacy/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/create_analytics_advanced_editor/create_analytics_advanced_editor.tsx b/x-pack/legacy/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/create_analytics_advanced_editor/create_analytics_advanced_editor.tsx index f3c808e43f210c..bce384248b0318 100644 --- a/x-pack/legacy/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/create_analytics_advanced_editor/create_analytics_advanced_editor.tsx +++ b/x-pack/legacy/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/create_analytics_advanced_editor/create_analytics_advanced_editor.tsx @@ -41,7 +41,7 @@ export const CreateAnalyticsAdvancedEditor: FC = ({ ac jobIdValid, } = state.form; - let myInput: any = useRef(); + const forceInput = useRef(null); const onChange = (str: string) => { setAdvancedEditorRawString(str); @@ -55,9 +55,12 @@ export const CreateAnalyticsAdvancedEditor: FC = ({ ac // Temp effect to close the context menu popover on Clone button click useEffect(() => { + if (forceInput.current === null) { + return; + } const evt = document.createEvent('MouseEvents'); evt.initEvent('mouseup', true, true); - myInput.dispatchEvent(evt); + forceInput.current.dispatchEvent(evt); }, []); return ( @@ -109,7 +112,7 @@ export const CreateAnalyticsAdvancedEditor: FC = ({ ac { if (input) { - myInput = input; + forceInput.current = input; } }} disabled={isJobCreated} diff --git a/x-pack/legacy/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/create_analytics_form/create_analytics_form.tsx b/x-pack/legacy/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/create_analytics_form/create_analytics_form.tsx index d3daa165f177d6..e419d8b340e76d 100644 --- a/x-pack/legacy/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/create_analytics_form/create_analytics_form.tsx +++ b/x-pack/legacy/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/create_analytics_form/create_analytics_form.tsx @@ -57,7 +57,7 @@ export const CreateAnalyticsForm: FC = ({ actions, sta const mlContext = useMlContext(); const { form, indexPatternsMap, isAdvancedEditorEnabled, isJobCreated, requestMessages } = state; - let myInput: any = useRef(null); + const forceInput = useRef(null); const { createIndexPattern, @@ -335,9 +335,12 @@ export const CreateAnalyticsForm: FC = ({ actions, sta // Temp effect to close the context menu popover on Clone button click useEffect(() => { + if (forceInput.current === null) { + return; + } const evt = document.createEvent('MouseEvents'); evt.initEvent('mouseup', true, true); - myInput.dispatchEvent(evt); + forceInput.current.dispatchEvent(evt); }, []); return ( @@ -409,7 +412,7 @@ export const CreateAnalyticsForm: FC = ({ actions, sta { if (input) { - myInput = input; + forceInput.current = input; } }} disabled={isJobCreated}