Skip to content

Commit

Permalink
Migrate contact tab to React Router
Browse files Browse the repository at this point in the history
  • Loading branch information
cgsunkel committed Jan 18, 2024
1 parent 334746c commit 2bf35aa
Show file tree
Hide file tree
Showing 8 changed files with 56 additions and 74 deletions.
1 change: 0 additions & 1 deletion src/apps/companies/__test__/router.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ describe('Company router', () => {
'/:companyId',
'/:companyId/details',
'/:companyId/hierarchies/subsidiaries/:subsidiaryCompanyId/add',
'/:companyId/contacts',
'/:companyId/orders',
'/:companyId/manage-company-list',
'/:companyId/subsidiaries',
Expand Down
18 changes: 0 additions & 18 deletions src/apps/companies/controllers/contacts.js

This file was deleted.

3 changes: 0 additions & 3 deletions src/apps/companies/router.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ const { renderDetails } = require('./controllers/details')

const { renderOrders } = require('./controllers/orders')
const { archiveCompany, unarchiveCompany } = require('./controllers/archive')
const { renderContacts } = require('./controllers/contacts')
const { renderSubsidiaries } = require('./controllers/subsidiaries')

const {
Expand Down Expand Up @@ -83,8 +82,6 @@ router.get(urls.companies.details.route, renderDetails)

router.get(urls.companies.hierarchies.subsidiaries.add.route, addSubsidiary)

router.get(urls.companies.contacts.route, setReturnUrl, renderContacts)

router.get(urls.companies.orders.route, setReturnUrl, renderOrders)
router.use(
urls.companies.investments.companyInvestment.route,
Expand Down
9 changes: 0 additions & 9 deletions src/apps/companies/views/contacts.njk

This file was deleted.

1 change: 1 addition & 0 deletions src/apps/routers.js
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ const reactRoutes = [
'/companies/:companyId/hierarchies/ghq/:globalHqId/add',
'/companies/:companyId/hierarchies/ghq/remove',
'/companies/:companyId/activity',
'/companies/:companyId/contacts',
]

reactRoutes.forEach((path) => {
Expand Down
4 changes: 0 additions & 4 deletions src/client/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ import FlashMessages from './components/LocalHeader/FlashMessages.jsx'
import PersonalisedDashboard from './components/PersonalisedDashboard'
import CompanyOrdersCollection from '../client/modules/Omis/CollectionList/CompanyOrdersCollection'
import InvestmentProjectForm from '../apps/investments/client/projects/create/InvestmentProjectForm'
import CompaniesContactsCollection from '../client/modules/Contacts/CollectionList/CompanyContactsCollection.jsx'
import ContactActivity from './modules/Contacts/ContactActivity/ContactActivity'
import ContactLocalHeader from './components/ContactLocalHeader'
import ContactDetails from './modules/Contacts/ContactDetails/ContactDetails'
Expand Down Expand Up @@ -225,9 +224,6 @@ function App() {
<Mount selector="#company-projects-collection">
{(props) => <CompanyProjectsCollection {...props} />}
</Mount>
<Mount selector="#company-contacts-collection">
{(props) => <CompaniesContactsCollection {...props} />}
</Mount>
<Mount selector="#dashboard-local-header">
{(props) => (
<SearchLocalHeader
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
import React from 'react'
import { connect } from 'react-redux'
import { Link, Details } from 'govuk-react'
import { useParams } from 'react-router-dom'

import { CONTACTS__LOADED } from '../../../actions'
import { FilteredCollectionList } from '../../../components'
import { listSkeletonPlaceholder } from '../../../components/SkeletonPlaceholder'
import { CompanyResource } from '../../../components/Resource'
import CompanyLayout from '../../../components/Layout/CompanyLayout'
import CompanyLayoutNew from '../../../components/Layout/CompanyLayoutNew'
import DefaultLayoutBase from '../../../components/Layout/DefaultLayoutBase'

import {
TASK_GET_CONTACTS_LIST,
Expand All @@ -14,17 +17,19 @@ import {
} from './state'

const CompanyContactsCollection = ({
companyId,
payload,
optionMetadata,
selectedFilters,
returnUrl,
...props
}) => {
const { companyId } = useParams()

const collectionListTask = {
name: TASK_GET_CONTACTS_LIST,
id: COMPANY_CONTACTS_LIST_ID,
progressMessage: 'loading contacts',
renderProgress: listSkeletonPlaceholder(),
startOnRender: {
payload: {
...payload,
Expand All @@ -35,43 +40,48 @@ const CompanyContactsCollection = ({
}

return (
<CompanyResource id={companyId}>
{(company) => (
<CompanyLayout
company={company}
breadcrumbs={[{ text: 'Contacts' }]}
returnUrl={returnUrl}
>
{company.archived && (
<Details
summary="Why can I not add a contact?"
data-test="archived-details"
>
Contacts cannot be added to an archived company.{' '}
<Link href={`/companies/${company.id}/unarchive`}>
Click here to unarchive
</Link>
</Details>
)}
<FilteredCollectionList
{...props}
collectionName="contact"
sortOptions={optionMetadata.sortOptions}
taskProps={collectionListTask}
selectedFilters={selectedFilters}
addItemUrl={
company.archived ? null : `/contacts/create?company=${company.id}`
}
entityName="contact"
defaultQueryParams={{
archived: ['false'],
sortby: 'modified_on:desc',
page: 1,
}}
/>
</CompanyLayout>
)}
</CompanyResource>
<DefaultLayoutBase>
<CompanyResource id={companyId}>
{(company) => (
<CompanyLayoutNew
company={company}
breadcrumbs={[{ text: 'Contacts' }]}
returnUrl={returnUrl}
pageTitle="Contacts"
>
{company.archived && (
<Details
summary="Why can I not add a contact?"
data-test="archived-details"
>
Contacts cannot be added to an archived company.{' '}
<Link href={`/companies/${company.id}/unarchive`}>
Click here to unarchive
</Link>
</Details>
)}
<FilteredCollectionList
{...props}
collectionName="contact"
sortOptions={optionMetadata.sortOptions}
taskProps={collectionListTask}
selectedFilters={selectedFilters}
addItemUrl={
company.archived
? null
: `/contacts/create?company=${company.id}`
}
entityName="contact"
defaultQueryParams={{
archived: ['false'],
sortby: 'modified_on:desc',
page: 1,
}}
/>
</CompanyLayoutNew>
)}
</CompanyResource>
</DefaultLayoutBase>
)
}

Expand Down
6 changes: 6 additions & 0 deletions src/client/routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ import CompanyBusinessDetails from './modules/Companies/CompanyBusinessDetails/C
import SetGlobalHQ from './modules/Companies/CompanyBusinessDetails/LinkGlobalHQ/SetGlobalHQ'
import RemoveGlobalHQ from './modules/Companies/CompanyBusinessDetails/LinkGlobalHQ/RemoveGlobalHQ'
import CompanyActivityCollection from './components/ActivityFeed/CollectionList/index'
import CompanyContactsCollection from './modules/Contacts/CollectionList/CompanyContactsCollection'

const routes = {
companies: [
Expand Down Expand Up @@ -194,6 +195,11 @@ const routes = {
module: 'datahub:companies',
component: CompanyActivityCollection,
},
{
path: '/companies/:companyId/contacts',
module: 'datahub:companies',
component: CompanyContactsCollection,
},
],
contacts: [
{
Expand Down

0 comments on commit 2bf35aa

Please sign in to comment.