Files
grafana/public/app/features/dashboard/dashgrid/PanelPluginNotFound.tsx

70 lines
1.4 KiB
TypeScript
Raw Normal View History

// Libraries
2018-11-12 17:54:44 +01:00
import _ from 'lodash';
import React, { PureComponent } from 'react';
2019-02-15 12:55:35 +01:00
// Components
import { AlertBox } from 'app/core/components/AlertBox/AlertBox';
// Types
import { AppNotificationSeverity } from 'app/types';
import { PanelProps, PanelPlugin, PluginType } from '@grafana/ui';
2018-11-12 17:54:44 +01:00
interface Props {
pluginId: string;
}
2018-11-13 07:54:02 +01:00
class PanelPluginNotFound extends PureComponent<Props> {
constructor(props: Props) {
2018-11-12 17:54:44 +01:00
super(props);
}
render() {
2018-11-13 07:54:02 +01:00
const style = {
display: 'flex',
2018-11-13 08:40:42 +01:00
alignItems: 'center',
2019-02-15 12:55:35 +01:00
justifyContent: 'center',
2018-11-13 07:54:02 +01:00
height: '100%',
};
return (
<div style={style}>
2019-02-21 16:07:07 +01:00
<AlertBox severity={AppNotificationSeverity.Error} title={`Panel plugin not found: ${this.props.pluginId}`} />
2018-11-13 07:54:02 +01:00
</div>
);
2018-11-12 17:54:44 +01:00
}
}
2018-11-13 07:54:02 +01:00
export function getPanelPluginNotFound(id: string): PanelPlugin {
2018-11-13 07:54:02 +01:00
const NotFound = class NotFound extends PureComponent<PanelProps> {
render() {
return <PanelPluginNotFound pluginId={id} />;
}
};
const plugin = new PanelPlugin(NotFound);
plugin.meta = {
2018-11-13 07:54:02 +01:00
id: id,
name: id,
sort: 100,
type: PluginType.panel,
2018-11-13 07:54:02 +01:00
module: '',
baseUrl: '',
dataFormats: [],
info: {
author: {
name: '',
},
description: '',
links: [],
logos: {
large: '',
small: '',
},
screenshots: [],
updated: '',
version: '',
2018-11-13 07:54:02 +01:00
},
};
return plugin;
2018-11-13 07:54:02 +01:00
}