From 578e27bf11749094eb70c2078561fa0e6fa4a465 Mon Sep 17 00:00:00 2001 From: Michael Behrisch <m.behrisch@uu.nl> Date: Sat, 5 Feb 2022 16:48:37 +0100 Subject: [PATCH] refactor(rawjsonvis): moves rawjsonvis into own component The ReactJSONView was hardcoded into app.tsx and lives now in its own component. --- apps/graphpolaris/src/app/app.tsx | 37 +---------------- .../app/raw-jsonvis/raw-jsonvis.module.scss | 0 .../src/app/raw-jsonvis/raw-jsonvis.spec.tsx | 10 +++++ .../src/app/raw-jsonvis/raw-jsonvis.tsx | 40 +++++++++++++++++++ 4 files changed, 51 insertions(+), 36 deletions(-) create mode 100644 apps/graphpolaris/src/app/raw-jsonvis/raw-jsonvis.module.scss create mode 100644 apps/graphpolaris/src/app/raw-jsonvis/raw-jsonvis.spec.tsx create mode 100644 apps/graphpolaris/src/app/raw-jsonvis/raw-jsonvis.tsx diff --git a/apps/graphpolaris/src/app/app.tsx b/apps/graphpolaris/src/app/app.tsx index c1255e7dd..6bb0f1c79 100644 --- a/apps/graphpolaris/src/app/app.tsx +++ b/apps/graphpolaris/src/app/app.tsx @@ -2,45 +2,10 @@ import { assignNewGraphQueryResult, useAppDispatch, - useGraphQueryResult, } from '@graphpolaris/shared/data-access/store'; -import React, { useEffect } from 'react'; -import ReactJSONView from 'react-json-view'; import GridLayout from 'react-grid-layout'; import Panel from '../web/components/panels/Panel'; - -const RawJSONVis = React.memo(() => { - const graphQueryResult = useGraphQueryResult(); - console.log('update rawjson'); - - useEffect(() => { - console.log('update rawjson useEffect'); - }, [graphQueryResult]); - - useEffect(() => { - return () => { - console.log('unloaded RawJSONVis'); - }; - }, []); - - return ( - <div style={{ overflowY: 'auto' }}> - <div - style={{ - marginTop: '40px', - paddingLeft: '30px', - }} - > - <ReactJSONView - src={graphQueryResult} - collapsed={1} - quotesOnKeys={false} - displayDataTypes={false} - /> - </div> - </div> - ); -}); +import { RawJSONVis } from './raw-jsonvis/raw-jsonvis'; export function App() { const dispatch = useAppDispatch(); diff --git a/apps/graphpolaris/src/app/raw-jsonvis/raw-jsonvis.module.scss b/apps/graphpolaris/src/app/raw-jsonvis/raw-jsonvis.module.scss new file mode 100644 index 000000000..e69de29bb diff --git a/apps/graphpolaris/src/app/raw-jsonvis/raw-jsonvis.spec.tsx b/apps/graphpolaris/src/app/raw-jsonvis/raw-jsonvis.spec.tsx new file mode 100644 index 000000000..ec4c0a8e8 --- /dev/null +++ b/apps/graphpolaris/src/app/raw-jsonvis/raw-jsonvis.spec.tsx @@ -0,0 +1,10 @@ +import { render } from '@testing-library/react'; + +import RawJSONVis from './raw-jsonvis'; + +describe('RawJSONVis', () => { + it('should render successfully', () => { + const { baseElement } = render(<RawJSONVis />); + expect(baseElement).toBeTruthy(); + }); +}); diff --git a/apps/graphpolaris/src/app/raw-jsonvis/raw-jsonvis.tsx b/apps/graphpolaris/src/app/raw-jsonvis/raw-jsonvis.tsx new file mode 100644 index 000000000..2a87441e8 --- /dev/null +++ b/apps/graphpolaris/src/app/raw-jsonvis/raw-jsonvis.tsx @@ -0,0 +1,40 @@ +import { useGraphQueryResult } from '@graphpolaris/shared/data-access/store'; +import React, { useEffect } from 'react'; +import ReactJSONView from 'react-json-view'; +import './raw-jsonvis.module.scss'; + +/* eslint-disable-next-line */ +export interface RawJSONVisProps {} + +export const RawJSONVis = React.memo((props: RawJSONVisProps) => { + const graphQueryResult = useGraphQueryResult(); + console.log('update rawjson'); + + useEffect(() => { + console.log('update rawjson useEffect'); + }, [graphQueryResult]); + + useEffect(() => { + return () => { + console.log('unloaded RawJSONVis'); + }; + }, []); + + return ( + <div style={{ overflowY: 'auto' }}> + <div + style={{ + marginTop: '40px', + paddingLeft: '30px', + }} + > + <ReactJSONView + src={graphQueryResult} + collapsed={1} + quotesOnKeys={false} + displayDataTypes={false} + /> + </div> + </div> + ); +}); -- GitLab