{"version":3,"sources":["enquirySummary/EnquiryTaskAction.tsx","enquirySummary/EnquirySummaryRepository.tsx"],"names":["EnquiryTaskActionEnum","useStyles","theme","root","display","alignItems","justifyContent","height","loaderWrapper","position","top","bottom","right","left","icon","marginRight","color","BrandColors","TemplatePrimary","deleteIcon","EnquiryTaskAction","props","classes","anchorRef","useRef","isLoading","setIsLoading","open","setOpen","enquiryData","setEnquiryData","timezone","setTimezone","currency","setCurrency","tenantQuery","homeCountry","sourceSystem","isDeleteConfirm","isEnquiryFormOpen","isFollowUpOpen","isAssignOpen","isCreateClientOpen","isMessageAssigneeOpen","isMarkClientMatterCreatedOpen","isAssignMeetingOpen","pOBoxType","customFieldByHierarchy","state","setState","appUser","setAppUser","enquiryGuid","data","guid","undefined","fetchAppUserOnEffect","fetchPoBoxTypeData","fetchHomeCountryOnEffect","fetchTenantDataOnEffect","fetchTimezone","fetchCurrency","onDataCurrency","reason","options","currencySymbol","symbol","onRetrievePOBoxType","lookup","poBoxType","length","prevState","description","handleAppUserFetch","isAdministrator","prevAppUser","userId","name","userName","handleHomeCountryFetch","optionData","stringValue","handleTenantDataFetch","tenantsData","tenant","onRetrieveTimezoneData","timezoneOption","handleClose","event","current","contains","target","fetchEnquiryDetails","handleEnquiryDataFetch","loading","enquiry","onGetCustomFields","customFieldGroupGuid","areaOfLawGuid","detail","practiceAreaGuidID","archorEvent","handleClickMenu","menu","Assign","onAssignOpen","FollowUp","onFollowUpOpen","CreateClient","onCreateClientOpen","Modify","onModifyOpen","CompleteCreateClient","completeCreateClient","ReOpen","onReOpen","MessageAssignee","onMessageAssignee","AssignMeeting","onAssignMeeting","reOpenEnquiry","mutate","mutation","variables","input","getReOpenFollowUpInput","then","results","error","catch","followUpAction","followUpActionSystemName","followUpDate","toDate","outcome","outcomeDate","reasonGuid","followUpNotes","onDialogClose","params","onDataGetCustomFieldsRetrieved","crm","onDataRetrieved","leadQueryParams","offset","first","filter","sortColumn","sortDirection","entityGuidID","onEnquiryHistoryDataRetrieved","task","summaryList","url","URL","createObjectURL","window","handleListKeyDown","key","preventDefault","prevOpen","useEffect","focus","isStandAlone","toLowerCase","isCreateClientEnabled","actions","canCreateClient","canCreateContactForLostEnquiry","className","title","content","show","isAgree","agree","disAgreeLabel","agreeLabel","ref","onClick","Fragment","anchorEl","role","transition","disablePortal","style","marginLeft","TransitionProps","placement","transformOrigin","onClickAway","autoFocusItem","id","onKeyDown","HasAccess","hasAssignLead","disabled","canAssign","fontSize","canMessageAssignee","hasFollowUpLead","canFollowUp","hasCreateClient","canCreateMatter","hasMarkAsClientCreated","canReOpen","hasModifyLead","canModify","hasDeleteLead","enquiryQueryParams","onHistoryPrint","assignedBy","assignedByName","firstName","lastName","email","followUpSystemAction","anchor","organisation","mobile","phone","sourceNotes","source","enquiryActions","enquiryDetail","formAction","isKeyOpportunity","IncludeEnum","GroupByType","retrieveEnquirySummaryData","query","refreshData","onSuccess","onError","fetchPolicy","EnquirySummaryListData","emailAddress","isIncludeCurrent","isIncludeClosed","isMyEnquiriesOnly","groupBy","groupByValue","followUpDue","newEnquiry","assignedTo","areaOfLaw","teamList","enquiryQuality","enquiryLikelihoodToProceed","meetingWith","status","sourceList","location","retrieveEnquiryDetailsData","EnquiryDetailsQuery","CreateEnquiryMutation","DeleteEnquiryMutation","UpdateEnquiryMutation","AssignStaffToEnquiryMutation","FollowUpEnquiryMutation","LinkEnquiryMutation","CreateMeetingBookingTaskMutation","CreateClientAndContactMutation","CreateClientContactMutation","CreateContactMutation","CompleteCreateClientMutation","CreateEnquirySubscription","UpdateEnquirySubscription","DeleteEnquirySubscription","FollowUpEnquiryNotification","AssignEnquiryToStaffNotification","CreateClientAndContactNotification","CreateClientContactNotification","CreateContactNotification","CompleteCreateClientNotification","EnquiryActionsData","fetchEnquiryDetailsData","fetchAppUserData","UserData","fetchHomeCountry","HomeCountryData","fetchTenantData","TenantDataQuery","fetchEnquiryScope","EnquiryScope","retrieveEnquiryStatusesData","EnquiryStatuses","isIncludeCount","retrieveFirmTeamData","FirmTeams","isIncludeEnquiryCount","onlyUsedByEnquiries","retrieveEmailTemplateCount","EmailTemplateCountData","emailType","retrieveEnquiryDefaultSettings","EnquirySettingsData","retrieveGeneralInfoData","GENERAL_INFO_QUERY","UpdateEnquiryQualityMutation","UpdateEnquiryLikelihoodMutation","UploadEnquiryMatterDocumentMutation","UploadEnquiryMatterDocumentNotification"],"mappings":"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","file":"static/js/main~2478c7dd.68b08b34.chunk.js","sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\r\nimport React, { useEffect, useState } from 'react';\r\nimport { makeStyles, Theme, createStyles } from '@material-ui/core/styles';\r\nimport {\r\n Popper,\r\n Grow,\r\n Paper,\r\n ClickAwayListener,\r\n MenuList,\r\n MenuItem,\r\n IconButton\r\n} from '@material-ui/core';\r\nimport DialogBox from '../Dashboard/Component/DialogBox';\r\nimport { showNotification } from '../App';\r\nimport { AppUser, AppUserData, DeleteEnquiryMutation, EnquiryDetailsQueryParams, fetchAppUserData, fetchEnquiryDetailsData, \r\n fetchHomeCountry, fetchTenantData, FollowUpEnquiryMutation, OptionData, retrieveEnquiryDetailsData, TenantData } from './EnquirySummaryRepository';\r\nimport { client } from '..';\r\nimport MoreHorizOutlinedIcon from '@material-ui/icons/MoreHorizOutlined';\r\nimport { UserFeature, UserFeatureEnum } from '../types/UserFeature';\r\n// import { useHistory } from 'react-router-dom';\r\nimport { Enquiry, EnquiryData, EnquiryDetail, EnquirySummary } from './models/Enquiry';\r\nimport { AssignDialog } from './dialogs/AssignDialog';\r\nimport { FollowUpDialog } from './dialogs/FollowUpDialog';\r\nimport { CreateClientDialog } from './dialogs/CreateClientDialog';\r\nimport { EnquiryFormDrawer } from './drawers/EnquiryFormDrawer';\r\nimport { RvLoader } from '../components/Loader';\r\nimport moment from 'moment';\r\nimport { MessageAssigneeDialog } from './dialogs/MessageAssigneeDialog';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport { mainTheme } from '../Theme';\r\nimport RedoIcon from '@material-ui/icons/Redo';\r\nimport PersonAddOutlinedIcon from '@material-ui/icons/PersonAddOutlined';\r\nimport EditOutlinedIcon from '@material-ui/icons/EditOutlined';\r\nimport BeenhereOutlinedIcon from '@material-ui/icons/BeenhereOutlined';\r\nimport LocationSearchingOutlinedIcon from '@material-ui/icons/LocationSearchingOutlined';\r\nimport AssignmentIndOutlinedIcon from '@material-ui/icons/AssignmentIndOutlined';\r\n// import HistoryOutlinedIcon from '@material-ui/icons/HistoryOutlined';\r\nimport ContactMailOutlinedIcon from '@material-ui/icons/ContactMailOutlined';\r\nimport { MarkClientAndMatterCreatedDialog } from './dialogs/MarkClientAndMatterCreatedDialog';\r\nimport { PoBoxTypeData, retrievePOBoxTypeData } from '../lookupConfiguration/selectors/POBoxTypeSelector';\r\nimport { retrieveTimezoneOptionData, TimezoneOption, TimezoneOptionData } from '../lookupConfiguration/selectors/TimezoneSelector';\r\nimport AssignmentOutlinedIcon from '@material-ui/icons/AssignmentOutlined';\r\nimport PrintOutlinedIcon from '@material-ui/icons/PrintOutlined';\r\nimport { HistoryFile } from './common/HistoryFile';\r\nimport { LeadDetailsHistoryData, LeadDetailsHistoryQueryParams, retrieveLeadDetailsHistoryData } from '../leadsDetail/LeadsDetailRepository';\r\nimport { CurrencySymbolData, retrieveCurrencySymbolData } from '../ClientAndContactDetails/referrals/ReferralsDetailsRepository';\r\nimport { CustomFieldByHierarchy, CustomFieldByHierarchyData, CustomFieldByHierarchyQuery, CustomFieldByHierarchyQueryParams } from '../enquiryCustomFields/CustomFieldRepositores';\r\nimport { retrieveQueryData } from '../helpers/commonHelper';\r\nimport { useTenant } from '../hooks/useTenant';\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n // position: 'fixed',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n height: '100%',\r\n },\r\n loaderWrapper: {\r\n position: 'absolute',\r\n top: 0,\r\n bottom: 0,\r\n right: 0,\r\n left: 0,\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n icon: {\r\n marginRight: '10px',\r\n color: mainTheme.BrandColors.TemplatePrimary\r\n },\r\n deleteIcon: {\r\n marginRight: '10px',\r\n color: 'rgb(220, 0, 78)',\r\n }\r\n })\r\n);\r\n\r\nexport enum EnquiryTaskActionEnum {\r\n Assign = 1,\r\n FollowUp = 2,\r\n CreateClient = 3,\r\n Modify = 4,\r\n Delete = 5,\r\n EmailAssignee = 6,\r\n CompleteCreateClient = 7,\r\n ReOpen = 8,\r\n MessageAssignee = 9,\r\n AssignMeeting = 10,\r\n}\r\n\r\ninterface EnquiryTaskActionProps {\r\n // tslint:disable-next-line: no-any\r\n data?: any;\r\n enquiryGuid: string;\r\n}\r\n\r\ninterface EnquiryTaskActionState {\r\n homeCountry: string;\r\n sourceSystem: string;\r\n isDeleteConfirm: boolean;\r\n\r\n isEnquiryFormOpen: boolean;\r\n isFollowUpOpen: boolean;\r\n isAssignOpen: boolean;\r\n isCreateClientOpen: boolean;\r\n isMessageAssigneeOpen: boolean;\r\n isMarkClientMatterCreatedOpen: boolean;\r\n isAssignMeetingOpen: boolean;\r\n pOBoxType: string | null;\r\n customFieldByHierarchy: CustomFieldByHierarchy[];\r\n}\r\n\r\n// tslint:disable-next-line: no-any\r\nexport const EnquiryTaskAction: React.FC = ( props ) => {\r\n const classes = useStyles();\r\n // const history = useHistory(); \r\n const anchorRef = React.useRef(null);\r\n \r\n const [isLoading, setIsLoading] = useState(false);\r\n const [open, setOpen] = useState(false);\r\n const [enquiryData, setEnquiryData] = useState();\r\n const [timezone, setTimezone] = useState([]);\r\n const [currency, setCurrency] = useState('$');\r\n\r\n const tenantQuery = useTenant();\r\n \r\n const [state, setState] = useState({\r\n homeCountry: '',\r\n sourceSystem: '',\r\n isDeleteConfirm: false,\r\n isEnquiryFormOpen: false,\r\n isFollowUpOpen: false,\r\n isAssignOpen: false,\r\n isCreateClientOpen: false,\r\n isMessageAssigneeOpen: false,\r\n isMarkClientMatterCreatedOpen: false,\r\n isAssignMeetingOpen: false,\r\n pOBoxType: null,\r\n customFieldByHierarchy: []\r\n });\r\n const [appUser, setAppUser] = useState(); \r\n\r\n const enquiryGuid: string = props.enquiryGuid \r\n ? props.enquiryGuid \r\n : (props.data && props.data.guid) ? props.data.guid : undefined;\r\n\r\n useEffect(() => {\r\n fetchAppUserOnEffect();\r\n fetchPoBoxTypeData();\r\n fetchHomeCountryOnEffect();\r\n fetchTenantDataOnEffect();\r\n fetchTimezone();\r\n fetchCurrency();\r\n // tslint:disable-next-line: align\r\n }, []);\r\n\r\n const fetchCurrency = () => {\r\n retrieveCurrencySymbolData(\r\n false,\r\n // tslint:disable-next-line: no-any\r\n (data: any) => onDataCurrency(data),\r\n // tslint:disable-next-line:no-any\r\n function (reason: any): void {\r\n showNotification(null, reason, 'error');\r\n });\r\n };\r\n\r\n const onDataCurrency = (data: CurrencySymbolData) => {\r\n setCurrency(data.options.currencySymbol.symbol);\r\n };\r\n\r\n const fetchPoBoxTypeData = () => { \r\n retrievePOBoxTypeData(\r\n false,\r\n // tslint:disable-next-line: no-console\r\n (data) => onRetrievePOBoxType(data),\r\n // tslint:disable-next-line:no-any\r\n function (reason: any): void {\r\n showNotification(null, reason, 'error');\r\n }\r\n );\r\n };\r\n\r\n const onRetrievePOBoxType = (data: PoBoxTypeData) => {\r\n if (data.lookup.poBoxType.length > 0) {\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n pOBoxType: data.lookup.poBoxType[0].description\r\n };\r\n });\r\n } \r\n };\r\n\r\n const fetchAppUserOnEffect = () => {\r\n fetchAppUserData(\r\n false,\r\n (data: AppUserData) => {\r\n handleAppUserFetch(data);\r\n },\r\n (reason) => {\r\n showNotification('Failed to Fetch App User Settings', reason, 'error');\r\n }\r\n );\r\n };\r\n\r\n const handleAppUserFetch = (data?: AppUserData) => {\r\n if (\r\n data !== null &&\r\n data?.appUser !== undefined &&\r\n data.appUser.isAdministrator !== undefined\r\n ) {\r\n setAppUser((prevAppUser) => {\r\n // Object.assign would also work\r\n return {\r\n ...prevAppUser,\r\n userId: data.appUser.userId,\r\n name: data.appUser.name,\r\n isAdministrator: data.appUser.isAdministrator,\r\n userName: data.appUser.userName\r\n };\r\n });\r\n }\r\n };\r\n\r\n const fetchHomeCountryOnEffect = () => {\r\n fetchHomeCountry(\r\n false,\r\n (data: OptionData) => {\r\n handleHomeCountryFetch(data);\r\n },\r\n (reason) => {\r\n showNotification('Failed to Fetch Home Country Settings', reason, 'error');\r\n }\r\n );\r\n };\r\n\r\n const handleHomeCountryFetch = (optionData?: OptionData) => {\r\n if (\r\n optionData !== null &&\r\n optionData?.options !== undefined &&\r\n optionData.options.homeCountry !== undefined\r\n ) {\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n homeCountry: optionData.options.homeCountry.stringValue === null ? 'au' : optionData.options.homeCountry.stringValue,\r\n };\r\n });\r\n }\r\n };\r\n\r\n const fetchTenantDataOnEffect = () => {\r\n fetchTenantData(\r\n false,\r\n (data: TenantData) => {\r\n handleTenantDataFetch(data);\r\n },\r\n (reason) => {\r\n showNotification('Failed to Fetch Tenant Data', reason, 'error');\r\n }\r\n );\r\n };\r\n \r\n const handleTenantDataFetch = (tenantsData?: TenantData) => {\r\n if (\r\n tenantsData !== null &&\r\n tenantsData?.tenant !== undefined &&\r\n tenantsData.tenant.sourceSystem !== undefined\r\n ) {\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n sourceSystem: tenantsData.tenant.sourceSystem\r\n };\r\n });\r\n }\r\n };\r\n\r\n const fetchTimezone = () => {\r\n retrieveTimezoneOptionData(\r\n false,\r\n // tslint:disable-next-line: no-console\r\n (data) => onRetrieveTimezoneData(data),\r\n // tslint:disable-next-line:no-any\r\n function (reason: any): void {\r\n showNotification(null, reason, 'error');\r\n }\r\n );\r\n };\r\n\r\n const onRetrieveTimezoneData = (data: TimezoneOptionData) => {\r\n setTimezone(data.options.timezoneOption);\r\n };\r\n\r\n const handleToggle = () => {\r\n // tslint:disable-next-line: no-shadowed-variable\r\n setOpen(prevOpen => !prevOpen);\r\n setIsLoading(true);\r\n fetchEnquiryDetails();\r\n };\r\n\r\n const handleClose = (event: React.MouseEvent) => {\r\n if (anchorRef.current &&\r\n anchorRef.current.contains(event.target as HTMLElement)\r\n ) {\r\n return;\r\n }\r\n\r\n setOpen(false);\r\n };\r\n\r\n const fetchEnquiryDetails = () => {\r\n fetchEnquiryDetailsData(true, // This should always be a new request.\r\n enquiryGuid,\r\n (data: EnquiryData) => {\r\n handleEnquiryDataFetch(data);\r\n }, \r\n (reason) => {\r\n showNotification('Failed to Fetch App User Settings', reason, 'error'); \r\n });\r\n };\r\n\r\n const handleEnquiryDataFetch = (data: EnquiryData) => {\r\n if (data && !data.loading && data.enquiry) {\r\n if (data.enquiry) {\r\n setEnquiryData(data.enquiry);\r\n onGetCustomFields({\r\n customFieldGroupGuid: null,\r\n areaOfLawGuid: data.enquiry.detail.practiceAreaGuidID,\r\n // locationGuid: data.enquiry.detail.officeGuidID ? data.enquiry.detail.officeGuidID : null,\r\n });\r\n setIsLoading(false);\r\n }\r\n }\r\n };\r\n\r\n const archorEvent = (event: React.MouseEvent) => {\r\n if (anchorRef.current &&\r\n anchorRef.current.contains(event.target as HTMLElement)) {\r\n return;\r\n }\r\n };\r\n\r\n const handleClickMenu = (menu: EnquiryTaskActionEnum) => (event: React.MouseEvent) => {\r\n if (anchorRef.current &&\r\n anchorRef.current.contains(event.target as HTMLElement)\r\n ) {\r\n return;\r\n }\r\n\r\n switch (menu) {\r\n case EnquiryTaskActionEnum.Assign : {\r\n setOpen(false);\r\n onAssignOpen(event);\r\n break;\r\n }\r\n case EnquiryTaskActionEnum.FollowUp : {\r\n setOpen(false);\r\n onFollowUpOpen(event);\r\n break;\r\n }\r\n case EnquiryTaskActionEnum.CreateClient : {\r\n setOpen(false);\r\n onCreateClientOpen(event);\r\n break;\r\n }\r\n case EnquiryTaskActionEnum.Modify: {\r\n setOpen(false);\r\n onModifyOpen(event);\r\n break;\r\n }\r\n case EnquiryTaskActionEnum.CompleteCreateClient : {\r\n setOpen(false);\r\n completeCreateClient();\r\n break;\r\n }\r\n case EnquiryTaskActionEnum.ReOpen : {\r\n setOpen(false);\r\n onReOpen(event);\r\n break;\r\n }\r\n case EnquiryTaskActionEnum.MessageAssignee : {\r\n setOpen(false);\r\n onMessageAssignee(event);\r\n break;\r\n }\r\n case EnquiryTaskActionEnum.AssignMeeting : {\r\n setOpen(false);\r\n onAssignMeeting(event);\r\n break;\r\n }\r\n default: {\r\n setOpen(false);\r\n break;\r\n }\r\n }\r\n };\r\n\r\n const completeCreateClient = () => {\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n isMarkClientMatterCreatedOpen: true\r\n };\r\n });\r\n // client.mutate({\r\n // mutation: CompleteCreateClientMutation,\r\n // variables: { \r\n // input: getCompleteCreateClientInput()\r\n // },\r\n // })\r\n // // tslint:disable-next-line: no-any\r\n // .then((results: { data: any }) => {\r\n // if (results.data) {\r\n // if (results.data.error === null || results.data.error === undefined) {\r\n // showNotification(null, 'Successfully submitted', 'info');\r\n // } else {\r\n // showNotification('Complete Create Client Failed', results.data.error, 'error');\r\n // }\r\n // }\r\n // })\r\n // // tslint:disable-next-line:no-any\r\n // .catch((reason: any) => {\r\n // showNotification('Complete Create Client Failed', reason, 'error');\r\n // });\r\n };\r\n\r\n // const getCompleteCreateClientInput = () => {\r\n // return {\r\n // enquiryGuid: enquiryGuid\r\n // };\r\n // };\r\n\r\n const onAssignOpen = (event: React.MouseEvent) => {\r\n archorEvent(event);\r\n setOpen(false);\r\n\r\n setState({\r\n ...state,\r\n isAssignOpen: true\r\n });\r\n };\r\n\r\n const onFollowUpOpen = (event: React.MouseEvent) => {\r\n archorEvent(event);\r\n setOpen(false);\r\n\r\n setState({\r\n ...state,\r\n isFollowUpOpen: true\r\n });\r\n };\r\n\r\n const onMessageAssignee = (event: React.MouseEvent) => {\r\n archorEvent(event);\r\n setOpen(false);\r\n\r\n setState({\r\n ...state,\r\n isMessageAssigneeOpen: true\r\n });\r\n };\r\n\r\n const onAssignMeeting = (event: React.MouseEvent) => {\r\n archorEvent(event);\r\n setOpen(false);\r\n\r\n setState({\r\n ...state,\r\n isAssignMeetingOpen: true\r\n });\r\n };\r\n\r\n const onCreateClientOpen = (event: React.MouseEvent) => {\r\n archorEvent(event);\r\n setOpen(false);\r\n\r\n setState({\r\n ...state,\r\n isCreateClientOpen: true\r\n });\r\n };\r\n\r\n const onReOpen = (event: React.MouseEvent) => {\r\n archorEvent(event);\r\n setOpen(false);\r\n\r\n reOpenEnquiry(); \r\n };\r\n\r\n const reOpenEnquiry = () => {\r\n client.mutate({\r\n mutation: FollowUpEnquiryMutation,\r\n variables: {\r\n input: getReOpenFollowUpInput()\r\n },\r\n })\r\n // tslint:disable-next-line: no-any\r\n .then((results: { data: any; }) => { \r\n if (results.data) {\r\n if (results.data.error === null || results.data.error === undefined) {\r\n showNotification(null, 'Successfully submitted', 'info'); \r\n } else {\r\n showNotification('Failed to Re-Open Enquiry', results.data.error, 'error'); \r\n }\r\n } \r\n })\r\n // tslint:disable-next-line:no-any\r\n .catch((reason: any) => { showNotification('Failed to Re-Open Enquiry', reason, 'error'); }); \r\n }; \r\n\r\n const getReOpenFollowUpInput = () => {\r\n return {\r\n enquiryGuid: enquiryGuid,\r\n followUpAction: 'Re-Open Enquiry',\r\n followUpActionSystemName: 'ReOpenEnquiry',\r\n followUpDate: moment().toDate(),\r\n outcome: 'More Follow Up',\r\n outcomeDate: null,\r\n reason: null,\r\n reasonGuid: null,\r\n followUpNotes: null,\r\n };\r\n }; \r\n\r\n const onModifyOpen = (event: React.MouseEvent) => {\r\n archorEvent(event);\r\n setOpen(false);\r\n\r\n setState({\r\n ...state,\r\n isEnquiryFormOpen: true\r\n });\r\n };\r\n\r\n const onDialogClose = () => {\r\n setOpen(false);\r\n\r\n setState({\r\n ...state,\r\n isAssignOpen: false,\r\n isFollowUpOpen: false,\r\n isCreateClientOpen: false,\r\n isEnquiryFormOpen: false,\r\n isDeleteConfirm: false,\r\n isMessageAssigneeOpen: false,\r\n isMarkClientMatterCreatedOpen: false,\r\n isAssignMeetingOpen: false\r\n });\r\n };\r\n\r\n const handleDelete = () => {\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n isDeleteConfirm: true\r\n };\r\n });\r\n };\r\n\r\n const onDeleteConfirm = (agree: boolean) => {\r\n if (agree) {\r\n client.mutate({\r\n mutation: DeleteEnquiryMutation,\r\n variables: {\r\n guid: enquiryGuid\r\n },\r\n })\r\n // tslint:disable-next-line: no-any\r\n .then((results: { data: any }) => {\r\n if (results.data) {\r\n if (results.data.error === null || results.data.error === undefined) {\r\n showNotification(null, 'Successfully submitted', 'info');\r\n } else {\r\n showNotification('Failed to Save Enquiry', results.data.error, 'error');\r\n }\r\n }\r\n })\r\n // tslint:disable-next-line:no-any\r\n .catch((reason: any) => {\r\n showNotification('Failed to Save Enquiry', reason, 'error');\r\n });\r\n }\r\n\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n isDeleteConfirm: false\r\n };\r\n });\r\n };\r\n\r\n // const handleView = (event: React.MouseEvent) => {\r\n // archorEvent(event);\r\n // setOpen(false);\r\n\r\n // var href = history.createHref({\r\n // pathname: `/enquiriesDetail/${enquiryGuid}`\r\n // });\r\n\r\n // window.open(href, '_blank');\r\n // };\r\n\r\n const onHistoryPrint = (event: React.MouseEvent) => {\r\n archorEvent(event);\r\n setOpen(false);\r\n \r\n var enquiryQueryParams: EnquiryDetailsQueryParams = {\r\n guid: (props.data as EnquirySummary).guid,\r\n };\r\n retrieveEnquiryDetailsData(\r\n enquiryQueryParams,\r\n true,\r\n (data) => onDataRetrieved(data),\r\n // tslint:disable-next-line\r\n function (reason: any): void {\r\n showNotification(null, reason, 'error');\r\n setIsLoading(false);\r\n }\r\n );\r\n };\r\n\r\n const onGetCustomFields = (input: CustomFieldByHierarchyQueryParams) => {\r\n\r\n const params: CustomFieldByHierarchyQueryParams = {\r\n ...input\r\n };\r\n\r\n retrieveQueryData(\r\n CustomFieldByHierarchyQuery,\r\n params,\r\n false,\r\n (data) => onDataGetCustomFieldsRetrieved(data),\r\n // tslint:disable-next-line: no-any\r\n function (reason: any): void {\r\n showNotification(null, reason, 'error');\r\n setIsLoading(false);\r\n }\r\n );\r\n };\r\n\r\n const onDataGetCustomFieldsRetrieved = (data: CustomFieldByHierarchyData) => {\r\n const { customFieldByHierarchy } = data.crm\r\n\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n customFieldByHierarchy: customFieldByHierarchy\r\n };\r\n });\r\n };\r\n\r\n const onDataRetrieved = (data: EnquiryData) => {\r\n const detail = data.enquiry.detail;\r\n\r\n var leadQueryParams: LeadDetailsHistoryQueryParams = {\r\n offset: null,\r\n first: null,\r\n filter: null,\r\n sortColumn: 'UpdatedDate',\r\n sortDirection: 'DESC',\r\n entityGuidID: (props.data as EnquirySummary).guid,\r\n };\r\n\r\n retrieveLeadDetailsHistoryData(\r\n leadQueryParams,\r\n true,\r\n // tslint:disable-next-line: no-any no-shadowed-variable\r\n (data: any) => onEnquiryHistoryDataRetrieved(data, detail),\r\n // tslint:disable-next-line\r\n function (reason: any): void {\r\n showNotification(null, reason, 'error');\r\n }\r\n );\r\n \r\n };\r\n\r\n const onEnquiryHistoryDataRetrieved = (data: LeadDetailsHistoryData, detail: EnquiryDetail) => {\r\n HistoryFile(\r\n detail, \r\n 'DESC', \r\n currency, \r\n timezone, \r\n data.task.summaryList,\r\n (results) => {\r\n // tslint:disable-next-line: no-console\r\n var url = URL.createObjectURL(results);\r\n window.open(url, '_blank', 'noopener, noreferrer');\r\n },\r\n state.customFieldByHierarchy\r\n );\r\n };\r\n\r\n\r\n\r\n /*\r\n const onEmailAssignee = (event: React.MouseEvent) => {\r\n archorEvent(event);\r\n setOpen(false);\r\n\r\n var mail = document.createElement('a');\r\n // tslint:disable-next-line:max-line-length\r\n mail.href = `mailto:${enquiryData?.detail.assignedToEmailAddress}?subject=RE ${enquiryData?.detail.firstName} \r\n ${enquiryData?.detail.lastName}, new business enquiry received ${moment(enquiryData?.detail.initialEnquiryDate).format('DD MMM YYYY')}`;\r\n mail.click();\r\n };\r\n */\r\n\r\n function handleListKeyDown(event: React.KeyboardEvent) {\r\n if (event.key === 'Tab') {\r\n event.preventDefault();\r\n setOpen(false);\r\n }\r\n }\r\n\r\n // return focus to the button when we transitioned from !open -> open\r\n const prevOpen = React.useRef(open);\r\n React.useEffect(() => {\r\n if (prevOpen.current === true && open === false) {\r\n anchorRef.current!.focus();\r\n }\r\n\r\n prevOpen.current = open;\r\n // tslint:disable-next-line: align\r\n }, [open]);\r\n\r\n const isStandAlone = tenantQuery.data?.tenant.sourceSystem.toLowerCase() === 'standalone';\r\n\r\n const getEnquiryTaskActions = () => {\r\n if (enquiryData && appUser) {\r\n return (\r\n \r\n {state.isAssignOpen && (\r\n \r\n )}\r\n \r\n {state.isFollowUpOpen && (\r\n \r\n )}\r\n\r\n {state.isAssignMeetingOpen && (\r\n \r\n )}\r\n\r\n {/* We are doing an internal Note here. So it is a Follow Up Action */}\r\n {state.isMessageAssigneeOpen && (\r\n \r\n )}\r\n \r\n {state.isCreateClientOpen && (\r\n \r\n )}\r\n \r\n {state.isEnquiryFormOpen && (\r\n \r\n )} \r\n {state.isMarkClientMatterCreatedOpen && (\r\n \r\n )}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const getLoader = () => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n };\r\n\r\n const isCreateClientEnabled = enquiryData?.actions.canCreateClient\r\n ? true\r\n : enquiryData?.actions.canCreateContactForLostEnquiry ? true : false;\r\n\r\n const getMenuItems = () => {\r\n if (enquiryData) {\r\n return (\r\n \r\n \r\n {({ TransitionProps, placement }) => (\r\n \r\n \r\n \r\n \r\n \r\n {UserFeature.HasAccess(UserFeatureEnum.hasAssignLead) && (\r\n \r\n Assign\r\n \r\n )}\r\n \r\n {UserFeature.HasAccess(UserFeatureEnum.hasAssignLead) && (\r\n \r\n Message Assignee\r\n \r\n )}\r\n\r\n {UserFeature.HasAccess(UserFeatureEnum.hasFollowUpLead) && (\r\n \r\n Follow Up\r\n \r\n )}\r\n\r\n {UserFeature.HasAccess(UserFeatureEnum.hasFollowUpLead) && (\r\n \r\n Assign Meeting\r\n \r\n )}\r\n\r\n {UserFeature.HasAccess(UserFeatureEnum.hasCreateClient) && (\r\n \r\n \r\n {enquiryData.actions.canCreateContactForLostEnquiry \r\n ? 'Create Contact'\r\n : `Create ${enquiryData.actions.canCreateMatter ? 'Matter' : 'Client'}`\r\n }\r\n \r\n )}\r\n\r\n {UserFeature.HasAccess(UserFeatureEnum.hasMarkAsClientCreated) && (\r\n \r\n {`Mark as ${enquiryData.actions.canCreateMatter ? 'Matter' : 'Client'} Created`}\r\n \r\n )}\r\n\r\n {UserFeature.HasAccess(UserFeatureEnum.hasFollowUpLead) && (\r\n \r\n Re-Open\r\n \r\n )}\r\n\r\n {UserFeature.HasAccess(UserFeatureEnum.hasModifyLead) && (\r\n \r\n Modify\r\n \r\n )}\r\n\r\n {UserFeature.HasAccess(UserFeatureEnum.hasDeleteLead) && (\r\n handleDelete()}\r\n >\r\n Delete\r\n \r\n )}\r\n\r\n {/* {UserFeature.HasAccess(UserFeatureEnum.hasLeadsDetail) && (\r\n handleView(event)}\r\n >\r\n History\r\n \r\n )} */}\r\n\r\n onHistoryPrint(event)}\r\n >\r\n History Report\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {state.isDeleteConfirm && (\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n {\r\n isLoading\r\n ? getLoader()\r\n : getMenuItems() \r\n }\r\n\r\n {getEnquiryTaskActions()} \r\n
\r\n );\r\n};\r\n","import { FetchPolicy } from 'apollo-client';\r\nimport gql from 'graphql-tag';\r\nimport { client } from '..';\r\nimport { RegionSettingsData } from '../firmSettingConfiguration/tabs/RegionalTab';\r\nimport { EnquiryData } from './models/Enquiry';\r\n\r\nexport enum IncludeEnum {\r\n All = 0,\r\n Open = 1,\r\n Closed = 2,\r\n}\r\n\r\nexport enum GroupByType {\r\n status = 0,\r\n assignedTo,\r\n areaOfLaw,\r\n dueDates,\r\n team,\r\n}\r\n\r\nexport interface AppUserData {\r\n loading?: boolean;\r\n networkStatus?: number;\r\n appUser: AppUser;\r\n}\r\n\r\nexport interface AppUser {\r\n isAdministrator: boolean;\r\n userId: string;\r\n name: string;\r\n userName: string;\r\n}\r\n\r\nexport interface OptionsData {\r\n loading?: boolean;\r\n networkStatus?: number;\r\n data: OptionData;\r\n}\r\n\r\nexport interface OptionData {\r\n options: Option;\r\n}\r\n\r\nexport interface Option {\r\n homeCountry: HomeCountry;\r\n}\r\n\r\nexport interface HomeCountry {\r\n stringValue: string;\r\n}\r\n\r\nexport interface TenantsData {\r\n loading?: boolean;\r\n networkStatus?: number;\r\n data: TenantData;\r\n}\r\n\r\nexport interface TenantData {\r\n tenant: Tenant;\r\n}\r\n\r\nexport interface Tenant {\r\n tenantId: string;\r\n sourceSystem: string;\r\n useVerificationLinkForNewUsers: boolean;\r\n}\r\n\r\nexport interface EnquirySummaryQueryParams {\r\n offset: number | null;\r\n first: number | null;\r\n filter?: string | null;\r\n emailAddress?: string | null;\r\n isIncludeCurrent: boolean | null;\r\n isIncludeClosed: boolean | null;\r\n isMyEnquiriesOnly: boolean | null;\r\n sortColumn?: string | null;\r\n sortDirection?: string | null;\r\n groupBy: string | null;\r\n groupByValue: string | null;\r\n followUpDue: string | null;\r\n newEnquiry: string | null;\r\n assignedTo: string | null;\r\n areaOfLaw: string | null;\r\n teamList: string | null;\r\n isKeyOpportunity: boolean | null;\r\n enquiryQuality: string | null;\r\n enquiryLikelihoodToProceed: string | null;\r\n meetingWith: string | null;\r\n status: string | null;\r\n sourceList: string | null;\r\n location: string | null;\r\n}\r\n\r\nexport interface EnquiryDetailsQueryParams {\r\n guid: string;\r\n}\r\n\r\nexport function retrieveEnquirySummaryData(\r\n query: EnquirySummaryQueryParams,\r\n refreshData: boolean,\r\n onSuccess: (data: EnquiryData) => void,\r\n // tslint:disable-next-line:no-any\r\n onError: (reason: any) => void,\r\n): void {\r\n var fetchPolicy: FetchPolicy = refreshData === true ? 'network-only' : 'cache-first';\r\n client\r\n .query({\r\n query: EnquirySummaryListData,\r\n variables: {\r\n offset: query.offset,\r\n first: query.first,\r\n filter: query.filter,\r\n emailAddress: query.emailAddress,\r\n isIncludeCurrent: query.isIncludeCurrent,\r\n isIncludeClosed: query.isIncludeClosed,\r\n isMyEnquiriesOnly: query.isMyEnquiriesOnly,\r\n sortColumn: query.sortColumn,\r\n sortDirection: query.sortDirection,\r\n groupBy: query.groupBy,\r\n groupByValue: query.groupByValue,\r\n followUpDue: query.followUpDue,\r\n newEnquiry: query.newEnquiry,\r\n assignedTo: query.assignedTo,\r\n areaOfLaw: query.areaOfLaw,\r\n teamList: query.teamList,\r\n isKeyOpportunity: query.isKeyOpportunity,\r\n enquiryQuality: query.enquiryQuality,\r\n enquiryLikelihoodToProceed: query.enquiryLikelihoodToProceed,\r\n meetingWith: query.meetingWith,\r\n status: query.status,\r\n sourceList: query.sourceList,\r\n location: query.location,\r\n },\r\n fetchPolicy: fetchPolicy,\r\n })\r\n // tslint:disable-next-line:no-any\r\n .then((results: { data: any }) => {\r\n onSuccess(results.data);\r\n })\r\n // tslint:disable-next-line:no-any\r\n .catch((reason: any) => {\r\n onError(reason);\r\n });\r\n}\r\n\r\nexport function retrieveEnquiryDetailsData(\r\n query: EnquiryDetailsQueryParams,\r\n refreshData: boolean,\r\n onSuccess: (data: EnquiryData) => void,\r\n // tslint:disable-next-line:no-any\r\n onError: (reason: any) => void,\r\n): void {\r\n var fetchPolicy: FetchPolicy = refreshData === true ? 'network-only' : 'cache-first';\r\n client\r\n .query({\r\n query: EnquiryDetailsQuery,\r\n variables: {\r\n guid: query.guid,\r\n },\r\n fetchPolicy: fetchPolicy,\r\n })\r\n // tslint:disable-next-line:no-any\r\n .then((results: { data: any }) => {\r\n onSuccess(results.data);\r\n })\r\n // tslint:disable-next-line:no-any\r\n .catch((reason: any) => {\r\n onError(reason);\r\n });\r\n}\r\n\r\nconst EnquirySummaryListData = gql`\r\n query EnquirySummaryListData(\r\n $offset: Int\r\n $first: Int\r\n $filter: String\r\n $emailAddress: String\r\n $isIncludeCurrent: Boolean\r\n $isIncludeClosed: Boolean\r\n $isMyEnquiriesOnly: Boolean\r\n $sortColumn: String\r\n $sortDirection: String\r\n $groupBy: String\r\n $groupByValue: String\r\n $followUpDue: String\r\n $newEnquiry: String\r\n $assignedTo: String\r\n $areaOfLaw: String\r\n $teamList: String\r\n $isKeyOpportunity: Boolean\r\n $enquiryQuality: String\r\n $enquiryLikelihoodToProceed: String\r\n $meetingWith: String\r\n $status: String\r\n $sourceList: String\r\n $location: String\r\n ) {\r\n enquiry {\r\n summaryList(\r\n offset: $offset\r\n first: $first\r\n filter: $filter\r\n emailAddress: $emailAddress\r\n isIncludeCurrent: $isIncludeCurrent\r\n isIncludeClosed: $isIncludeClosed\r\n isMyEnquiriesOnly: $isMyEnquiriesOnly\r\n sortColumn: $sortColumn\r\n sortDirection: $sortDirection\r\n groupBy: $groupBy\r\n groupByValue: $groupByValue\r\n followUpDue: $followUpDue\r\n newEnquiry: $newEnquiry\r\n assignedTo: $assignedTo\r\n areaOfLaw: $areaOfLaw\r\n teamList: $teamList\r\n isKeyOpportunity: $isKeyOpportunity\r\n enquiryQuality: $enquiryQuality\r\n enquiryLikelihoodToProceed: $enquiryLikelihoodToProceed\r\n meetingWith: $meetingWith\r\n status: $status\r\n sourceList: $sourceList,\r\n \tlocation: $location\r\n ) {\r\n recordCount\r\n actualRowCountForSearch\r\n\r\n summaries {\r\n id\r\n guid\r\n createdDate\r\n lastUpdated\r\n isClosed\r\n status\r\n name\r\n firstName\r\n lastName\r\n email\r\n gender\r\n initialEnquiryDate\r\n phone\r\n mobile\r\n sourceGuidID\r\n source\r\n officeGuidID\r\n office\r\n sourceNotes\r\n referrerName\r\n organisation\r\n positionAtOrganisation\r\n natureOfEnquiry\r\n practiceAreaGuidID\r\n areaOfLaw\r\n dateAssigned\r\n assignedTo\r\n assignedToName\r\n assignedToEmailAddress\r\n assignedBy\r\n assignedByName\r\n assignedByEmailAddress\r\n followUpDueDate\r\n followUpActionGuidID\r\n followUpAction\r\n followUpCompletedDate\r\n followUpNotes\r\n outcomeGuidID\r\n outcome\r\n outcomeDate\r\n reasonGuidID\r\n reason\r\n internalNotes\r\n internalNotesGuidID\r\n isKeyOpportunity\r\n createdByName\r\n isMarketingConsent\r\n isPrivacyStatementProvided\r\n isConflictCheckPerformed\r\n isIdentityCheckPerformed\r\n isTermsAndConditionsApproved\r\n isNoConflict\r\n estimatedFees\r\n estimatedDisbursements\r\n enquiryQuality\r\n likelihoodToProceed\r\n referredToFirmName\r\n notProceedingNotes\r\n matterClientFirstName\r\n matterClientLastName\r\n relationshipToTheEnquirer\r\n mainAddressSuburb\r\n mainAddressState\r\n mainAddressPostCode\r\n matterFileNumber\r\n matterFeesBilled\r\n enquiryNotes\r\n outcomeNotes\r\n assignedToTeam\r\n daysTakenToFirstFollowUp\r\n daysTakenToWonOrLoss\r\n monthOfEnquiry\r\n otherPartyFirstName\r\n otherPartyLastName\r\n otherPartyEmail\r\n otherPartyPhone\r\n otherPartyMobile\r\n meetingBookingDate\r\n hadMeetingDate\r\n meetingStartDate\r\n bookingStaffName\r\n matterCreatedDate\r\n meetingLocation\r\n internalNotes\r\n isRiskAssessed\r\n riskLevel\r\n riskNotes\r\n secondClientFirstName\r\n secondClientLastName\r\n secondClientRelationshipToEnquirer\r\n secondClientGender\r\n secondClientSuburb\r\n secondClientState\r\n secondClientPostCode\r\n secondClientIsMarketingConsent\r\n secondClientIsTermsAndConditionsApproved\r\n secondClientIsPrivacyStatementProvided\r\n secondClientIsConflictCheckPerformed\r\n secondClientIsIdentityCheckPerformed\r\n secondClientIsNoConflict\r\n \tsecondClientCountry\r\n \tsecondClientAddressName\r\n \tsecondClientFloor\r\n \tsecondClientNumber\r\n \tsecondClientStreet1,\r\n \tsecondClientStreet2,\r\n \tsecondClientDOB,\r\n \tsecondClientPOBoxType,\r\n \tsecondClientPOBox,\r\n \tsecondClientPostalSuburb,\r\n \tsecondClientPostalState,\r\n \tsecondClientPostalPostCode,\r\n \tsecondClientPostalCountry,\r\n secondClientGuid\r\n eventAndCampaignGuid\r\n eventAndCampaignName\r\n eventAndCampaignNotesGuid\r\n eventAndCampaignNotes\r\n customFieldDataSummary\r\n clickThroughUrl\r\n utmSource\r\n utmMedium\r\n utmCampaign\r\n utmContent\r\n utmKeyword\r\n googleClickIdentifier\r\n facebookClickIdentifier\r\n }\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst EnquiryDetailsQuery = gql`\r\n query EnquiryDetailsData($guid: String) {\r\n enquiry {\r\n detail(guid: $guid) {\r\n guid\r\n createdDate\r\n createdByName\r\n lastUpdated\r\n isClosed \r\n isContactCreated\r\n isMatterCreated\r\n firstName\r\n lastName\r\n email\r\n gender\r\n initialEnquiryDate\r\n phone\r\n mobile\r\n sourceGuidID\r\n source\r\n isSourceReferrer\r\n officeGuidID\r\n office\r\n sourceNotes\r\n organisation\r\n positionAtOrganisation\r\n natureOfEnquiry\r\n practiceAreaGuidID\r\n areaOfLaw\r\n dateAssigned\r\n assignedTo\r\n assignedToName\r\n assignedToEmailAddress\r\n assignedBy\r\n assignedByName\r\n assignedByEmailAddress\r\n assignmentReminderOffset\r\n followUpDueDate\r\n followUpActionGuidID\r\n followUpAction\r\n followUpDate\r\n followUpNotes\r\n outcomeGuidID\r\n outcome\r\n outcomeDate\r\n reasonGuidID\r\n reason\r\n internalNotes\r\n internalNotesGuidID\r\n isKeyOpportunity\r\n referrerGuid\r\n referrerName\r\n nameGuid\r\n nameTitle\r\n organisationGuid\r\n clientRelationshipToEnquirer\r\n isMarketingConsent\r\n isTermsAndConditionsApproved\r\n isPrivacyStatementProvided\r\n isConflictCheckPerformed\r\n isIdentityCheckPerformed\r\n isNoConflict\r\n estimatedFees\r\n isEstimatedFeesIncludesTax\r\n estimatedDisbursements\r\n isEstimatedDisbursementsIncludesTax\r\n enquiryQuality\r\n likelihoodToProceed\r\n dOB\r\n clientFirstName\r\n clientLastName\r\n addressName\r\n floor\r\n number\r\n street\r\n clientAddressStreet2\r\n suburb\r\n state\r\n postcode\r\n country\r\n pOBoxType\r\n pOBox\r\n postalSuburb\r\n postalState\r\n postalPostCode\r\n postalCountry\r\n clientRelationshipToEnquirer\r\n files {\r\n guidID\r\n name\r\n url\r\n }\r\n matterId\r\n matterGuid\r\n matterTitle\r\n matterFileNumber\r\n assignedToIsStaff\r\n assignedToStaffGuid\r\n assignedToStaffName\r\n enquiryNotes\r\n integrationContactId\r\n integrationClientId\r\n integrationOtherPartyId\r\n integrationMatterId\r\n integrationMatterDocumentId\r\n\r\n otherPartyFirstName\r\n otherPartyLastName\r\n otherPartyNotes\r\n otherPartyEmail\r\n otherPartyPhone\r\n otherPartyMobile\r\n otherPartyOrganisation\r\n \r\n otherPartyDOB\r\n otherPartyAddressName\r\n otherPartyFloor\r\n otherPartyNumber\r\n otherPartyStreet\r\n otherPartyStreet2\r\n otherPartySuburb\r\n otherPartyState\r\n otherPartyPostcode\r\n otherPartyCountry\r\n\r\n otherPartyPOBoxType\r\n otherPartyPOBox\r\n otherPartyPostalSuburb\r\n otherPartyPostalState\r\n otherPartyPostalPostCode\r\n otherPartyPostalCountry\r\n otherPartyNameGuid\r\n otherPartyOrganisationGuid\r\n \r\n isRiskAssessed\r\n riskLevelGuid\r\n riskLevel\r\n riskNotes\r\n\r\n secondClientFirstName\r\n secondClientLastName\r\n secondClientRelationshipToEnquirer\r\n secondClientGender\r\n secondClientSuburb\r\n secondClientState\r\n secondClientPostCode\r\n secondClientIsMarketingConsent\r\n secondClientIsTermsAndConditionsApproved\r\n secondClientIsPrivacyStatementProvided\r\n secondClientIsConflictCheckPerformed\r\n secondClientIsIdentityCheckPerformed\r\n secondClientIsNoConflict\r\n\r\n secondClientCountry\r\n secondClientAddressName\r\n secondClientFloor\r\n secondClientNumber\r\n secondClientStreet1,\r\n secondClientStreet2,\r\n secondClientDOB,\r\n\r\n secondClientPOBoxType,\r\n secondClientPOBox,\r\n secondClientPostalSuburb,\r\n secondClientPostalState,\r\n secondClientPostalPostCode,\r\n secondClientPostalCountry,\r\n secondClientGuid\r\n\r\n responseText\r\n eventAndCampaignGuid\r\n eventAndCampaignName\r\n eventAndCampaignNotesGuid\r\n eventAndCampaignNotes\r\n\r\n isNameFromDataSource\r\n isOrganisationFromDataSource\r\n isOtherSideFromDataSource\r\n isSecondClientFromDataSource\r\n \r\n title\r\n otherPartyTitle\r\n \r\n clientTitle\r\n clientGuid\r\n clientEmail\r\n clientPhone\r\n clientMobile\r\n \r\n secondClientTitle\r\n secondClientEmail\r\n secondClientPhone\r\n secondClientMobile\r\n\r\n clickThroughUrl\r\n utmSource\r\n utmMedium\r\n utmCampaign\r\n utmContent\r\n utmKeyword\r\n googleClickIdentifier\r\n facebookClickIdentifier\r\n\r\n customFields {\r\n boolValue\r\n currencyValue\r\n customFieldGuid\r\n customFieldLookupListItemGuid\r\n lookupListName\r\n dateTimeValue\r\n dateValue\r\n description\r\n entityGuid\r\n entityType\r\n integerValue\r\n multiLineTextValue\r\n numberValue\r\n textValue\r\n }\r\n \r\n }\r\n actions(guid: $guid) {\r\n canModify\r\n canAssign\r\n canFollowUp\r\n canCreateClient\r\n canEmailAssignee\r\n canReOpen\r\n canCreateContactForLostEnquiry\r\n canMessageAssignee\r\n canLinkMatter\r\n canChangeLinkedMatter\r\n canCreateMatter\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const CreateEnquiryMutation = gql`\r\n mutation CreateEnquiry($input: CreateEnquiryInput!) {\r\n createEnquiry(input: $input) {\r\n status\r\n error\r\n }\r\n }\r\n`;\r\n\r\nexport const DeleteEnquiryMutation = gql`\r\n mutation DeleteEnquiry($guid: String!) {\r\n deleteEnquiry(guid: $guid) {\r\n status\r\n error\r\n }\r\n }\r\n`;\r\n\r\nexport const UpdateEnquiryMutation = gql`\r\n mutation UpdateEnquiry($input: UpdateEnquiryInput!) {\r\n updateEnquiry(input: $input) {\r\n status\r\n error\r\n }\r\n }\r\n`;\r\n\r\nexport const AssignStaffToEnquiryMutation = gql`\r\n mutation AssignStaffToEnquiry($input: AssignStaffToEnquiryInput!) {\r\n assignStaffToEnquiry(input: $input) {\r\n status\r\n error\r\n }\r\n }\r\n`;\r\n\r\nexport const FollowUpEnquiryMutation = gql`\r\n mutation FollowUpEnquiry($input: FollowUpEnquiryInput!) {\r\n followUpEnquiry(input: $input) {\r\n status\r\n error\r\n }\r\n }\r\n`;\r\n\r\nexport const LinkEnquiryMutation = gql`\r\n mutation ($input: LinkMatterToEnquiryInput!) {\r\n linkMatterToEnquiry(input: $input) {\r\n status\r\n error\r\n }\r\n }\r\n`;\r\n\r\nexport const CreateMeetingBookingTaskMutation = gql`\r\n mutation CreateMeetingBookingMutation($input: BookMeetingInput) {\r\n createMeetingBooking(input: $input) {\r\n error\r\n status\r\n }\r\n }\r\n`;\r\n\r\nexport const CreateClientAndContactMutation = gql`\r\n mutation CreateClientAndContact($input: CreateClientAndContactInput!) {\r\n createClientAndContact(input: $input) {\r\n status\r\n error\r\n }\r\n }\r\n`;\r\n\r\nexport const CreateClientContactMutation = gql`\r\n mutation CreateClientContact($input: CreateClientContactInput!) {\r\n createClientContact(input: $input) {\r\n status\r\n error\r\n }\r\n }\r\n`;\r\n\r\nexport const CreateContactMutation = gql`\r\n mutation CreateContact($input: CreateContactInput!) {\r\n createContact(input: $input) {\r\n status\r\n error\r\n }\r\n }\r\n`;\r\n\r\nexport const CompleteCreateClientMutation = gql`\r\n mutation CompleteCreateClient($input: CompleteCreateClientInput!) {\r\n completeCreateClient(input: $input) {\r\n status\r\n error\r\n }\r\n }\r\n`;\r\n\r\nexport const CreateEnquirySubscription = gql`\r\n subscription CreateEnquirySubscription {\r\n createEnquiryNotification {\r\n id\r\n description\r\n status\r\n message\r\n enquiryDetail {\r\n guid\r\n createdDate\r\n lastUpdated\r\n isClosed\r\n firstName\r\n lastName\r\n email\r\n gender\r\n initialEnquiryDate\r\n phone\r\n mobile\r\n sourceGuidID\r\n source\r\n officeGuidID\r\n office\r\n sourceNotes\r\n organisation\r\n positionAtOrganisation\r\n natureOfEnquiry\r\n practiceAreaGuidID\r\n areaOfLaw\r\n dateAssigned\r\n assignedTo\r\n assignedToName\r\n assignedToEmailAddress\r\n assignedBy\r\n assignedByName\r\n assignedByEmailAddress\r\n assignmentReminderOffset\r\n followUpDueDate\r\n followUpActionGuidID\r\n followUpAction\r\n followUpDate\r\n followUpNotes\r\n outcomeGuidID\r\n outcome\r\n outcomeDate\r\n reasonGuidID\r\n reason\r\n internalNotes\r\n internalNotesGuidID\r\n isKeyOpportunity\r\n referrerGuid\r\n referrerName\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const UpdateEnquirySubscription = gql`\r\n subscription UpdateEnquirySubscription {\r\n updateEnquiryNotification {\r\n id\r\n description\r\n status\r\n message\r\n enquiryDetail {\r\n guid\r\n createdDate\r\n lastUpdated\r\n isClosed\r\n firstName\r\n lastName\r\n email\r\n gender\r\n initialEnquiryDate\r\n phone\r\n mobile\r\n sourceGuidID\r\n source\r\n officeGuidID\r\n office\r\n sourceNotes\r\n organisation\r\n positionAtOrganisation\r\n natureOfEnquiry\r\n practiceAreaGuidID\r\n areaOfLaw\r\n dateAssigned\r\n assignedTo\r\n assignedToName\r\n assignedToEmailAddress\r\n assignedBy\r\n assignedByName\r\n assignedByEmailAddress\r\n assignmentReminderOffset\r\n followUpDueDate\r\n followUpActionGuidID\r\n followUpAction\r\n followUpDate\r\n followUpNotes\r\n outcomeGuidID\r\n outcome\r\n outcomeDate\r\n reasonGuidID\r\n reason\r\n internalNotes\r\n internalNotesGuidID\r\n isKeyOpportunity\r\n referrerGuid\r\n referrerName\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const DeleteEnquirySubscription = gql`\r\n subscription DeleteEnquirySubscription {\r\n deleteEnquiryNotification {\r\n id\r\n description\r\n status\r\n message\r\n guid\r\n }\r\n }\r\n`;\r\n\r\nexport const FollowUpEnquiryNotification = gql`\r\n subscription followUpEnquirySubscription {\r\n followUpEnquiryNotification {\r\n id\r\n status\r\n description\r\n message\r\n enquiryDetail {\r\n guid\r\n createdDate\r\n lastUpdated\r\n isClosed\r\n firstName\r\n lastName\r\n email\r\n gender\r\n initialEnquiryDate\r\n phone\r\n mobile\r\n sourceGuidID\r\n source\r\n officeGuidID\r\n office\r\n sourceNotes\r\n organisation\r\n positionAtOrganisation\r\n natureOfEnquiry\r\n practiceAreaGuidID\r\n areaOfLaw\r\n dateAssigned\r\n assignedTo\r\n assignedToName\r\n assignedToEmailAddress\r\n assignedBy\r\n assignedByName\r\n assignedByEmailAddress\r\n assignmentReminderOffset\r\n followUpDueDate\r\n followUpActionGuidID\r\n followUpAction\r\n followUpDate\r\n followUpNotes\r\n outcomeGuidID\r\n outcome\r\n outcomeDate\r\n reasonGuidID\r\n reason\r\n internalNotes\r\n internalNotesGuidID\r\n isKeyOpportunity\r\n referrerGuid\r\n referrerName\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const AssignEnquiryToStaffNotification = gql`\r\n subscription assignEnquiryToStaffNotification {\r\n assignEnquiryToStaffNotification {\r\n id\r\n status\r\n description\r\n message\r\n enquiryDetail {\r\n guid\r\n createdDate\r\n lastUpdated\r\n isClosed\r\n firstName\r\n lastName\r\n email\r\n gender\r\n initialEnquiryDate\r\n phone\r\n mobile\r\n sourceGuidID\r\n source\r\n officeGuidID\r\n office\r\n sourceNotes\r\n organisation\r\n positionAtOrganisation\r\n natureOfEnquiry\r\n practiceAreaGuidID\r\n areaOfLaw\r\n dateAssigned\r\n assignedTo\r\n assignedToName\r\n assignedToEmailAddress\r\n assignedBy\r\n assignedByName\r\n assignedByEmailAddress\r\n assignmentReminderOffset\r\n followUpDueDate\r\n followUpActionGuidID\r\n followUpAction\r\n followUpDate\r\n followUpNotes\r\n outcomeGuidID\r\n outcome\r\n outcomeDate\r\n reasonGuidID\r\n reason\r\n internalNotes\r\n internalNotesGuidID\r\n isKeyOpportunity\r\n referrerGuid\r\n referrerName\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const CreateClientAndContactNotification = gql`\r\n subscription createClientAndContactNotification {\r\n createClientAndContactNotification {\r\n id\r\n status\r\n message\r\n description\r\n }\r\n }\r\n`;\r\n\r\nexport const CreateClientContactNotification = gql`\r\n subscription createClientContactNotification {\r\n createClientContactNotification {\r\n id\r\n status\r\n message\r\n description\r\n }\r\n }\r\n`;\r\n\r\nexport const CreateContactNotification = gql`\r\n subscription createContactNotification {\r\n createContactNotification {\r\n id\r\n status\r\n message\r\n description\r\n }\r\n }\r\n`;\r\n\r\nexport const CompleteCreateClientNotification = gql`\r\n subscription completeCreateClientNotification {\r\n completeCreateClientNotification {\r\n id\r\n status\r\n message\r\n description\r\n }\r\n }\r\n`;\r\n\r\nconst EnquiryActionsData = gql`\r\n query EnquiryActionsData($guid: String) {\r\n enquiry {\r\n detail(guid: $guid) {\r\n guid\r\n createdDate\r\n createdByName\r\n lastUpdated\r\n isClosed\r\n firstName\r\n lastName\r\n name\r\n email\r\n gender\r\n initialEnquiryDate\r\n phone\r\n mobile\r\n sourceGuidID\r\n source\r\n isSourceReferrer\r\n officeGuidID\r\n office\r\n sourceNotes\r\n organisation\r\n positionAtOrganisation\r\n natureOfEnquiry\r\n practiceAreaGuidID\r\n areaOfLaw\r\n dateAssigned\r\n assignedTo\r\n assignedToName\r\n assignedToEmailAddress\r\n assignedBy\r\n assignedByName\r\n assignedByEmailAddress\r\n assignmentReminderOffset\r\n followUpDueDate\r\n followUpActionGuidID\r\n followUpAction\r\n followUpDate\r\n followUpNotes\r\n outcomeGuidID\r\n outcome\r\n outcomeDate\r\n reasonGuidID\r\n reason\r\n internalNotes\r\n internalNotesGuidID\r\n isKeyOpportunity\r\n referrerGuid\r\n referrerName\r\n nameGuid\r\n nameTitle\r\n organisationGuid\r\n clientRelationshipToEnquirer\r\n isMarketingConsent\r\n isTermsAndConditionsApproved\r\n isPrivacyStatementProvided\r\n isConflictCheckPerformed\r\n isIdentityCheckPerformed\r\n isNoConflict\r\n estimatedFees\r\n isEstimatedFeesIncludesTax\r\n estimatedDisbursements\r\n isEstimatedDisbursementsIncludesTax\r\n enquiryQuality\r\n likelihoodToProceed\r\n dOB\r\n clientFirstName\r\n clientLastName\r\n addressName\r\n floor\r\n number\r\n street\r\n clientAddressStreet2\r\n suburb\r\n state\r\n postcode\r\n country\r\n pOBoxType\r\n pOBox\r\n postalSuburb\r\n postalState\r\n postalPostCode\r\n postalCountry\r\n clientRelationshipToEnquirer\r\n files {\r\n guidID\r\n name\r\n url\r\n }\r\n matterId\r\n matterGuid\r\n matterTitle\r\n matterFileNumber\r\n assignedToIsStaff\r\n assignedToStaffGuid\r\n assignedToStaffName\r\n otherPartyFirstName\r\n otherPartyLastName\r\n otherPartyNotes\r\n otherPartyEmail\r\n otherPartyPhone\r\n otherPartyMobile\r\n otherPartyOrganisation\r\n enquiryNotes\r\n integrationContactId\r\n integrationClientId\r\n integrationOtherPartyId\r\n integrationMatterId\r\n integrationMatterDocumentId\r\n\r\n otherPartyDOB\r\n otherPartyAddressName\r\n otherPartyFloor\r\n otherPartyNumber\r\n otherPartyStreet\r\n otherPartyStreet2\r\n otherPartySuburb\r\n otherPartyState\r\n otherPartyPostcode\r\n otherPartyCountry\r\n\r\n otherPartyPOBoxType\r\n otherPartyPOBox\r\n otherPartyPostalSuburb\r\n otherPartyPostalState\r\n otherPartyPostalPostCode\r\n otherPartyPostalCountry\r\n otherPartyNameGuid\r\n otherPartyOrganisationGuid\r\n \r\n isRiskAssessed\r\n riskLevelGuid\r\n riskLevel\r\n riskNotes\r\n\r\n secondClientFirstName\r\n secondClientLastName\r\n secondClientRelationshipToEnquirer\r\n secondClientGender\r\n secondClientSuburb\r\n secondClientState\r\n secondClientPostCode\r\n secondClientIsMarketingConsent\r\n secondClientIsTermsAndConditionsApproved\r\n secondClientIsPrivacyStatementProvided\r\n secondClientIsConflictCheckPerformed\r\n secondClientIsIdentityCheckPerformed\r\n secondClientIsNoConflict\r\n\r\n secondClientCountry\r\n secondClientAddressName\r\n secondClientFloor\r\n secondClientNumber\r\n secondClientStreet1,\r\n secondClientStreet2,\r\n secondClientDOB,\r\n\r\n secondClientPOBoxType,\r\n secondClientPOBox,\r\n secondClientPostalSuburb,\r\n secondClientPostalState,\r\n secondClientPostalPostCode,\r\n secondClientPostalCountry,\r\n secondClientGuid\r\n\r\n }\r\n actions(guid: $guid) {\r\n canModify\r\n canAssign\r\n canFollowUp\r\n canCreateClient\r\n canEmailAssignee\r\n canReOpen\r\n canCreateContactForLostEnquiry\r\n canMessageAssignee\r\n canLinkMatter\r\n canChangeLinkedMatter\r\n canCreateMatter\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport function fetchEnquiryDetailsData(\r\n refreshData: boolean,\r\n guid: string,\r\n onSuccess: (data?: EnquiryData) => void,\r\n // tslint:disable-next-line:no-any\r\n onError: (reason: any) => void,\r\n): void {\r\n var fetchPolicy: FetchPolicy = refreshData === true ? 'network-only' : 'cache-first';\r\n\r\n client\r\n .query({\r\n query: EnquiryActionsData,\r\n variables: { guid: guid },\r\n fetchPolicy: fetchPolicy,\r\n })\r\n // tslint:disable-next-line:no-any\r\n .then((results: { data: any }) => {\r\n onSuccess(results.data);\r\n })\r\n // tslint:disable-next-line:no-any\r\n .catch((reason: any) => {\r\n onError(reason);\r\n });\r\n}\r\n\r\nexport function fetchAppUserData(\r\n refreshData: boolean,\r\n onSuccess: (data?: AppUserData) => void,\r\n // tslint:disable-next-line:no-any\r\n onError: (reason: any) => void,\r\n): void {\r\n var fetchPolicy: FetchPolicy = refreshData === true ? 'network-only' : 'cache-first';\r\n\r\n client\r\n .query({\r\n query: UserData,\r\n variables: {},\r\n fetchPolicy: fetchPolicy,\r\n })\r\n // tslint:disable-next-line:no-any\r\n .then((results: { data: any }) => {\r\n onSuccess(results.data);\r\n })\r\n // tslint:disable-next-line:no-any\r\n .catch((reason: any) => {\r\n onError(reason);\r\n });\r\n}\r\n\r\nexport function fetchHomeCountry(\r\n refreshData: boolean,\r\n onSuccess: (data?: OptionData) => void,\r\n // tslint:disable-next-line:no-any\r\n onError: (reason: any) => void,\r\n): void {\r\n var fetchPolicy: FetchPolicy = refreshData === true ? 'network-only' : 'cache-first';\r\n\r\n client\r\n .query({\r\n query: HomeCountryData,\r\n variables: {},\r\n fetchPolicy: fetchPolicy,\r\n })\r\n // tslint:disable-next-line:no-any\r\n .then((results: { data: any }) => {\r\n onSuccess(results.data);\r\n })\r\n // tslint:disable-next-line:no-any\r\n .catch((reason: any) => {\r\n onError(reason);\r\n });\r\n}\r\n\r\nexport function fetchTenantData(\r\n refreshData: boolean,\r\n onSuccess: (data?: TenantData) => void,\r\n // tslint:disable-next-line:no-any\r\n onError: (reason: any) => void,\r\n): void {\r\n var fetchPolicy: FetchPolicy = refreshData === true ? 'network-only' : 'cache-first';\r\n\r\n client\r\n .query({\r\n query: TenantDataQuery,\r\n variables: {},\r\n fetchPolicy: fetchPolicy,\r\n })\r\n // tslint:disable-next-line:no-any\r\n .then((results: { data: any }) => {\r\n onSuccess(results.data);\r\n })\r\n // tslint:disable-next-line:no-any\r\n .catch((reason: any) => {\r\n onError(reason);\r\n });\r\n}\r\n\r\nexport function fetchEnquiryScope(\r\n refreshData: boolean,\r\n onSuccess: (data?: EnquiryData) => void,\r\n // tslint:disable-next-line:no-any\r\n onError: (reason: any) => void,\r\n): void {\r\n var fetchPolicy: FetchPolicy = refreshData === true ? 'network-only' : 'cache-first';\r\n\r\n client\r\n .query({\r\n query: EnquiryScope,\r\n variables: {},\r\n fetchPolicy: fetchPolicy,\r\n })\r\n // tslint:disable-next-line:no-any\r\n .then((results: { data: any }) => {\r\n onSuccess(results.data);\r\n })\r\n // tslint:disable-next-line:no-any\r\n .catch((reason: any) => {\r\n onError(reason);\r\n });\r\n}\r\n\r\nexport function fetchTenantTimezoneData(\r\n refreshData: boolean,\r\n onSuccess: (data?: RegionSettingsData) => void,\r\n // tslint:disable-next-line:no-any\r\n onError: (reason: any) => void,\r\n): void {\r\n var fetchPolicy: FetchPolicy = refreshData === true ? 'network-only' : 'cache-first';\r\n\r\n client\r\n .query({\r\n query: TenantTimezoneDataQuery,\r\n variables: {},\r\n fetchPolicy: fetchPolicy,\r\n })\r\n // tslint:disable-next-line:no-any\r\n .then((results: { data: any }) => {\r\n onSuccess(results.data);\r\n })\r\n // tslint:disable-next-line:no-any\r\n .catch((reason: any) => {\r\n onError(reason);\r\n });\r\n}\r\n\r\nexport const EnquiryScope = gql`\r\n query enquiryScope {\r\n enquiry {\r\n scope {\r\n showMyEnquiriesOnly\r\n myEnquiriesOnlySelected\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const UserData = gql`\r\n query AppUser {\r\n appUser {\r\n isAdministrator\r\n name\r\n userId\r\n userName\r\n }\r\n }\r\n`;\r\n\r\nexport const HomeCountryData = gql`\r\n query homeCountry {\r\n options {\r\n homeCountry {\r\n stringValue\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const TenantDataQuery = gql`\r\n query Tenant {\r\n tenant {\r\n sourceSystem\r\n useVerificationLinkForNewUsers\r\n }\r\n }\r\n`;\r\n\r\nexport const TenantTimezoneDataQuery = gql`\r\n query tenantTimezone {\r\n settings {\r\n id\r\n systems {\r\n id\r\n regionSettings {\r\n id\r\n config {\r\n id\r\n timeZone\r\n timeZoneDescription\r\n baseUtcOffset\r\n }\r\n }\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport interface EnquiryStatusesParams extends EnquirySummaryQueryParams {\r\n isIncludeCount: boolean | null;\r\n}\r\n\r\nexport function retrieveEnquiryStatusesData(\r\n query: EnquiryStatusesParams,\r\n refreshData: boolean,\r\n onSuccess: (data: EnquiryData) => void,\r\n // tslint:disable-next-line:no-any\r\n onError: (reason: any) => void,\r\n): void {\r\n var fetchPolicy: FetchPolicy = refreshData === true ? 'network-only' : 'cache-first';\r\n client\r\n .query({\r\n query: EnquiryStatuses,\r\n variables: {\r\n isIncludeCount: query.isIncludeCount,\r\n offset: null,\r\n first: null,\r\n filter: query.filter,\r\n isIncludeCurrent: query.isIncludeCurrent,\r\n isIncludeClosed: query.isIncludeClosed,\r\n isMyEnquiriesOnly: query.isMyEnquiriesOnly,\r\n sortColumn: null,\r\n sortDirection: null,\r\n groupBy: null,\r\n groupByValue: null,\r\n followUpDue: query.followUpDue,\r\n newEnquiry: query.newEnquiry,\r\n assignedTo: query.assignedTo,\r\n areaOfLaw: query.areaOfLaw,\r\n teamList: query.teamList,\r\n isKeyOpportunity: query.isKeyOpportunity,\r\n enquiryQuality: query.enquiryQuality,\r\n enquiryLikelihoodToProceed: query.enquiryLikelihoodToProceed,\r\n meetingWith: query.meetingWith,\r\n status: query.status,\r\n },\r\n fetchPolicy: fetchPolicy,\r\n })\r\n // tslint:disable-next-line:no-any\r\n .then((results: { data: any }) => {\r\n onSuccess(results.data);\r\n })\r\n // tslint:disable-next-line:no-any\r\n .catch((reason: any) => {\r\n onError(reason);\r\n });\r\n}\r\n\r\nexport const EnquiryStatuses = gql`\r\n # Write your query or mutation here\r\n query enquiryStatuses(\r\n $isIncludeCount: Boolean\r\n $offset: Int\r\n $first: Int\r\n $filter: String\r\n $isIncludeCurrent: Boolean\r\n $isIncludeClosed: Boolean\r\n $isMyEnquiriesOnly: Boolean\r\n $sortColumn: String\r\n $sortDirection: String\r\n $groupBy: String\r\n $groupByValue: String\r\n $followUpDue: String\r\n $newEnquiry: String\r\n $assignedTo: String\r\n $areaOfLaw: String\r\n $teamList: String\r\n $isKeyOpportunity: Boolean\r\n $enquiryQuality: String\r\n $enquiryLikelihoodToProceed: String\r\n $meetingWith: String\r\n $status: String\r\n $sourceList: String\r\n $location: String\r\n ) {\r\n enquiry {\r\n statuses(\r\n isIncludeCount: $isIncludeCount\r\n offset: $offset\r\n first: $first\r\n filter: $filter\r\n isIncludeCurrent: $isIncludeCurrent\r\n isIncludeClosed: $isIncludeClosed\r\n isMyEnquiriesOnly: $isMyEnquiriesOnly\r\n sortColumn: $sortColumn\r\n sortDirection: $sortDirection\r\n groupBy: $groupBy\r\n groupByValue: $groupByValue\r\n followUpDue: $followUpDue\r\n newEnquiry: $newEnquiry\r\n assignedTo: $assignedTo\r\n areaOfLaw: $areaOfLaw\r\n teamList: $teamList\r\n isKeyOpportunity: $isKeyOpportunity\r\n enquiryQuality: $enquiryQuality\r\n enquiryLikelihoodToProceed: $enquiryLikelihoodToProceed\r\n meetingWith: $meetingWith\r\n status: $status\r\n sourceList: $sourceList,\r\n location: $location\r\n ) {\r\n guid\r\n description\r\n count\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport interface FirmData {\r\n loading?: boolean;\r\n networkStatus?: number;\r\n firm: Firm;\r\n}\r\n\r\nexport interface Firm {\r\n teams: Teams;\r\n}\r\n\r\nexport interface Teams {\r\n team: Team[];\r\n}\r\n\r\nexport interface Team {\r\n id: number;\r\n guidID: string;\r\n description: string;\r\n staffCount: number;\r\n taskCount: number;\r\n enquiryCount: number;\r\n}\r\n\r\nexport interface EnquiryFirmTeamParams extends EnquirySummaryQueryParams {\r\n isIncludeEnquiryCount: boolean | null;\r\n onlyUsedByEnquiries: boolean | null;\r\n}\r\n\r\nexport function retrieveFirmTeamData(\r\n query: EnquiryFirmTeamParams,\r\n refreshData: boolean,\r\n onSuccess: (data: FirmData) => void,\r\n // tslint:disable-next-line:no-any\r\n onError: (reason: any) => void,\r\n): void {\r\n var fetchPolicy: FetchPolicy = refreshData === true ? 'network-only' : 'cache-first';\r\n client\r\n .query({\r\n query: FirmTeams,\r\n variables: {\r\n isIncludeEnquiryCount: query.isIncludeEnquiryCount,\r\n\r\n offset: null,\r\n first: null,\r\n filter: query.filter,\r\n isIncludeCurrent: query.isIncludeCurrent,\r\n isIncludeClosed: query.isIncludeClosed,\r\n isMyEnquiriesOnly: query.isMyEnquiriesOnly,\r\n sortColumn: null,\r\n sortDirection: null,\r\n groupBy: null,\r\n groupByValue: null,\r\n followUpDue: query.followUpDue,\r\n newEnquiry: query.newEnquiry,\r\n assignedTo: query.assignedTo,\r\n areaOfLaw: query.areaOfLaw,\r\n teamList: query.teamList,\r\n isKeyOpportunity: query.isKeyOpportunity,\r\n enquiryQuality: query.enquiryQuality,\r\n enquiryLikelihoodToProceed: query.enquiryLikelihoodToProceed,\r\n onlyUsedByEnquiries: query.onlyUsedByEnquiries,\r\n },\r\n fetchPolicy: fetchPolicy,\r\n })\r\n // tslint:disable-next-line:no-any\r\n .then((results: { data: any }) => {\r\n onSuccess(results.data);\r\n })\r\n // tslint:disable-next-line:no-any\r\n .catch((reason: any) => {\r\n onError(reason);\r\n });\r\n}\r\n\r\nexport const FirmTeams = gql`\r\n query firmTeams(\r\n $isIncludeEnquiryCount: Boolean\r\n $offset: Int\r\n $first: Int\r\n $filter: String\r\n $isIncludeCurrent: Boolean\r\n $isIncludeClosed: Boolean\r\n $isMyEnquiriesOnly: Boolean\r\n $sortColumn: String\r\n $sortDirection: String\r\n $groupBy: String\r\n $groupByValue: String\r\n $followUpDue: String\r\n $newEnquiry: String\r\n $assignedTo: String\r\n $areaOfLaw: String\r\n $teamList: String\r\n $isKeyOpportunity: Boolean\r\n $enquiryQuality: String\r\n $onlyUsedByEnquiries: Boolean\r\n $enquiryLikelihoodToProceed: String\r\n ) {\r\n firm {\r\n teams(\r\n isIncludeEnquiryCount: $isIncludeEnquiryCount\r\n offset: $offset\r\n first: $first\r\n filter: $filter\r\n isIncludeCurrent: $isIncludeCurrent\r\n isIncludeClosed: $isIncludeClosed\r\n isMyEnquiriesOnly: $isMyEnquiriesOnly\r\n sortColumn: $sortColumn\r\n sortDirection: $sortDirection\r\n groupBy: $groupBy\r\n groupByValue: $groupByValue\r\n followUpDue: $followUpDue\r\n newEnquiry: $newEnquiry\r\n assignedTo: $assignedTo\r\n areaOfLaw: $areaOfLaw\r\n teamList: $teamList\r\n isKeyOpportunity: $isKeyOpportunity\r\n enquiryQuality: $enquiryQuality\r\n enquiryLikelihoodToProceed: $enquiryLikelihoodToProceed\r\n onlyUsedByEnquiries: $onlyUsedByEnquiries\r\n ) {\r\n team {\r\n id\r\n guidID\r\n description\r\n enquiryCount\r\n }\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport interface EmailTemplateCountQueryParams {\r\n emailType: string | null;\r\n areaOfLaw: string;\r\n}\r\n\r\nexport interface EmailTemplateData {\r\n loading?: boolean;\r\n networkStatus?: number;\r\n templates: Templates;\r\n}\r\n\r\nexport interface Templates {\r\n emailTemplateCount: EmailTemplateCount;\r\n}\r\n\r\nexport interface EmailTemplateCount {\r\n count: number;\r\n}\r\n\r\nexport function retrieveEmailTemplateCount(\r\n query: EmailTemplateCountQueryParams,\r\n refreshData: boolean,\r\n onSuccess: (data: EmailTemplateData) => void,\r\n // tslint:disable-next-line:no-any\r\n onError: (reason: any) => void,\r\n): void {\r\n var fetchPolicy: FetchPolicy = refreshData === true ? 'network-only' : 'cache-first';\r\n client\r\n .query({\r\n query: EmailTemplateCountData,\r\n variables: {\r\n emailType: query.emailType,\r\n areaOfLaw: query.areaOfLaw,\r\n },\r\n fetchPolicy: fetchPolicy,\r\n })\r\n // tslint:disable-next-line:no-any\r\n .then((results: { data: any }) => {\r\n onSuccess(results.data);\r\n })\r\n // tslint:disable-next-line:no-any\r\n .catch((reason: any) => {\r\n onError(reason);\r\n });\r\n}\r\n\r\nconst EmailTemplateCountData = gql`\r\n query EmailTemplateCount($emailType: EmailType, $areaOfLaw: String) {\r\n templates {\r\n emailTemplateCount(emailType: $emailType, areaOfLaw: $areaOfLaw) {\r\n count\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport interface EnquiryDefaultSettings {\r\n loading?: boolean;\r\n networkStatus?: number;\r\n settings: Settings;\r\n}\r\n\r\nexport interface Settings {\r\n systems: Systems;\r\n}\r\n\r\nexport interface Systems {\r\n enquiryDefaults: EnquiryDefaults;\r\n}\r\n\r\nexport interface EnquiryDefaults {\r\n config: EnquiryDefaultConfig;\r\n}\r\n\r\nexport interface EnquiryDefaultConfig {\r\n defaultMeetingLength: String;\r\n isCalculatedDays: Boolean;\r\n isCalculatedHours: Boolean;\r\n isManualEntry: Boolean;\r\n addDays: number;\r\n addHours: number;\r\n timeOfDay: String;\r\n reminder: string;\r\n overdueReminder: string;\r\n isLocationFieldMandatory: boolean;\r\n isSourceNotesMandatory: boolean;\r\n isInternalNotesMandatory: boolean;\r\n isEventAndCampaignMandatory: boolean;\r\n isNatureOfEnquiryMandatory: boolean;\r\n}\r\n\r\nexport function retrieveEnquiryDefaultSettings(\r\n refreshData: boolean,\r\n onSuccess: (data: EnquiryDefaultSettings) => void,\r\n // tslint:disable-next-line:no-any\r\n onError: (reason: any) => void,\r\n): void {\r\n var fetchPolicy: FetchPolicy = refreshData === true ? 'network-only' : 'cache-first';\r\n client\r\n .query({\r\n query: EnquirySettingsData,\r\n variables: {},\r\n fetchPolicy: fetchPolicy,\r\n })\r\n // tslint:disable-next-line:no-any\r\n .then((results: { data: any }) => {\r\n onSuccess(results.data);\r\n })\r\n // tslint:disable-next-line:no-any\r\n .catch((reason: any) => {\r\n onError(reason);\r\n });\r\n}\r\n\r\nconst EnquirySettingsData = gql`\r\n query enquirySettings {\r\n settings {\r\n id\r\n systems {\r\n id\r\n enquiryDefaults {\r\n id\r\n config {\r\n id\r\n defaultMeetingLength\r\n isCalculatedDays\r\n isCalculatedHours\r\n isManualEntry\r\n addDays\r\n addHours\r\n timeOfDay\r\n reminder\r\n overdueReminder\r\n isLocationFieldMandatory\r\n isSourceNotesMandatory\r\n isInternalNotesMandatory\r\n isEventAndCampaignMandatory\r\n isNatureOfEnquiryMandatory\r\n }\r\n }\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport interface GeneralInfoDataParams {\r\n id: number;\r\n}\r\nexport interface GeneralInfoData {\r\n matter: Matter;\r\n}\r\n\r\nexport interface Matter {\r\n id: number;\r\n matterCategory: string;\r\n country: null;\r\n family: null;\r\n fileLocation: null;\r\n fileNumber: string;\r\n firbStatus: null;\r\n lastUpdate: Date;\r\n matterType: string;\r\n property: null;\r\n propertyLabel: null;\r\n stage: null;\r\n state: string;\r\n status: string;\r\n description: string;\r\n title: string;\r\n images: Images;\r\n client: string;\r\n nameID: number;\r\n financials: Financials;\r\n}\r\n\r\nexport interface Financials {\r\n estimatedCosts: number;\r\n billedTimeAndFees: number;\r\n billedDisbursements: number;\r\n unbilledTimeAndFees: number;\r\n unbilledDisbursements: number;\r\n balanceDue: number;\r\n trustDeposits: number;\r\n trustWithdrawals: number;\r\n trustGeneralBalance: number;\r\n trustControlledMoneyBalance: number;\r\n trustInvestmentBalance: number;\r\n billingMethod: string;\r\n costAgreementReceived: string;\r\n agedDebtorCurrent: number;\r\n agedDebtor30Days: number;\r\n agedDebtor60Days: number;\r\n agedDebtor90Days: number;\r\n}\r\n\r\nexport interface Images {\r\n recordCount: number;\r\n // tslint:disable-next-line: no-any\r\n image: any[];\r\n}\r\n\r\nexport function retrieveGeneralInfoData(\r\n query: GeneralInfoDataParams,\r\n refreshData: boolean,\r\n onSuccess: (data: GeneralInfoData) => void,\r\n // tslint:disable-next-line:no-any\r\n onError: (reason: any) => void,\r\n): void {\r\n var fetchPolicy: FetchPolicy = refreshData === true ? 'network-only' : 'cache-first';\r\n client\r\n .query({\r\n query: GENERAL_INFO_QUERY,\r\n variables: {\r\n id: query.id,\r\n },\r\n fetchPolicy: fetchPolicy,\r\n })\r\n // tslint:disable-next-line:no-any\r\n .then((results: { data: any }) => {\r\n onSuccess(results.data);\r\n })\r\n // tslint:disable-next-line:no-any\r\n .catch((reason: any) => {\r\n onError(reason);\r\n });\r\n}\r\n\r\nconst GENERAL_INFO_QUERY = gql`\r\n query GeneralInfoData($id: Int!) {\r\n matter(id: $id) {\r\n id\r\n matterCategory\r\n country\r\n family\r\n fileLocation\r\n fileNumber\r\n firbStatus\r\n lastUpdate\r\n matterType\r\n property\r\n propertyLabel\r\n stage\r\n state\r\n status\r\n description\r\n title\r\n client\r\n nameID\r\n id\r\n financials {\r\n estimatedCosts\r\n billedTimeAndFees\r\n billedDisbursements\r\n unbilledTimeAndFees\r\n unbilledDisbursements\r\n balanceDue\r\n trustDeposits\r\n trustWithdrawals\r\n trustGeneralBalance\r\n trustControlledMoneyBalance\r\n trustInvestmentBalance\r\n billingMethod\r\n costAgreementReceived\r\n agedDebtorCurrent\r\n agedDebtor30Days\r\n agedDebtor60Days\r\n agedDebtor90Days\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport interface UpdateEnquiryQualityParams {\r\n guidId: string | null;\r\n enquiryQuality: number | null;\r\n isKeyOpportunity: boolean | null;\r\n}\r\n\r\nexport const UpdateEnquiryQualityMutation = gql`\r\n mutation updateEnquiryQuality($guidId: String, $enquiryQuality: Int, $isKeyOpportunity: Boolean) {\r\n updateEnquiryQuality(guid: $guidId, enquiryQuality: $enquiryQuality, isKeyOpportunity: $isKeyOpportunity) {\r\n error\r\n status\r\n }\r\n }\r\n`;\r\n\r\nexport interface UpdateLikelihoodParams {\r\n guidId: string | null;\r\n likelihoodToProceed: number | null;\r\n isKeyOpportunity: boolean | null;\r\n}\r\n\r\nexport const UpdateEnquiryLikelihoodMutation = gql`\r\n mutation updateEnquiryLikelihood($guidId: String, $likelihoodToProceed: Int, $isKeyOpportunity: Boolean) {\r\n updateEnquiryLikelihood(guid: $guidId, likelihoodToProceed: $likelihoodToProceed, isKeyOpportunity: $isKeyOpportunity) {\r\n error\r\n status\r\n }\r\n }\r\n`;\r\n\r\nexport const UploadEnquiryMatterDocumentMutation = gql`\r\nmutation UploadEnquiryMatterDocumentMutation ($input: EnquiryMatterDocumentInput){\r\n uploadEnquiryMatterDocument(input: $input){\r\n status,\r\n error\r\n }\r\n}`;\r\n\r\nexport const UploadEnquiryMatterDocumentNotification = gql`\r\nsubscription uploadEnquiryMatterDocumentNotification {\r\n uploadEnquiryMatterDocumentNotification{\r\n id,\r\n status,\r\n message,\r\n description\r\n }\r\n}`;\r\n"],"sourceRoot":""}