Project.tsx 683 B

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