Skip to content

Commit

Permalink
feat: add create mutation
Browse files Browse the repository at this point in the history
  • Loading branch information
dleard committed Mar 24, 2021
1 parent fc9dde9 commit e5f128b
Show file tree
Hide file tree
Showing 3 changed files with 74 additions and 6 deletions.
26 changes: 21 additions & 5 deletions app/containers/Admin/NaicsCode/NaicsCodeTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import {graphql, createFragmentContainer, RelayProp} from 'react-relay';
import {NaicsCodeTable_query} from '__generated__/NaicsCodeTable_query.graphql';
import NaicsCodeTableRow from './NaicsCodeTableRow';
import CreateNaicsCodeModal from 'components/Admin/CreateNaicsCodeModal';
import createNaicsCodeMutation from 'mutations/naics_code/createNaicsCodeMutation';

interface Props {
relay: RelayProp;
Expand All @@ -15,21 +16,36 @@ export const NaicsCodeTableContainer: React.FunctionComponent<Props> = (
) => {
const [validated, setValidated] = useState(false);
const [showCreateModal, setShowCreateModal] = useState(false);
const {query} = props;

const handleCreateNaicsCode = (e: React.SyntheticEvent<any>) => {
const handleCreateNaicsCode = async (e: React.SyntheticEvent<any>) => {
const form = e.currentTarget;
if (form.checkValidity() === false) {
e.preventDefault();
e.stopPropagation();
}
setValidated(true);
e.preventDefault();
e.stopPropagation();
e.preventDefault();
e.persist();
setValidated(true);

console.log(e);
const {environment} = props.relay;
const variables = {
input: {
naicsCodeInput: e.target[0].value,
ciipSectorInput: e.target[1].value ? e.target[1].value : null,
naicsDescriptionInput: e.target[2].value
}
};
const response = await createNaicsCodeMutation(
environment,
variables,
query.allNaicsCodes.__id
);
console.log(response);
setShowCreateModal(false);
};

const {query} = props;
return (
<>
<div style={{textAlign: 'right'}}>
Expand Down
52 changes: 52 additions & 0 deletions app/mutations/naics_code/createNaicsCodeMutation.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
import {graphql, DeclarativeMutationConfig} from 'react-relay';
import RelayModernEnvironment from 'relay-runtime/lib/store/RelayModernEnvironment';
import {
createNaicsCodeMutationMutationVariables,
createNaicsCodeMutationMutation as createNaicsCodeMutationMutationType
} from 'createNaicsCodeMutationMutation.graphql';
import BaseMutation from 'mutations/BaseMutation';

const mutation = graphql`
mutation createNaicsCodeMutation($input: CreateNaicsCodeMutationInput!) {
createNaicsCodeMutation(input: $input) {
query {
allNaicsCodes {
edges {
node {
id
naicsCode
}
}
}
}
}
}
`;

const createNaicsCodeMutation = async (
environment: RelayModernEnvironment,
variables: createNaicsCodeMutationMutationVariables
) => {
const connectionKey = 'NaicsCodeTableContainer_allNaicsCodes';
const configs: DeclarativeMutationConfig[] = [
{
type: 'RANGE_ADD',
parentID: 'query',
connectionInfo: [
{
key: connectionKey,
rangeBehavior: 'append'
}
],
edgeName: 'naicsCodeEdge'
}
];

const m = new BaseMutation<createNaicsCodeMutationMutationType>(
'create-naics_code-mutation',
configs
);
return m.performMutation(environment, mutation, variables);
};

export default createNaicsCodeMutation;
2 changes: 1 addition & 1 deletion app/mutations/naics_code/updateNaicsCodeMutation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ const updateNaicsCodeMutation = async (
ConnectionHandler.deleteNode(connection, variables.input.id);
};
const m = new BaseMutation<updateNaicsCodeMutationType>(
'update-review-comment-mutation'
'update-naics-code-mutation'
);
return m.performMutation(
environment,
Expand Down

0 comments on commit e5f128b

Please sign in to comment.