mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
* feat(debugpanel): schematizing debug panel plugin * delete old types and update imports to new generated schema * update to experimental * derived counters, fix options key name * num to int * chore(debugpanel): update ts imports post type rename * chore(kindsys): refresh report.json * migrate UpdateCounters back to runtime * merge with main --------- Co-authored-by: Will Browne <will.browne@grafana.com> Co-authored-by: sam boyer <sdboyer@grafana.com>
31 lines
961 B
TypeScript
31 lines
961 B
TypeScript
import React, { Component } from 'react';
|
|
|
|
import { PanelProps } from '@grafana/data';
|
|
|
|
import { CursorView } from './CursorView';
|
|
import { EventBusLoggerPanel } from './EventBusLogger';
|
|
import { RenderInfoViewer } from './RenderInfoViewer';
|
|
import { StateView } from './StateView';
|
|
import { PanelOptions, DebugMode } from './panelcfg.gen';
|
|
|
|
type Props = PanelProps<PanelOptions>;
|
|
|
|
export class DebugPanel extends Component<Props> {
|
|
render() {
|
|
const { options } = this.props;
|
|
|
|
switch (options.mode) {
|
|
case DebugMode.Events:
|
|
return <EventBusLoggerPanel eventBus={this.props.eventBus} />;
|
|
case DebugMode.Cursor:
|
|
return <CursorView eventBus={this.props.eventBus} />;
|
|
case DebugMode.State:
|
|
return <StateView {...this.props} />;
|
|
case DebugMode.ThrowError:
|
|
throw new Error('I failed you and for that i am deeply sorry');
|
|
default:
|
|
return <RenderInfoViewer {...this.props} />;
|
|
}
|
|
}
|
|
}
|