content: /*
  
  Generic mutation wrapper to remove a document from a collection. 
  
  Sample mutation: 
  
    mutation moviesRemove($documentId: String) {
      moviesEdit(documentId: $documentId) {
        ...MoviesRemoveFormFragment
      }
    }
  
  Arguments: 
  
    - documentId: the id of the document to remove
  
  Child Props:
  
    - removeMutation(documentId)
    
  */
  
  import React, { Component } from 'react';
  import { graphql } from 'react-apollo';
  import gql from 'graphql-tag';
  
  export default function withRemove(options) {
  
    const { collection } = options,
          mutationName = collection.options.mutations.remove.name
  
    return graphql(gql`
      mutation ${mutationName}($documentId: String) {
        ${mutationName}(documentId: $documentId) {
          _id
        }
      }
    `, {
      alias: 'withRemove',
      props: ({ ownProps, mutate }) => ({
        removeMutation: ({ documentId }) => {
          return mutate({ 
            variables: { documentId }
          });
        },
      }),
    });
  
  }