cannot appear as a descendant of
.[39m
+[31m in div (created by EuiTextColor)[39m
+[31m in EuiTextColor (created by EuiText)[39m
+[31m in div (created by EuiText)[39m
+[31m in EuiText (created by NavComponent)[39m
+[31m in p (created by EuiCard)[39m
+[31m in div (created by EuiText)[39m
+[31m in EuiText (created by EuiCard)[39m
+[31m in div (created by EuiCard)[39m
+[31m in div (created by EuiPanel)[39m
+[31m in EuiPanel (created by EuiCard)[39m
+[31m in EuiCard (created by NavComponent)[39m
+[31m in NavComponent (created by IngestContent)[39m
+[31m in div (created by EuiFlexItem)[39m
+[31m in EuiFlexItem (created by IngestContent)[39m
+[31m in div (created by EuiFlexGroup)[39m
+[31m in EuiFlexGroup (created by IngestContent)[39m
+[31m in div (created by EuiResizeObserver)[39m
+[31m in div (created by EuiResizeObserver)[39m
+[31m in EuiResizeObserver (created by EuiAccordion)[39m
+[31m in div (created by EuiAccordion)[39m
+[31m in div (created by EuiAccordion)[39m
+[31m in EuiAccordion (created by IngestContent)[39m
+[31m in IngestContent (created by LeftNav)[39m
+[31m in div (created by EuiFlexGroup)[39m
+[31m in EuiFlexGroup (created by LeftNav)[39m
+[31m in div (created by EuiFlexItem)[39m
+[31m in EuiFlexItem (created by LeftNav)[39m
+[31m in div (created by EuiFlexGroup)[39m
+[31m in EuiFlexGroup (created by LeftNav)[39m
+[31m in div (created by EuiPanel)[39m
+[31m in EuiPanel (created by LeftNav)[39m
+[31m in LeftNav (created by EuiResizableContainer)[39m
+[31m in div (created by EuiResizableContainer)[39m
+[31m in div (created by EuiResizableContainer)[39m
+[31m in EuiResizableContainerContextProvider (created by EuiResizableContainer)[39m
+[31m in EuiResizableContainer (created by ResizableWorkspace)[39m
+[31m in div (created by ResizableWorkspace)[39m
+[31m in div (created by ResizableWorkspace)[39m
+[31m in ResizableWorkspace (created by WorkflowDetail)[39m
+[31m in div (created by EuiFlexItem)[39m
+[31m in EuiFlexItem (created by WorkflowDetail)[39m
+[31m in div (created by EuiFlexGroup)[39m
+[31m in EuiFlexGroup (created by WorkflowDetail)[39m
+[31m in div (created by EuiPageBody)[39m
+[31m in EuiPageBody (created by WorkflowDetail)[39m
+[31m in div (created by EuiPage)[39m
+[31m in EuiPage (created by WorkflowDetail)[39m
+[31m in ReactFlowProvider (created by WorkflowDetail)[39m
+[31m in Formik (created by WorkflowDetail)[39m
+[31m in WorkflowDetail (created by Context.Consumer)[39m
+[31m in Route[39m
+[31m in Switch[39m
+[31m in Router[39m
+[31m in Provider[39m
+[2m[22m
+[2m [0m [90m 54 |[39m[0m[22m
+[2m [0m [90m 55 |[39m [36mreturn[39m {[0m[22m
+[2m [0m[31m[1m>[22m[2m[39m[90m 56 |[39m [33m...[39mrender([0m[22m
+[2m [0m [90m |[39m [31m[1m^[22m[2m[39m[0m[22m
+[2m [0m [90m 57 |[39m [33m<[39m[33mProvider[39m store[33m=[39m{mockStore(mockInput)}[33m>[39m[0m[22m
+[2m [0m [90m 58 |[39m [33m<[39m[33mRouter[39m history[33m=[39m{history}[33m>[39m[0m[22m
+[2m [0m [90m 59 |[39m [33m<[39m[33mSwitch[39m[33m>[39m[0m[22m
+[2m[22m
+[2m [2mat printWarning ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:88:30)[22m[2m[22m
+[2m [2mat error ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:60:5)[22m[2m[22m
+[2m [2mat validateDOMNesting ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:7383:7)[22m[2m[22m
+[2m [2mat createInstance ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:7479:5)[22m[2m[22m
+[2m [2mat completeWork ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:18970:28)[22m[2m[22m
+[2m [2mat completeUnitOfWork ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:22189:16)[22m[2m[22m
+[2m [2mat performUnitOfWork ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:22165:12)[22m[2m[22m
+[2m [2mat workLoopSync ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:22130:22)[22m[2m[22m
+[2m [2mat callback ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:21756:9)[22m[2m[22m
+[2m [2mat eventHandler ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:11089:24)[22m[2m[22m
+[2m [2mat Scheduler_runWithPriority ([22m[2m../../node_modules/scheduler/cjs/scheduler.development.js[2m:653:12)[22m[2m[22m
+[2m [2mat runWithPriority$1 ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:11039:10)[22m[2m[22m
+[2m [2mat flushSyncCallbackQueueImpl ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:11084:7)[22m[2m[22m
+[2m [2mat flushSyncCallbackQueue ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:11072:3)[22m[2m[22m
+[2m [2mat batchedUpdates ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:21862:7)[22m[2m[22m
+[2m [2mat act ([22m[2m../../node_modules/react-dom/cjs/react-dom-test-utils.development.js[2m:929:14)[22m[2m[22m
+[2m [2mat render ([22m[2m../../node_modules/@testing-library/react/dist/pure.js[2m:97:25)[22m[2m[22m
+[2m [2mat renderWithRouter ([22m[2m[0m[36mpublic/pages/workflow_detail/workflow_detail.test.tsx[39m[0m[2m:56:14)[22m[2m[22m
+[2m [2mat call ([22m[2m[0m[36mpublic/pages/workflow_detail/workflow_detail.test.tsx[39m[0m[2m:81:54)[22m[2m[22m
+[2m [2mat tryCatch ([22m[2m../../node_modules/@babel/runtime/helpers/regeneratorRuntime.js[2m:45:16)[22m[2m[22m
+[2m [2mat Generator._invoke ([22m[2m../../node_modules/@babel/runtime/helpers/regeneratorRuntime.js[2m:133:17)[22m[2m[22m
+[2m [2mat Generator.next ([22m[2m../../node_modules/@babel/runtime/helpers/regeneratorRuntime.js[2m:74:21)[22m[2m[22m
+[2m [2mat asyncGeneratorStep ([22m[2m../../node_modules/@babel/runtime/helpers/asyncToGenerator.js[2m:3:17)[22m[2m[22m
+[2m [2mat _next ([22m[2m../../node_modules/@babel/runtime/helpers/asyncToGenerator.js[2m:17:9)[22m[2m[22m
+[2m [2mat [22m[2m../../node_modules/@babel/runtime/helpers/asyncToGenerator.js[2m:22:7[22m[2m[22m
+[2m [2mat Object. ([22m[2m../../node_modules/@babel/runtime/helpers/asyncToGenerator.js[2m:14:12)[22m[2m[22m
+
+ [2m[31mconsole.error[39m[22m
+[31m Warning: validateDOMNesting(...): cannot appear as a descendant of
.[39m
+[31m in div (created by EuiText)[39m
+[31m in EuiText (created by NavComponent)[39m
+[31m in p (created by EuiCard)[39m
+[31m in div (created by EuiText)[39m
+[31m in EuiText (created by EuiCard)[39m
+[31m in div (created by EuiCard)[39m
+[31m in div (created by EuiPanel)[39m
+[31m in EuiPanel (created by EuiCard)[39m
+[31m in EuiCard (created by NavComponent)[39m
+[31m in NavComponent (created by IngestContent)[39m
+[31m in div (created by EuiFlexItem)[39m
+[31m in EuiFlexItem (created by IngestContent)[39m
+[31m in div (created by EuiFlexGroup)[39m
+[31m in EuiFlexGroup (created by IngestContent)[39m
+[31m in div (created by EuiResizeObserver)[39m
+[31m in div (created by EuiResizeObserver)[39m
+[31m in EuiResizeObserver (created by EuiAccordion)[39m
+[31m in div (created by EuiAccordion)[39m
+[31m in div (created by EuiAccordion)[39m
+[31m in EuiAccordion (created by IngestContent)[39m
+[31m in IngestContent (created by LeftNav)[39m
+[31m in div (created by EuiFlexGroup)[39m
+[31m in EuiFlexGroup (created by LeftNav)[39m
+[31m in div (created by EuiFlexItem)[39m
+[31m in EuiFlexItem (created by LeftNav)[39m
+[31m in div (created by EuiFlexGroup)[39m
+[31m in EuiFlexGroup (created by LeftNav)[39m
+[31m in div (created by EuiPanel)[39m
+[31m in EuiPanel (created by LeftNav)[39m
+[31m in LeftNav (created by EuiResizableContainer)[39m
+[31m in div (created by EuiResizableContainer)[39m
+[31m in div (created by EuiResizableContainer)[39m
+[31m in EuiResizableContainerContextProvider (created by EuiResizableContainer)[39m
+[31m in EuiResizableContainer (created by ResizableWorkspace)[39m
+[31m in div (created by ResizableWorkspace)[39m
+[31m in div (created by ResizableWorkspace)[39m
+[31m in ResizableWorkspace (created by WorkflowDetail)[39m
+[31m in div (created by EuiFlexItem)[39m
+[31m in EuiFlexItem (created by WorkflowDetail)[39m
+[31m in div (created by EuiFlexGroup)[39m
+[31m in EuiFlexGroup (created by WorkflowDetail)[39m
+[31m in div (created by EuiPageBody)[39m
+[31m in EuiPageBody (created by WorkflowDetail)[39m
+[31m in div (created by EuiPage)[39m
+[31m in EuiPage (created by WorkflowDetail)[39m
+[31m in ReactFlowProvider (created by WorkflowDetail)[39m
+[31m in Formik (created by WorkflowDetail)[39m
+[31m in WorkflowDetail (created by Context.Consumer)[39m
+[31m in Route[39m
+[31m in Switch[39m
+[31m in Router[39m
+[31m in Provider[39m
+[2m[22m
+[2m [0m [90m 54 |[39m[0m[22m
+[2m [0m [90m 55 |[39m [36mreturn[39m {[0m[22m
+[2m [0m[31m[1m>[22m[2m[39m[90m 56 |[39m [33m...[39mrender([0m[22m
+[2m [0m [90m |[39m [31m[1m^[22m[2m[39m[0m[22m
+[2m [0m [90m 57 |[39m [33m<[39m[33mProvider[39m store[33m=[39m{mockStore(mockInput)}[33m>[39m[0m[22m
+[2m [0m [90m 58 |[39m [33m<[39m[33mRouter[39m history[33m=[39m{history}[33m>[39m[0m[22m
+[2m [0m [90m 59 |[39m [33m<[39m[33mSwitch[39m[33m>[39m[0m[22m
+[2m[22m
+[2m [2mat printWarning ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:88:30)[22m[2m[22m
+[2m [2mat error ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:60:5)[22m[2m[22m
+[2m [2mat validateDOMNesting ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:7383:7)[22m[2m[22m
+[2m [2mat createInstance ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:7479:5)[22m[2m[22m
+[2m [2mat completeWork ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:18970:28)[22m[2m[22m
+[2m [2mat completeUnitOfWork ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:22189:16)[22m[2m[22m
+[2m [2mat performUnitOfWork ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:22165:12)[22m[2m[22m
+[2m [2mat workLoopSync ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:22130:22)[22m[2m[22m
+[2m [2mat callback ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:21756:9)[22m[2m[22m
+[2m [2mat eventHandler ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:11089:24)[22m[2m[22m
+[2m [2mat Scheduler_runWithPriority ([22m[2m../../node_modules/scheduler/cjs/scheduler.development.js[2m:653:12)[22m[2m[22m
+[2m [2mat runWithPriority$1 ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:11039:10)[22m[2m[22m
+[2m [2mat flushSyncCallbackQueueImpl ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:11084:7)[22m[2m[22m
+[2m [2mat flushSyncCallbackQueue ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:11072:3)[22m[2m[22m
+[2m [2mat batchedUpdates ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:21862:7)[22m[2m[22m
+[2m [2mat act ([22m[2m../../node_modules/react-dom/cjs/react-dom-test-utils.development.js[2m:929:14)[22m[2m[22m
+[2m [2mat render ([22m[2m../../node_modules/@testing-library/react/dist/pure.js[2m:97:25)[22m[2m[22m
+[2m [2mat renderWithRouter ([22m[2m[0m[36mpublic/pages/workflow_detail/workflow_detail.test.tsx[39m[0m[2m:56:14)[22m[2m[22m
+[2m [2mat call ([22m[2m[0m[36mpublic/pages/workflow_detail/workflow_detail.test.tsx[39m[0m[2m:81:54)[22m[2m[22m
+[2m [2mat tryCatch ([22m[2m../../node_modules/@babel/runtime/helpers/regeneratorRuntime.js[2m:45:16)[22m[2m[22m
+[2m [2mat Generator._invoke ([22m[2m../../node_modules/@babel/runtime/helpers/regeneratorRuntime.js[2m:133:17)[22m[2m[22m
+[2m [2mat Generator.next ([22m[2m../../node_modules/@babel/runtime/helpers/regeneratorRuntime.js[2m:74:21)[22m[2m[22m
+[2m [2mat asyncGeneratorStep ([22m[2m../../node_modules/@babel/runtime/helpers/asyncToGenerator.js[2m:3:17)[22m[2m[22m
+[2m [2mat _next ([22m[2m../../node_modules/@babel/runtime/helpers/asyncToGenerator.js[2m:17:9)[22m[2m[22m
+[2m [2mat [22m[2m../../node_modules/@babel/runtime/helpers/asyncToGenerator.js[2m:22:7[22m[2m[22m
+[2m [2mat Object. ([22m[2m../../node_modules/@babel/runtime/helpers/asyncToGenerator.js[2m:14:12)[22m[2m[22m
+
+ [2m[31mconsole.error[39m[22m
+[31m Warning: An update to Formik inside a test was not wrapped in act(...).[39m
+[31m [39m
+[31m When testing, code that causes React state updates should be wrapped into act(...):[39m
+[31m [39m
+[31m act(() => {[39m
+[31m /* fire events that update state */[39m
+[31m });[39m
+[31m /* assert on the output */[39m
+[31m [39m
+[31m This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act[39m
+[31m in Formik (created by WorkflowDetail)[39m
+[31m in WorkflowDetail (created by Context.Consumer)[39m
+[31m in Route[39m
+[31m in Switch[39m
+[31m in Router[39m
+[31m in Provider[39m
+[2m[22m
+[2m [2mat printWarning ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:88:30)[22m[2m[22m
+[2m [2mat error ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:60:5)[22m[2m[22m
+[2m [2mat warnIfNotCurrentlyActingUpdatesInDev ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:23284:7)[22m[2m[22m
+[2m [2mat setIteration ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:15656:9)[22m[2m[22m
+[2m [2mat dispatch ([22m[2mnode_modules/formik/src/Formik.tsx[2m:193:36)[22m[2m[22m
+[2m [2mat [22m[2mnode_modules/formik/src/Formik.tsx[2m:338:11[22m[2m[22m
+
+ [2m[31mconsole.error[39m[22m
+[31m Warning: An update to Formik inside a test was not wrapped in act(...).[39m
+[31m [39m
+[31m When testing, code that causes React state updates should be wrapped into act(...):[39m
+[31m [39m
+[31m act(() => {[39m
+[31m /* fire events that update state */[39m
+[31m });[39m
+[31m /* assert on the output */[39m
+[31m [39m
+[31m This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act[39m
+[31m in Formik (created by WorkflowDetail)[39m
+[31m in WorkflowDetail (created by Context.Consumer)[39m
+[31m in Route[39m
+[31m in Switch[39m
+[31m in Router[39m
+[31m in Provider[39m
+[2m[22m
+[2m [2mat printWarning ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:88:30)[22m[2m[22m
+[2m [2mat error ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:60:5)[22m[2m[22m
+[2m [2mat warnIfNotCurrentlyActingUpdatesInDev ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:23284:7)[22m[2m[22m
+[2m [2mat setIteration ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:15656:9)[22m[2m[22m
+[2m [2mat dispatch ([22m[2mnode_modules/formik/src/Formik.tsx[2m:193:36)[22m[2m[22m
+[2m [2mat [22m[2mnode_modules/formik/src/Formik.tsx[2m:339:11[22m[2m[22m
+
+ [2m[31mconsole.error[39m[22m
+[31m Warning: An update to Formik inside a test was not wrapped in act(...).[39m
+[31m [39m
+[31m When testing, code that causes React state updates should be wrapped into act(...):[39m
+[31m [39m
+[31m act(() => {[39m
+[31m /* fire events that update state */[39m
+[31m });[39m
+[31m /* assert on the output */[39m
+[31m [39m
+[31m This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act[39m
+[31m in Formik (created by WorkflowDetail)[39m
+[31m in WorkflowDetail (created by Context.Consumer)[39m
+[31m in Route[39m
+[31m in Switch[39m
+[31m in Router[39m
+[31m in Provider[39m
+[2m[22m
+[2m [2mat printWarning ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:88:30)[22m[2m[22m
+[2m [2mat error ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:60:5)[22m[2m[22m
+[2m [2mat warnIfNotCurrentlyActingUpdatesInDev ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:23284:7)[22m[2m[22m
+[2m [2mat setIteration ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:15656:9)[22m[2m[22m
+[2m [2mat dispatch ([22m[2mnode_modules/formik/src/Formik.tsx[2m:193:36)[22m[2m[22m
+[2m [2mat [22m[2mnode_modules/formik/src/Formik.tsx[2m:338:11[22m[2m[22m
+
+ [2m[31mconsole.error[39m[22m
+[31m Warning: An update to Formik inside a test was not wrapped in act(...).[39m
+[31m [39m
+[31m When testing, code that causes React state updates should be wrapped into act(...):[39m
+[31m [39m
+[31m act(() => {[39m
+[31m /* fire events that update state */[39m
+[31m });[39m
+[31m /* assert on the output */[39m
+[31m [39m
+[31m This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act[39m
+[31m in Formik (created by WorkflowDetail)[39m
+[31m in WorkflowDetail (created by Context.Consumer)[39m
+[31m in Route[39m
+[31m in Switch[39m
+[31m in Router[39m
+[31m in Provider[39m
+[2m[22m
+[2m [2mat printWarning ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:88:30)[22m[2m[22m
+[2m [2mat error ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:60:5)[22m[2m[22m
+[2m [2mat warnIfNotCurrentlyActingUpdatesInDev ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:23284:7)[22m[2m[22m
+[2m [2mat setIteration ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:15656:9)[22m[2m[22m
+[2m [2mat dispatch ([22m[2mnode_modules/formik/src/Formik.tsx[2m:193:36)[22m[2m[22m
+[2m [2mat [22m[2mnode_modules/formik/src/Formik.tsx[2m:339:11[22m[2m[22m
+
+ [2m[31mconsole.error[39m[22m
+[31m Warning: An update to Formik inside a test was not wrapped in act(...).[39m
+[31m [39m
+[31m When testing, code that causes React state updates should be wrapped into act(...):[39m
+[31m [39m
+[31m act(() => {[39m
+[31m /* fire events that update state */[39m
+[31m });[39m
+[31m /* assert on the output */[39m
+[31m [39m
+[31m This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act[39m
+[31m in Formik (created by WorkflowDetail)[39m
+[31m in WorkflowDetail (created by Context.Consumer)[39m
+[31m in Route[39m
+[31m in Switch[39m
+[31m in Router[39m
+[31m in Provider[39m
+[2m[22m
+[2m [2mat printWarning ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:88:30)[22m[2m[22m
+[2m [2mat error ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:60:5)[22m[2m[22m
+[2m [2mat warnIfNotCurrentlyActingUpdatesInDev ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:23284:7)[22m[2m[22m
+[2m [2mat setIteration ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:15656:9)[22m[2m[22m
+[2m [2mat dispatch ([22m[2mnode_modules/formik/src/Formik.tsx[2m:193:36)[22m[2m[22m
+[2m [2mat [22m[2mnode_modules/formik/src/Formik.tsx[2m:338:11[22m[2m[22m
+
+ [2m[31mconsole.error[39m[22m
+[31m Warning: An update to Formik inside a test was not wrapped in act(...).[39m
+[31m [39m
+[31m When testing, code that causes React state updates should be wrapped into act(...):[39m
+[31m [39m
+[31m act(() => {[39m
+[31m /* fire events that update state */[39m
+[31m });[39m
+[31m /* assert on the output */[39m
+[31m [39m
+[31m This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act[39m
+[31m in Formik (created by WorkflowDetail)[39m
+[31m in WorkflowDetail (created by Context.Consumer)[39m
+[31m in Route[39m
+[31m in Switch[39m
+[31m in Router[39m
+[31m in Provider[39m
+[2m[22m
+[2m [2mat printWarning ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:88:30)[22m[2m[22m
+[2m [2mat error ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:60:5)[22m[2m[22m
+[2m [2mat warnIfNotCurrentlyActingUpdatesInDev ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:23284:7)[22m[2m[22m
+[2m [2mat setIteration ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:15656:9)[22m[2m[22m
+[2m [2mat dispatch ([22m[2mnode_modules/formik/src/Formik.tsx[2m:193:36)[22m[2m[22m
+[2m [2mat [22m[2mnode_modules/formik/src/Formik.tsx[2m:339:11[22m[2m[22m
+
+ [2m[31mconsole.error[39m[22m
+[31m Warning: An update to Formik inside a test was not wrapped in act(...).[39m
+[31m [39m
+[31m When testing, code that causes React state updates should be wrapped into act(...):[39m
+[31m [39m
+[31m act(() => {[39m
+[31m /* fire events that update state */[39m
+[31m });[39m
+[31m /* assert on the output */[39m
+[31m [39m
+[31m This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act[39m
+[31m in Formik (created by WorkflowDetail)[39m
+[31m in WorkflowDetail (created by Context.Consumer)[39m
+[31m in Route[39m
+[31m in Switch[39m
+[31m in Router[39m
+[31m in Provider[39m
+[2m[22m
+[2m [2mat printWarning ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:88:30)[22m[2m[22m
+[2m [2mat error ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:60:5)[22m[2m[22m
+[2m [2mat warnIfNotCurrentlyActingUpdatesInDev ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:23284:7)[22m[2m[22m
+[2m [2mat setIteration ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:15656:9)[22m[2m[22m
+[2m [2mat dispatch ([22m[2mnode_modules/formik/src/Formik.tsx[2m:193:36)[22m[2m[22m
+[2m [2mat [22m[2mnode_modules/formik/src/Formik.tsx[2m:338:11[22m[2m[22m
+
+ [2m[31mconsole.error[39m[22m
+[31m Warning: An update to Formik inside a test was not wrapped in act(...).[39m
+[31m [39m
+[31m When testing, code that causes React state updates should be wrapped into act(...):[39m
+[31m [39m
+[31m act(() => {[39m
+[31m /* fire events that update state */[39m
+[31m });[39m
+[31m /* assert on the output */[39m
+[31m [39m
+[31m This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act[39m
+[31m in Formik (created by WorkflowDetail)[39m
+[31m in WorkflowDetail (created by Context.Consumer)[39m
+[31m in Route[39m
+[31m in Switch[39m
+[31m in Router[39m
+[31m in Provider[39m
+[2m[22m
+[2m [2mat printWarning ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:88:30)[22m[2m[22m
+[2m [2mat error ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:60:5)[22m[2m[22m
+[2m [2mat warnIfNotCurrentlyActingUpdatesInDev ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:23284:7)[22m[2m[22m
+[2m [2mat setIteration ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:15656:9)[22m[2m[22m
+[2m [2mat dispatch ([22m[2mnode_modules/formik/src/Formik.tsx[2m:193:36)[22m[2m[22m
+[2m [2mat [22m[2mnode_modules/formik/src/Formik.tsx[2m:339:11[22m[2m[22m
+
+ [2m[31mconsole.error[39m[22m
+[31m Warning: An update to Formik inside a test was not wrapped in act(...).[39m
+[31m [39m
+[31m When testing, code that causes React state updates should be wrapped into act(...):[39m
+[31m [39m
+[31m act(() => {[39m
+[31m /* fire events that update state */[39m
+[31m });[39m
+[31m /* assert on the output */[39m
+[31m [39m
+[31m This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act[39m
+[31m in Formik (created by WorkflowDetail)[39m
+[31m in WorkflowDetail (created by Context.Consumer)[39m
+[31m in Route[39m
+[31m in Switch[39m
+[31m in Router[39m
+[31m in Provider[39m
+[2m[22m
+[2m [2mat printWarning ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:88:30)[22m[2m[22m
+[2m [2mat error ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:60:5)[22m[2m[22m
+[2m [2mat warnIfNotCurrentlyActingUpdatesInDev ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:23284:7)[22m[2m[22m
+[2m [2mat setIteration ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:15656:9)[22m[2m[22m
+[2m [2mat dispatch ([22m[2mnode_modules/formik/src/Formik.tsx[2m:193:36)[22m[2m[22m
+[2m [2mat [22m[2mnode_modules/formik/src/Formik.tsx[2m:338:11[22m[2m[22m
+
+ [2m[31mconsole.error[39m[22m
+[31m Warning: An update to Formik inside a test was not wrapped in act(...).[39m
+[31m [39m
+[31m When testing, code that causes React state updates should be wrapped into act(...):[39m
+[31m [39m
+[31m act(() => {[39m
+[31m /* fire events that update state */[39m
+[31m });[39m
+[31m /* assert on the output */[39m
+[31m [39m
+[31m This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act[39m
+[31m in Formik (created by WorkflowDetail)[39m
+[31m in WorkflowDetail (created by Context.Consumer)[39m
+[31m in Route[39m
+[31m in Switch[39m
+[31m in Router[39m
+[31m in Provider[39m
+[2m[22m
+[2m [2mat printWarning ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:88:30)[22m[2m[22m
+[2m [2mat error ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:60:5)[22m[2m[22m
+[2m [2mat warnIfNotCurrentlyActingUpdatesInDev ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:23284:7)[22m[2m[22m
+[2m [2mat setIteration ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:15656:9)[22m[2m[22m
+[2m [2mat dispatch ([22m[2mnode_modules/formik/src/Formik.tsx[2m:193:36)[22m[2m[22m
+[2m [2mat [22m[2mnode_modules/formik/src/Formik.tsx[2m:339:11[22m[2m[22m
+
+ [2m[31mconsole.error[39m[22m
+[31m Warning: An update to Formik inside a test was not wrapped in act(...).[39m
+[31m [39m
+[31m When testing, code that causes React state updates should be wrapped into act(...):[39m
+[31m [39m
+[31m act(() => {[39m
+[31m /* fire events that update state */[39m
+[31m });[39m
+[31m /* assert on the output */[39m
+[31m [39m
+[31m This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act[39m
+[31m in Formik (created by WorkflowDetail)[39m
+[31m in WorkflowDetail (created by Context.Consumer)[39m
+[31m in Route[39m
+[31m in Switch[39m
+[31m in Router[39m
+[31m in Provider[39m
+[2m[22m
+[2m [2mat printWarning ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:88:30)[22m[2m[22m
+[2m [2mat error ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:60:5)[22m[2m[22m
+[2m [2mat warnIfNotCurrentlyActingUpdatesInDev ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:23284:7)[22m[2m[22m
+[2m [2mat setIteration ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:15656:9)[22m[2m[22m
+[2m [2mat dispatch ([22m[2mnode_modules/formik/src/Formik.tsx[2m:193:36)[22m[2m[22m
+[2m [2mat [22m[2mnode_modules/formik/src/Formik.tsx[2m:338:11[22m[2m[22m
+
+ [2m[31mconsole.error[39m[22m
+[31m Warning: An update to Formik inside a test was not wrapped in act(...).[39m
+[31m [39m
+[31m When testing, code that causes React state updates should be wrapped into act(...):[39m
+[31m [39m
+[31m act(() => {[39m
+[31m /* fire events that update state */[39m
+[31m });[39m
+[31m /* assert on the output */[39m
+[31m [39m
+[31m This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act[39m
+[31m in Formik (created by WorkflowDetail)[39m
+[31m in WorkflowDetail (created by Context.Consumer)[39m
+[31m in Route[39m
+[31m in Switch[39m
+[31m in Router[39m
+[31m in Provider[39m
+[2m[22m
+[2m [2mat printWarning ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:88:30)[22m[2m[22m
+[2m [2mat error ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:60:5)[22m[2m[22m
+[2m [2mat warnIfNotCurrentlyActingUpdatesInDev ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:23284:7)[22m[2m[22m
+[2m [2mat setIteration ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:15656:9)[22m[2m[22m
+[2m [2mat dispatch ([22m[2mnode_modules/formik/src/Formik.tsx[2m:193:36)[22m[2m[22m
+[2m [2mat [22m[2mnode_modules/formik/src/Formik.tsx[2m:339:11[22m[2m[22m
+
+ [2m[31mconsole.error[39m[22m
+[31m Warning: An update to Formik inside a test was not wrapped in act(...).[39m
+[31m [39m
+[31m When testing, code that causes React state updates should be wrapped into act(...):[39m
+[31m [39m
+[31m act(() => {[39m
+[31m /* fire events that update state */[39m
+[31m });[39m
+[31m /* assert on the output */[39m
+[31m [39m
+[31m This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act[39m
+[31m in Formik (created by WorkflowDetail)[39m
+[31m in WorkflowDetail (created by Context.Consumer)[39m
+[31m in Route[39m
+[31m in Switch[39m
+[31m in Router[39m
+[31m in Provider[39m
+[2m[22m
+[2m [2mat printWarning ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:88:30)[22m[2m[22m
+[2m [2mat error ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:60:5)[22m[2m[22m
+[2m [2mat warnIfNotCurrentlyActingUpdatesInDev ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:23284:7)[22m[2m[22m
+[2m [2mat setIteration ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:15656:9)[22m[2m[22m
+[2m [2mat dispatch ([22m[2mnode_modules/formik/src/Formik.tsx[2m:193:36)[22m[2m[22m
+[2m [2mat [22m[2mnode_modules/formik/src/Formik.tsx[2m:338:11[22m[2m[22m
+
+ [2m[31mconsole.error[39m[22m
+[31m Warning: An update to Formik inside a test was not wrapped in act(...).[39m
+[31m [39m
+[31m When testing, code that causes React state updates should be wrapped into act(...):[39m
+[31m [39m
+[31m act(() => {[39m
+[31m /* fire events that update state */[39m
+[31m });[39m
+[31m /* assert on the output */[39m
+[31m [39m
+[31m This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act[39m
+[31m in Formik (created by WorkflowDetail)[39m
+[31m in WorkflowDetail (created by Context.Consumer)[39m
+[31m in Route[39m
+[31m in Switch[39m
+[31m in Router[39m
+[31m in Provider[39m
+[2m[22m
+[2m [2mat printWarning ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:88:30)[22m[2m[22m
+[2m [2mat error ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:60:5)[22m[2m[22m
+[2m [2mat warnIfNotCurrentlyActingUpdatesInDev ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:23284:7)[22m[2m[22m
+[2m [2mat setIteration ([22m[2m../../node_modules/react-dom/cjs/react-dom.development.js[2m:15656:9)[22m[2m[22m
+[2m [2mat dispatch ([22m[2mnode_modules/formik/src/Formik.tsx[2m:193:36)[22m[2m[22m
+[2m [2mat [22m[2mnode_modules/formik/src/Formik.tsx[2m:339:11[22m[2m[22m
+
+ [2m[31mconsole.error[39m[22m
+[31m Warning: You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. [39m
+[2m[22m
+[2m [2mat console.call [as error] ([22m[2m../../node_modules/@testing-library/react/dist/act-compat.js[2m:55:34)[22m[2m[22m
+[2m [2mat printWarning ([22m[2m../../node_modules/react-dom/cjs/react-dom-test-utils.development.js[2m:87:30)[22m[2m[22m
+[2m [2mat error ([22m[2m../../node_modules/react-dom/cjs/react-dom-test-utils.development.js[2m:59:5)[22m[2m[22m
+[2m [2mat onDone ([22m[2m../../node_modules/react-dom/cjs/react-dom-test-utils.development.js[2m:921:9)[22m[2m[22m
+[2m [2mat [22m[2m../../node_modules/react-dom/cjs/react-dom-test-utils.development.js[2m:960:13[22m[2m[22m
+
+ [2m[31mconsole.error[39m[22m
+[31m Warning: You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. [39m
+[2m[22m
+[2m [2mat printWarning ([22m[2m../../node_modules/react-dom/cjs/react-dom-test-utils.development.js[2m:87:30)[22m[2m[22m
+[2m [2mat error ([22m[2m../../node_modules/react-dom/cjs/react-dom-test-utils.development.js[2m:59:5)[22m[2m[22m
+[2m [2mat onDone ([22m[2m../../node_modules/react-dom/cjs/react-dom-test-utils.development.js[2m:921:9)[22m[2m[22m
+[2m [2mat [22m[2m../../node_modules/react-dom/cjs/react-dom-test-utils.development.js[2m:960:13[22m[2m[22m
+
+
+[1mTest Suites: [22m[1m[31m1 failed[39m[22m, [1m[32m5 passed[39m[22m, 6 total
+[1mTests: [22m[1m[31m1 failed[39m[22m, [1m[32m29 passed[39m[22m, 30 total
+[1mSnapshots: [22m0 total
+[1mTime:[22m [1m[33m27.078 s[39m[22m
+[2mRan all test suites[22m[2m.[22m
+[2K[1G[31merror[39m Command failed with exit code 1.
diff --git a/public/pages/workflow_detail/left_nav/left_nav.tsx b/public/pages/workflow_detail/left_nav/left_nav.tsx
index 337759b5..20cb3106 100644
--- a/public/pages/workflow_detail/left_nav/left_nav.tsx
+++ b/public/pages/workflow_detail/left_nav/left_nav.tsx
@@ -58,7 +58,6 @@ import {
reduceToTemplate,
sleep,
uiConfigToFormik,
- USE_NEW_HOME_PAGE,
useDataSourceVersion,
useMissingDataSourceVersion,
} from '../../../utils';
@@ -86,6 +85,7 @@ interface LeftNavProps {
setSearchReadonly: (readonly: boolean) => void;
setIsProvisioning: (isProvisioning: boolean) => void;
onClose: () => void;
+ isConsolePanelOpen: boolean;
}
const SUCCESS_TOAST_ID = 'success_toast_id';
@@ -704,6 +704,7 @@ export function LeftNav(props: LeftNavProps) {
.unwrap()
.then((resp: SimulateIngestPipelineResponseVerbose) => {
const ingestPipelineErrors = getIngestPipelineErrors(resp);
+
// The errors map may be empty; in which case, this dispatch will clear
// any older errors.
dispatch(
@@ -797,10 +798,7 @@ export function LeftNav(props: LeftNavProps) {
grow={false}
className="workspace-panel left-nav-static-width"
borderRadius="l"
- style={{
- paddingBottom: '48px',
- marginRight: '0px',
- }}
+ style={{ paddingBottom: '12px' }}
>
@@ -831,7 +829,6 @@ export function LeftNav(props: LeftNavProps) {
style={{
height: '100%',
gap: '16px',
- //marginLeft: '12px', TODO: change this value to adjust global margin of left nav.
}}
>
-
+
+
+
{onIngestAndSearchUpdateRequired && (
)}
-
+
{onIngestAndUnprovisioned &&
diff --git a/public/pages/workflow_detail/resizable_workspace.tsx b/public/pages/workflow_detail/resizable_workspace.tsx
index ceb6e3bd..04b2d7ee 100644
--- a/public/pages/workflow_detail/resizable_workspace.tsx
+++ b/public/pages/workflow_detail/resizable_workspace.tsx
@@ -2,15 +2,27 @@
* Copyright OpenSearch Contributors
* SPDX-License-Identifier: Apache-2.0
*/
+/*
+ * Copyright OpenSearch Contributors
+ * SPDX-License-Identifier: Apache-2.0
+ */
-import React, { useEffect, useRef, useState } from 'react';
+import React, {
+ ReactNode,
+ useEffect,
+ useRef,
+ useState,
+ useCallback,
+} from 'react';
import { isEmpty } from 'lodash';
import {
EuiCodeBlock,
EuiEmptyPrompt,
EuiFlexGroup,
EuiFlexItem,
+ EuiPanel,
EuiResizableContainer,
+ EuiSmallButtonIcon,
EuiText,
} from '@elastic/eui';
import {
@@ -21,14 +33,21 @@ import {
WorkflowConfig,
customStringify,
} from '../../../common';
-import { isValidUiWorkflow, reduceToTemplate } from '../../utils';
+import {
+ aggregateConsoleErrors,
+ isValidUiWorkflow,
+ reduceToTemplate,
+} from '../../utils';
import { ComponentInput } from './component_input';
import { Tools } from './tools';
import { LeftNav } from './left_nav';
+import { AppState } from '../../store';
+import { Console } from './tools/console';
// styling
import './workspace/workspace-styles.scss';
import '../../global-styles.scss';
+import { useSelector } from 'react-redux';
interface ResizableWorkspaceProps {
workflow: Workflow | undefined;
@@ -60,6 +79,13 @@ export function ResizableWorkspace(props: ResizableWorkspaceProps) {
}
}, [props.uiConfig?.ingest?.enabled]);
+ // Always start with console closed when workflow changes
+ const [isConsolePanelOpen, setIsConsolePanelOpen] = useState(false);
+
+ useEffect(() => {
+ setIsConsolePanelOpen(false);
+ }, [props.workflow?.id]);
+
const [leftNavOpen, setLeftNavOpen] = useState(true);
// misc ingest-related state required to be shared across the left nav
@@ -78,13 +104,24 @@ export function ResizableWorkspace(props: ResizableWorkspaceProps) {
const onIngest = selectedComponentId.startsWith('ingest');
const onSearch = selectedComponentId.startsWith('search');
- const collapseFnHorizontal = useRef(
- (id: string, options: { direction: 'left' | 'right' }) => {}
- );
- const onToggleToolsChange = () => {
- collapseFnHorizontal.current(TOOLS_PANEL_ID, { direction: 'right' });
+ // Panel refs
+ const toolsPanelRef = useRef(null);
+ const containerRef = useRef(null);
+
+ const collapseFnHorizontal = useRef<
+ (id: string, options: { direction: 'left' | 'right' }) => void
+ >(() => {});
+
+ const onToggleToolsChange = useCallback(() => {
+ if (typeof collapseFnHorizontal.current === 'function') {
+ collapseFnHorizontal.current(TOOLS_PANEL_ID, { direction: 'right' });
+ }
setIsToolsPanelOpen(!isToolsPanelOpen);
- };
+ }, [isToolsPanelOpen]);
+
+ const onToggleConsoleChange = useCallback(() => {
+ setIsConsolePanelOpen(!isConsolePanelOpen);
+ }, [isConsolePanelOpen]);
// Inspector panel state vars. Actions taken in the form can update the Inspector panel,
// hence we keep top-level vars here to pass to both form and inspector components.
@@ -93,6 +130,38 @@ export function ResizableWorkspace(props: ResizableWorkspaceProps) {
INSPECTOR_TAB_ID
>(INSPECTOR_TAB_ID.TEST);
+ const { opensearch, workflows } = useSelector((state: AppState) => state);
+ const opensearchError = opensearch.errorMessage;
+ const workflowsError = workflows.errorMessage;
+ const {
+ ingestPipeline: ingestPipelineErrors,
+ searchPipeline: searchPipelineErrors,
+ } = useSelector((state: AppState) => state.errors);
+ // Error display messages and actual error count
+ const [consoleErrorMessages, setConsoleErrorMessages] = useState<
+ (string | ReactNode)[]
+ >([]);
+ const [actualErrorCount, setActualErrorCount] = useState(0);
+
+ useEffect(() => {
+ const { errorMessages, errorCount } = aggregateConsoleErrors(
+ opensearchError,
+ workflowsError,
+ ingestPipelineErrors,
+ searchPipelineErrors,
+ props.workflow?.error
+ );
+
+ setConsoleErrorMessages(errorMessages);
+ setActualErrorCount(errorCount);
+ }, [
+ opensearchError,
+ workflowsError,
+ ingestPipelineErrors,
+ searchPipelineErrors,
+ props.workflow?.error,
+ ]);
+
// is valid workflow state, + associated hook to set it as such
const [isValidWorkflow, setIsValidWorkflow] = useState(true);
useEffect(() => {
@@ -109,94 +178,287 @@ export function ResizableWorkspace(props: ResizableWorkspaceProps) {
setSelectedInspectorTabId(INSPECTOR_TAB_ID.TEST);
}
+ // Force no page overflow
+ useEffect(() => {
+ // Store original styles
+ const originalBodyOverflow = document.body.style.overflow;
+ const originalHtmlOverflow = document.documentElement.style.overflow;
+
+ // Force no scrollbars
+ document.body.style.overflow = 'hidden';
+ document.documentElement.style.overflow = 'hidden';
+
+ // Also fix any EUI containers that might be causing overflow
+ const euiPage = document.querySelector('.euiPage') as HTMLElement;
+ const euiPageBody = document.querySelector('.euiPageBody') as HTMLElement;
+
+ let originalEuiPageOverflow = '';
+ let originalEuiPageBodyOverflow = '';
+
+ if (euiPage) {
+ originalEuiPageOverflow = euiPage.style.overflow;
+ euiPage.style.overflow = 'hidden';
+ euiPage.style.maxHeight = '100vh';
+ }
+
+ if (euiPageBody) {
+ originalEuiPageBodyOverflow = euiPageBody.style.overflow;
+ euiPageBody.style.overflow = 'hidden';
+ euiPageBody.style.maxHeight = '100%';
+ }
+
+ return () => {
+ // Restore original styles on cleanup
+ document.body.style.overflow = originalBodyOverflow;
+ document.documentElement.style.overflow = originalHtmlOverflow;
+
+ if (euiPage) {
+ euiPage.style.overflow = originalEuiPageOverflow;
+ euiPage.style.maxHeight = '';
+ }
+
+ if (euiPageBody) {
+ euiPageBody.style.overflow = originalEuiPageBodyOverflow;
+ euiPageBody.style.maxHeight = '';
+ }
+ };
+ }, []);
+
return isValidWorkflow ? (
-
- {(EuiResizablePanel, EuiResizableButton, { togglePanel }) => {
- if (togglePanel) {
- collapseFnHorizontal.current = (panelId: string, { direction }) =>
- togglePanel(panelId, { direction });
- }
- return (
- <>
-
- {leftNavOpen ? (
- setLeftNavOpen(false)}
- />
- ) : undefined}
-
-
- setLeftNavOpen(true)}
- displaySearchPanel={displaySearchPanel}
- />
-
-
- onToggleToolsChange()}
- >
-
+
+ {(EuiResizablePanel, EuiResizableButton, { togglePanel }) => {
+ if (togglePanel) {
+ collapseFnHorizontal.current = togglePanel;
+ }
+
+ return (
+ <>
+
+ {leftNavOpen ? (
+ setLeftNavOpen(false)}
+ isConsolePanelOpen={isConsolePanelOpen}
+ />
+ ) : undefined}
+
+
+
+
+ setLeftNavOpen(true)}
+ displaySearchPanel={displaySearchPanel}
+ />
+
+
+
+
+
+ {
+ onToggleToolsChange();
+ }}
+ style={{
+ minWidth: '300px',
+ flexShrink: 0,
+ flexGrow: 0,
+ flexBasis: 'auto',
+ }}
+ >
+
+
+
+
+ >
+ );
+ }}
+
+
+
+
+
0 || !isEmpty(ingestResponse)
+ ? 'auto'
+ : 'hidden',
+ width: '100%',
+ maxWidth: '100%',
+ minWidth: 0,
+ scrollbarWidth: 'none',
+ msOverflowStyle: 'none',
+ }}
+ className="console-panel-no-scroll"
+ >
+
+
+
+ Console
+
+
+
+
-
- >
- );
- }}
-
+
+
+
+ {isConsolePanelOpen && (
+
+
+
+
+
+ )}
+
+
+
) : (