From a27df919941254fa3dd7c8f03cb4fa1ea9ba8c40 Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Fri, 2 Oct 2020 14:43:52 +0300 Subject: [PATCH] Fix bug of infinite loader when removing the y axis dimension --- .../editor_frame/editor_frame.tsx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/editor_frame.tsx b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/editor_frame.tsx index d1c5d8a5d7ad35..32fd4461dfc8bc 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/editor_frame.tsx +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/editor_frame.tsx @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import React, { useEffect, useReducer } from 'react'; +import React, { useEffect, useReducer, useState } from 'react'; import { CoreSetup, CoreStart } from 'kibana/public'; import { ReactExpressionRendererType } from '../../../../../../src/plugins/expressions/public'; import { Datasource, FramePublicAPI, Visualization } from '../../types'; @@ -52,6 +52,9 @@ export interface EditorFrameProps { export function EditorFrame(props: EditorFrameProps) { const [state, dispatch] = useReducer(reducer, props, getInitialState); + const [visualizeTriggerFieldContext, setVisualizeTriggerFieldContext] = useState( + props.initialContext + ); const { onError } = props; const activeVisualization = state.visualization.activeId && props.visualizationMap[state.visualization.activeId]; @@ -70,7 +73,7 @@ export function EditorFrame(props: EditorFrameProps) { props.datasourceMap, state.datasourceStates, props.doc?.references, - props.initialContext + visualizeTriggerFieldContext ) .then((result) => { if (!isUnmounted) { @@ -189,16 +192,17 @@ export function EditorFrame(props: EditorFrameProps) { // Get suggestions for visualize field when all datasources are ready useEffect(() => { - if (allLoaded && props.initialContext && !props.doc) { + if (allLoaded && visualizeTriggerFieldContext && !props.doc) { applyVisualizeFieldSuggestions({ datasourceMap: props.datasourceMap, datasourceStates: state.datasourceStates, visualizationMap: props.visualizationMap, activeVisualizationId: state.visualization.activeId, visualizationState: state.visualization.state, - visualizeTriggerFieldContext: props.initialContext, + visualizeTriggerFieldContext, dispatch, }); + setVisualizeTriggerFieldContext(undefined); } // eslint-disable-next-line react-hooks/exhaustive-deps }, [allLoaded]); @@ -298,7 +302,7 @@ export function EditorFrame(props: EditorFrameProps) { ExpressionRenderer={props.ExpressionRenderer} core={props.core} plugins={props.plugins} - visualizeTriggerFieldContext={props.initialContext} + visualizeTriggerFieldContext={visualizeTriggerFieldContext} /> ) }