┌──────────────────────────────┐ ┌────────────────────────┐ │ DevTools │ │ WebConsolePanel │ │[client/framework/devtools.js]│ │ [panel.js] │ └──────────────────────────────┘ └────────────────────────┘ │ │ │ openBrowserConsole() or │ toggleBrowserConsole() │ │ │ ▼ │ ┌──────────────────────────────┐ {hud} │ BrowserConsoleManager │ │ │ [browser-console-manager.js] │ │ └──────────────────────────────┘ │ │ │ │ │ {_browserConsole} │ │ │ ▼ 0..1 ▼ 1 ┌──────────────────────────────┐ ┌────────────────────────┐ │ BrowserConsole │ │ WebConsole │ │ [browser-console.js] │─ ─ extends ─ ▶│ [webconsole.js] │ └──────────────────────────────┘ └──────────────1─────────┘ │ {ui} │ ▼ 1 ┌────────────────────────┐ │ WebConsoleUI │ │ [webconsole-ui.js] │ └────────────────────────┘ │ {wrapper} │ │ ▼ 1 ┌────────────────────────┐ │ WebConsoleWrapper │ │[webconsole-wrapper.js] │ └────────────────────────┘ ││ ▼ ┌────────────────────────┐ │ App │ └────────────────────────┘
┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ WebConsole React components │ │ [/components] ┌────────────────────────┐ │ App │ │ │ └────────────────────────┘ │ │ │ │ ┌───────────────────┬──────────────────────┬───────────────────┬───────────┴─────────┬───────────────────────┬────────────────────┬─────────────────┐ │ │ │ │ │ │ │ │ │ │ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ │ ┌────────────────────────────────────────┐ │ ┌──────────┐ ┌────────────────┐ ┌────────────────┐ ┌───────────┐ ┌────────────────────┐ ┌──────────────┐ ┌──────────────┐ ┌─────────┐ │ Editor │ │ SideBar │ │NotificationBox │ │ ConfirmDialog │ │ FilterBar │ │ ReverseSearchInput │ │ConsoleOutput │ │EditorToolbar │ │ JSTerm │──.editor───▶││ │ └──────────┘ └────────────────┘ │ │ └───────────┘ └────────────────────┘ └──────────────┘ └──────────────┘ └─────────┘ │ [client/shared/sourceeditor/editor.js] │ │ └────────────────┘ │ │ │ └────────────────────────────────────────┘ │ │ ┌─────────┴─────────────┐ │ │ │ │ │ │ │ │ ▼ ▼ ▼ │ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │ │ │ │ FilterButton │ │ FilterCheckbox │ │ MessageContainer │ │ └──────────────────┘ └──────────────────┘ └──────────────────┘ │ │ │ │ │ │ │ │ │ │ │ ▼ │ │ │ ┌──────────────────┐ │ │ Message │ │ │ │ └──────────────────┘ │ │ │ ┌─────────────────────────────────────┐ │ │ │ │ Frame │ │ ┌─────────────────────┬─────────────────────┬─────────────────────┬───────┴─────────────┬─────────────────────┬─────────────┼─────┬──▶│ [client/shared/components/Frame.js] │ │ │ │ │ │ │ │ │ │ └─────────────────────────────────────┘ │ ▼ ▼ ▼ ▼ ▼ ▼ │ │ │ │ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │ ┌────────────────────────────────────────┐ │ │ MessageIndent │ │ MessageIcon │ │ CollapseButton │ │ GripMessageBody │ │ ConsoleTable │ │ MessageRepeat │ │ │ │ SmartTrace │ │ │ └──────────────────┘ └──────────────────┘ └──────────────────┘ └──────────────────┘ └──────────────────┘ └──────────────────┘ ├──▶│[client/shared/components/SmartTrace.js]│ │ │ │ │ │ └────────────────────────────────────────┘ └ ─ ─ ─ ┼ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ TabboxPanel │ │ ├─────────────────────┘ └──▶│[client/netmonitor/src/components/TabboxPanel.js] │ │ │ └──────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ Reps ┌──────────────────────┐ │ │ │ [client/shared/components/reps/reps.js] │ ObjectInspector │ │ └──────────────────────┘ │ │ │ │ │ ▼ │ │ │ ┌──────────────────────┐ │ │ ObjectInspectorItem │ │ │ │ └──────────────────────┘ └───────────────────────────────────────────────────────────────▶ │ │ │ ▼ ┌──────────────────────┐ │ │ ┌─▶│ Rep │ │ └──────────────────────┘ │ │ │ │ │ │ │ │ └──────────────┘ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘