Project.tsx 752 B

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