ProjectList.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import styled from 'styled-components'
  2. import gql from 'graphql-tag'
  3. import { Query } from 'react-apollo'
  4. const StyledProjectList = styled.div`
  5. font-size: 90%;
  6. `
  7. const QUERY_PROJECTS = gql`
  8. query QUERY_PROJECTS {
  9. projects {
  10. id
  11. name
  12. abbreviation
  13. description
  14. images {
  15. id
  16. filename
  17. mimetype
  18. size
  19. }
  20. }
  21. }
  22. `
  23. class ProjectList extends React.Component {
  24. selectItem = event => {
  25. console.log(event.target)
  26. }
  27. render() {
  28. return (
  29. <Query query={QUERY_PROJECTS}>
  30. {({ data, error, loading }) => {
  31. const { projects } = data
  32. return (
  33. <StyledProjectList>
  34. <h2>Project list</h2>
  35. {data.length ? (
  36. <ul>
  37. {projects.map(project => (
  38. <li key={project.id} onClick={this.selectItem}>{project.name}</li>
  39. ))}
  40. </ul>
  41. ) : (
  42. <p>No projects found.</p>
  43. )}
  44. <button>+</button>
  45. </StyledProjectList>
  46. )
  47. }}
  48. </Query>
  49. )
  50. }
  51. }
  52. export default ProjectList