mirror of
https://github.com/grafana/grafana.git
synced 2025-02-13 00:55:47 -06:00
AngularDeprecation: Show warnings in panel edit for angular panels (#67891)
* AngularDeprecation: Show warnings in panel edit for angular panels * update wording * Update public/app/features/dashboard/components/PanelEditor/AngularPanelPluginWarning.tsx Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com> * Update public/app/features/dashboard/components/PanelEditor/AngularPanelPluginWarning.tsx --------- Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
This commit is contained in:
parent
ea1c1b9fb8
commit
4c536e5942
@ -0,0 +1,48 @@
|
||||
import { css } from '@emotion/css';
|
||||
import React from 'react';
|
||||
|
||||
import { GrafanaTheme2, PanelPlugin } from '@grafana/data';
|
||||
import { Alert, useStyles2 } from '@grafana/ui';
|
||||
|
||||
export interface Props {
|
||||
plugin: PanelPlugin;
|
||||
}
|
||||
|
||||
export function AngularPanelPluginWarning({ plugin }: Props) {
|
||||
const styles = useStyles2(getStyles);
|
||||
|
||||
return (
|
||||
<div className={styles.wrapper}>
|
||||
<Alert title="Angular panel plugin" severity="warning">
|
||||
<div className="markdown-html">
|
||||
<p>The selected panel plugin is using deprecated plugin APIs.</p>
|
||||
<ul>
|
||||
<li>
|
||||
<a
|
||||
href="https://grafana.com/docs/grafana/latest/developers/angular_deprecation/"
|
||||
className="external-link"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
Read more on Angular deprecation
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href={`plugins/${encodeURIComponent(plugin.meta.id)}`} className="external-link">
|
||||
View plugin details
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</Alert>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export function getStyles(theme: GrafanaTheme2) {
|
||||
return {
|
||||
wrapper: css({
|
||||
padding: theme.spacing(1),
|
||||
}),
|
||||
};
|
||||
}
|
@ -7,6 +7,7 @@ import { CustomScrollbar, FilterInput, RadioButtonGroup, useStyles2 } from '@gra
|
||||
import { isPanelModelLibraryPanel } from '../../../library-panels/guard';
|
||||
|
||||
import { AngularPanelOptions } from './AngularPanelOptions';
|
||||
import { AngularPanelPluginWarning } from './AngularPanelPluginWarning';
|
||||
import { OptionsPaneCategory } from './OptionsPaneCategory';
|
||||
import { OptionsPaneCategoryDescriptor } from './OptionsPaneCategoryDescriptor';
|
||||
import { getFieldOverrideCategories } from './getFieldOverrideElements';
|
||||
@ -100,6 +101,7 @@ export const OptionsPaneOptions = (props: OptionPaneRenderProps) => {
|
||||
return (
|
||||
<div className={styles.wrapper}>
|
||||
<div className={styles.formBox}>
|
||||
{panel.isAngularPlugin() && <AngularPanelPluginWarning plugin={plugin} />}
|
||||
<div className={styles.formRow}>
|
||||
<FilterInput width={0} value={searchQuery} onChange={setSearchQuery} placeholder={'Search options'} />
|
||||
</div>
|
||||
|
@ -538,6 +538,11 @@ export const getStyles = stylesFactory((theme: GrafanaTheme2, props: Props) => {
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
`,
|
||||
angularWarning: css`
|
||||
display: flex;
|
||||
height: theme.spacing(4);
|
||||
align-items: center;
|
||||
`,
|
||||
toolbarLeft: css`
|
||||
padding-left: ${theme.spacing(1)};
|
||||
`,
|
||||
|
Loading…
Reference in New Issue
Block a user