;
export type PlotPlugin = {
id: string;
/** can mutate provided opts as necessary */
@@ -60,9 +62,15 @@ export interface PlotProps {
timeZone: TimeZone;
width: number;
height: number;
- children?: React.ReactNode | React.ReactNode[];
+ config: UPlotConfigBuilder;
+ children?: React.ReactElement[];
/** Callback performed when uPlot data is updated */
onDataUpdate?: (data: uPlot.AlignedData) => {};
/** Callback performed when uPlot is (re)initialized */
onPlotInit?: () => {};
}
+
+export abstract class PlotConfigBuilder {
+ constructor(protected props: P) {}
+ abstract getConfig(): T;
+}
diff --git a/public/app/plugins/panel/graph3/GraphPanel.tsx b/public/app/plugins/panel/graph3/GraphPanel.tsx
index 4c8e5dd9de7..86395c7340d 100644
--- a/public/app/plugins/panel/graph3/GraphPanel.tsx
+++ b/public/app/plugins/panel/graph3/GraphPanel.tsx
@@ -28,8 +28,8 @@ export const GraphPanel: React.FC = ({
- {data.annotations && }
- {data.annotations && }
+ {data.annotations ? : <>>}
+ {data.annotations ? : <>>}
);
};