mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
add unsupported renderer message to catalog (#41898)
This commit is contained in:
parent
0462577f3d
commit
4fa7fd2c75
@ -30,10 +30,14 @@ export const InstallControls = ({ plugin, latestCompatibleVersion }: Props) => {
|
||||
: PluginStatus.UNINSTALL
|
||||
: PluginStatus.INSTALL;
|
||||
|
||||
if (plugin.isCore || plugin.isDisabled || plugin.type === PluginType.renderer) {
|
||||
if (plugin.isCore || plugin.isDisabled) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (plugin.type === PluginType.renderer) {
|
||||
return <div className={styles.message}>Renderer plugins cannot be managed by the Plugin Catalog.</div>;
|
||||
}
|
||||
|
||||
if (plugin.isEnterprise && !config.licenseInfo?.hasValidLicense) {
|
||||
return (
|
||||
<HorizontalGroup height="auto" align="center">
|
||||
|
@ -1,49 +0,0 @@
|
||||
import { useMemo } from 'react';
|
||||
import { useAsync } from 'react-use';
|
||||
import { CatalogPlugin, CatalogPluginsState } from '../types';
|
||||
import { api } from '../api';
|
||||
import { mapLocalToCatalog, mapRemoteToCatalog, mapToCatalogPlugin } from '../helpers';
|
||||
|
||||
export function usePlugins(): CatalogPluginsState {
|
||||
const { loading, value, error } = useAsync(async () => {
|
||||
const remote = await api.getRemotePlugins();
|
||||
const installed = await api.getInstalledPlugins();
|
||||
return { remote, installed };
|
||||
}, []);
|
||||
|
||||
const plugins = useMemo(() => {
|
||||
const installed = value?.installed || [];
|
||||
const remote = value?.remote || [];
|
||||
const unique: Record<string, CatalogPlugin> = {};
|
||||
|
||||
for (const plugin of installed) {
|
||||
unique[plugin.id] = mapLocalToCatalog(plugin);
|
||||
}
|
||||
|
||||
for (const plugin of remote) {
|
||||
if (plugin.typeCode === 'renderer') {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!Boolean(plugin.versionSignatureType)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (unique[plugin.slug]) {
|
||||
unique[plugin.slug] = mapToCatalogPlugin(
|
||||
installed.find((installedPlugin) => installedPlugin.id === plugin.slug),
|
||||
plugin
|
||||
);
|
||||
} else {
|
||||
unique[plugin.slug] = mapRemoteToCatalog(plugin);
|
||||
}
|
||||
}
|
||||
return Object.values(unique);
|
||||
}, [value?.installed, value?.remote]);
|
||||
|
||||
return {
|
||||
loading,
|
||||
error,
|
||||
plugins,
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user