Project.tsx 789 B

1234567891011121314151617181920212223242526272829303132
  1. import React from 'react';
  2. import { Input } from '@grafana/ui';
  3. import StackdriverDatasource from '../datasource';
  4. export interface Props {
  5. datasource: StackdriverDatasource;
  6. }
  7. interface State {
  8. projectName: string;
  9. }
  10. export class Project extends React.Component<Props, State> {
  11. state: State = {
  12. projectName: 'Loading project...',
  13. };
  14. async componentDidMount() {
  15. const projectName = await this.props.datasource.getDefaultProject();
  16. this.setState({ projectName });
  17. }
  18. render() {
  19. const { projectName } = this.state;
  20. return (
  21. <div className="gf-form">
  22. <span className="gf-form-label width-9 query-keyword">Project</span>
  23. <Input className="gf-form-input width-15" disabled type="text" value={projectName} />
  24. </div>
  25. );
  26. }
  27. }