Skip to content

Instantly share code, notes, and snippets.

View mckn's full-sized avatar

Marcus Andersson mckn

  • Stockholm, Sweden
View GitHub Profile
@mckn
mckn / queryEditor.tsx
Created October 9, 2023 08:08
Example: query editor with some options
import React, { ReactElement } from 'react';
import { css } from '@emotion/css';
import { useStyles2, Segment } from '@grafana/ui';
import { GrafanaTheme2, SelectableValue } from '@grafana/data';
import type { EditorProps } from './types';
import { useAsync } from 'react-use';
export function QueryEditor(props: EditorProps): ReactElement {
const { query } = props;
const { dimensions } = query;
@mckn
mckn / module.tsx
Created November 6, 2025 20:43
Use Grafana sidebar from plugins
import React, { Suspense, lazy, memo } from 'react';
import { AppPlugin, type AppRootProps } from '@grafana/data';
import { LoadingPlaceholder } from '@grafana/ui';
import type { AppConfigProps } from './components/AppConfig/AppConfig';
const LazyApp = lazy(() => import('./components/App/App'));
const LazyAppConfig = lazy(() => import('./components/AppConfig/AppConfig'));
const App = (props: AppRootProps) => (
<Suspense fallback={<LoadingPlaceholder text="" />}>