PluginStateInfo.tsx 900 B

12345678910111213141516171819202122232425262728293031323334
  1. import React, { FC } from 'react';
  2. import { PluginState } from '@grafana/ui';
  3. interface Props {
  4. state?: PluginState;
  5. }
  6. function getPluginStateInfoText(state?: PluginState): string | null {
  7. switch (state) {
  8. case PluginState.alpha:
  9. return (
  10. 'This plugin is marked as being in alpha state, which means it is in early development phase and updates' +
  11. ' will include breaking changes.'
  12. );
  13. case PluginState.beta:
  14. return (
  15. 'This plugin is marked as being in a beta development state. This means it is in currently in active' +
  16. ' development and could be missing important features.'
  17. );
  18. }
  19. return null;
  20. }
  21. const PluginStateinfo: FC<Props> = props => {
  22. const text = getPluginStateInfoText(props.state);
  23. if (!text) {
  24. return null;
  25. }
  26. return <div className="grafana-info-box">{text}</div>;
  27. };
  28. export default PluginStateinfo;