feat: enable custom entries and custom information requirements
This commit is contained in:
parent
e44e5012f1
commit
bd0701236c
9 changed files with 257 additions and 129 deletions
|
|
@ -236,6 +236,21 @@ const GET_DATA = gql`
|
|||
}
|
||||
`
|
||||
|
||||
const SET_CUSTOM_ENTRY = gql`
|
||||
mutation addCustomField($customerId: ID!, $label: String!, $value: String!) {
|
||||
addCustomField(customerId: $customerId, label: $label, value: $value)
|
||||
}
|
||||
`
|
||||
|
||||
const GET_ACTIVE_CUSTOM_REQUESTS = gql`
|
||||
query customInfoRequests($onlyEnabled: Boolean) {
|
||||
customInfoRequests(onlyEnabled: $onlyEnabled) {
|
||||
id
|
||||
customRequest
|
||||
}
|
||||
}
|
||||
`
|
||||
|
||||
const CustomerProfile = memo(() => {
|
||||
const history = useHistory()
|
||||
|
||||
|
|
@ -255,6 +270,16 @@ const CustomerProfile = memo(() => {
|
|||
|
||||
const { data: configResponse, loading: configLoading } = useQuery(GET_DATA)
|
||||
|
||||
const { data: activeCustomRequests } = useQuery(GET_ACTIVE_CUSTOM_REQUESTS, {
|
||||
variables: {
|
||||
onlyEnabled: true
|
||||
}
|
||||
})
|
||||
|
||||
const [setCustomEntry] = useMutation(SET_CUSTOM_ENTRY, {
|
||||
onCompleted: () => getCustomer()
|
||||
})
|
||||
|
||||
const [replaceCustomerPhoto] = useMutation(REPLACE_CUSTOMER_PHOTO, {
|
||||
onCompleted: () => getCustomer()
|
||||
})
|
||||
|
|
@ -294,6 +319,17 @@ const CustomerProfile = memo(() => {
|
|||
onCompleted: () => getCustomer()
|
||||
})
|
||||
|
||||
const saveCustomEntry = it => {
|
||||
setCustomEntry({
|
||||
variables: {
|
||||
customerId,
|
||||
label: it.title,
|
||||
value: it.data
|
||||
}
|
||||
})
|
||||
setWizard(null)
|
||||
}
|
||||
|
||||
const updateCustomer = it =>
|
||||
setCustomer({
|
||||
variables: {
|
||||
|
|
@ -385,6 +421,12 @@ const CustomerProfile = memo(() => {
|
|||
|
||||
const timezone = R.path(['config', 'locale_timezone'], configResponse)
|
||||
|
||||
const customRequirementOptions =
|
||||
activeCustomRequests?.customInfoRequests?.map(it => ({
|
||||
value: it.id,
|
||||
display: it.customRequest.name
|
||||
})) ?? []
|
||||
|
||||
const classes = useStyles()
|
||||
|
||||
return (
|
||||
|
|
@ -544,8 +586,11 @@ const CustomerProfile = memo(() => {
|
|||
{wizard && (
|
||||
<Wizard
|
||||
error={error?.message}
|
||||
save={() => {}}
|
||||
save={saveCustomEntry}
|
||||
addPhoto={replacePhoto}
|
||||
addCustomerData={editCustomer}
|
||||
onClose={() => setWizard(null)}
|
||||
customRequirementOptions={customRequirementOptions}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue