From 10cb89046e5accf0457771d1cbae4f7796b14cd9 Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Tue, 13 Dec 2022 08:19:54 +0000 Subject: [PATCH] improve Debug render --- packages/app/src/App.jsx | 5 ++- packages/app/src/debug/index.jsx | 59 +++++++++++++++++++++++++------- 2 files changed, 50 insertions(+), 14 deletions(-) diff --git a/packages/app/src/App.jsx b/packages/app/src/App.jsx index 8e811f95..8020172d 100755 --- a/packages/app/src/App.jsx +++ b/packages/app/src/App.jsx @@ -423,7 +423,10 @@ class App extends React.Component { title: "Debug", }) - win.createDefaultWindow(loadable(() => import("./debug"))) + win.createDefaultWindow(loadable(() => import("./debug")), { + width: 700, + height: 500, + }) } } diff --git a/packages/app/src/debug/index.jsx b/packages/app/src/debug/index.jsx index 413c4e38..efb669b1 100755 --- a/packages/app/src/debug/index.jsx +++ b/packages/app/src/debug/index.jsx @@ -1,17 +1,47 @@ import React from "react" +import loadable from "@loadable/component" import * as antd from "antd" -const DebuggersComponents = import.meta.glob("/src/debug/components/**/[a-z[]*.jsx") +const DebuggersComponentsPaths = { + ...import.meta.glob("/src/debug/components/**/[a-z[]*.jsx"), + ...import.meta.glob("/src/debug/components/**/[a-z[]*.tsx") +} + +class DebuggerRender extends React.PureComponent { + state = { + error: null, + } + + componentDidCatch(error, info) { + console.error(error, info) + this.setState({ error }) + } + + render() { + const { renderFile } = this.props + + if (this.state.error) { + return
+

Something went wrong

+
+                    {this.state.error.toString()}
+                
+
+ } + + return React.createElement(loadable(renderFile, { fallback:
Loading...
})) + } +} export default (props) => { - const [activeDebugger, setActiveDebugger] = React.useState(null) + const [activeDebuggerFile, setActiveDebugger] = React.useState(null) const handleDebbugerSelect = (key) => { setActiveDebugger(key) } - if (activeDebugger) { - const Debugger = DebuggersComponents[activeDebugger] + if (activeDebuggerFile) { + const DebuggerFile = DebuggersComponentsPaths[activeDebuggerFile] return
@@ -19,8 +49,9 @@ export default (props) => { Back
- - +
+ +
} @@ -28,13 +59,15 @@ export default (props) => {

Select a debugger

- {Object.keys(DebuggersComponents).map((key, index) => { - return
- -
- })} + { + Object.keys(DebuggersComponentsPaths).map((key, index) => { + return
+ +
+ }) + }
} \ No newline at end of file