NotificationCardFetch.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import React, {Component} from 'react';
  2. import {Spin} from 'antd';
  3. import {GET_PROJECT} from "../../../../../../gql";
  4. import {Query} from "react-apollo";
  5. import gql from "graphql-tag";
  6. import {removeSpace} from "../../../../../../func";
  7. import NotificationCardRender from './NotificationCardRender';
  8. import DeployCardRender from "../deployCard/DeployCardRender";
  9. class NotificationCardFetch extends Component {
  10. render() {
  11. return (
  12. <Query query={gql(GET_PROJECT)} variables={{id: this.props.projectID}}>
  13. {
  14. ({loading, error, data}) => {
  15. if (loading) {
  16. return <Spin style={{marginLeft: 3}}/>
  17. }
  18. if (error) {
  19. return 'error!';
  20. }
  21. let dataProject = data.project_by_id;
  22. let {projectName, projectStatus} = dataProject;
  23. let notification = dataProject.notification_id || '';
  24. return (
  25. <NotificationCardRender
  26. // props
  27. trialcase={this.props.trialcase}
  28. stepByStep={this.props.stepByStep}
  29. userID={this.props.userID}
  30. projectID={this.props.projectID}
  31. stepAllShow={this.props.stepAllShow}
  32. // query
  33. notification={notification}
  34. defaultName={removeSpace(projectName)}
  35. projectStatus={projectStatus}
  36. />
  37. )
  38. }
  39. }
  40. </Query>
  41. )
  42. }
  43. }
  44. export default NotificationCardFetch;