Skip to content

Commit

Permalink
Refactor both export wins unconfirmed and confirmed tabs and URL paths (
Browse files Browse the repository at this point in the history
  • Loading branch information
paulgain authored Feb 22, 2024
1 parent 59ea8f6 commit 8835ab5
Show file tree
Hide file tree
Showing 14 changed files with 76 additions and 218 deletions.
4 changes: 2 additions & 2 deletions src/apps/routers.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ const reactRoutes = [
'/exportwins',
'/exportwins/create',
'/exportwins/:winId/edit',
'/exportwins/confirmed',
'/exportwins/unconfirmed',
'/exportwins/won',
'/exportwins/sent',
'/exportwins/:winId/details',
'/companies/:companyId/dnb-hierarchy',
'/companies/:companyId/company-tree',
Expand Down
4 changes: 2 additions & 2 deletions src/client/modules/ExportWins/Form/ExportWinForm.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ const ExportWinForm = ({
<Form
id="export-win-form"
showStepInUrl={true}
cancelRedirectTo={() => urls.companies.exportWins.unconfirmed()}
redirectTo={() => urls.companies.exportWins.unconfirmed()}
cancelRedirectTo={() => urls.companies.exportWins.sent()}
redirectTo={() => urls.companies.exportWins.sent()}
analyticsFormName="exportWinForm"
submissionTaskName={TASK_GET_EXPORT_WINS_SAVE_FORM}
initialValuesTaskName={initialValuesTaskName}
Expand Down
4 changes: 2 additions & 2 deletions src/client/modules/ExportWins/Redirect.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import { Redirect } from 'react-router-dom'

import urls from '../../../lib/urls'

// Redirect from /exportwins to /exportwins/unconfirmed
// Redirect from /exportwins to /exportwins/sent
const ExportsWinsRedirect = () => (
<Redirect to={urls.companies.exportWins.unconfirmed()} />
<Redirect to={urls.companies.exportWins.sent()} />
)

export default ExportsWinsRedirect
155 changes: 0 additions & 155 deletions src/client/modules/ExportWins/Unconfirmed/unconfirmed.json

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,25 +1,26 @@
import React from 'react'
import { Link as ReactRouterLink } from 'react-router-dom'
import { Button } from 'govuk-react'

import { CollectionItem } from '../../../components'
import { formatMediumDate } from '../../../utils/date'
import { currencyGBP } from '../../../utils/number-utils'
import ExportWinsResource from '../../../components/Resource/ExportWins'

import urls from '../../../../lib/urls'
import ExportWinsResource from '../../components/Resource/ExportWins'
import { currencyGBP } from '../../utils/number-utils'
import { formatMediumDate } from '../../utils/date'
import { CollectionItem } from '../../components'
import { WIN_FILTERS } from './constants'
import urls from '../../../lib/urls'

export default () => (
<ExportWinsResource.Paginated
id="unconfirmed-export-wins"
payload={{ filter: 'unconfirmed' }}
id="export-wins-sent"
payload={{ confirmed: WIN_FILTERS.SENT }}
>
{(page) => (
<ul>
{page.map((item) => (
<li key={item.id}>
<CollectionItem
headingText={item.company.name}
headingUrl={`${urls.companies.detail(item.company.id)}`}
headingUrl={urls.companies.overview.index(item.company.id)}
metadata={[
{ label: 'Destination', value: item.country.name },
{ label: 'Contact name', value: item.customer_name },
Expand All @@ -31,11 +32,12 @@ export default () => (
{ label: 'Date modified', value: '???' },
]}
buttons={
<div style={{ display: 'flex', gap: 10 }}>
<Button as="a" href={`review/${item.id}`}>
Review export win
</Button>
</div>
<Button
as={ReactRouterLink}
to={urls.companies.exportWins.details(item.id)}
>
Review export win
</Button>
}
/>
</li>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
import React from 'react'
import { Link as ReactRouterLink } from 'react-router-dom'
import { Table, Link } from 'govuk-react'
import styled from 'styled-components'
import { Link as ReactRouterLink } from 'react-router-dom/cjs/react-router-dom'

import { currencyGBP } from '../../../utils/number-utils'
import { formatMediumDate } from '../../../utils/date'
import ExportWinsResource from '../../../components/Resource/ExportWins'
import urls from '../../../../lib/urls'
import ExportWinsResource from '../../components/Resource/ExportWins'
import { currencyGBP } from '../../utils/number-utils'
import { formatMediumDate } from '../../utils/date'
import { WIN_FILTERS } from './constants'
import urls from '../../../lib/urls'

const NoWrapCell = styled(Table.Cell)`
white-space: nowrap;
`

export const ExportWinsTable = ({ exportWins }) => (
export const WinsWonTable = ({ exportWins }) => (
<Table
head={
<Table.Row>
Expand All @@ -36,7 +37,10 @@ export const ExportWinsTable = ({ exportWins }) => (
}) => (
<Table.Row key={id}>
<Table.Cell>
<Link as={ReactRouterLink} to={urls.companies.detail(company.id)}>
<Link
as={ReactRouterLink}
to={urls.companies.overview.index(company.id)}
>
{company.name}
</Link>
</Table.Cell>
Expand All @@ -47,8 +51,12 @@ export const ExportWinsTable = ({ exportWins }) => (
{formatMediumDate(customer_response?.created_on)}
</NoWrapCell>
<NoWrapCell>
{/* TODO: Add target to the link once the path is decided */}
<Link as={ReactRouterLink}>View details</Link>
<Link
as={ReactRouterLink}
to={urls.companies.exportWins.details(id)}
>
View details
</Link>
</NoWrapCell>
</Table.Row>
)
Expand All @@ -58,9 +66,9 @@ export const ExportWinsTable = ({ exportWins }) => (

export default () => (
<ExportWinsResource.Paginated
id="unconfirmed-export-wins"
payload={{ filter: 'confirmed' }}
id="export-wins-won"
payload={{ confirmed: WIN_FILTERS.WON }}
>
{(page) => <ExportWinsTable exportWins={page} />}
{(page) => <WinsWonTable exportWins={page} />}
</ExportWinsResource.Paginated>
)
5 changes: 5 additions & 0 deletions src/client/modules/ExportWins/constants.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export const WIN_FILTERS = {
SENT: 'null',
REJECTED: false,
WON: true,
}
16 changes: 8 additions & 8 deletions src/client/modules/ExportWins/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { capitalize } from 'lodash'

import { DefaultLayout } from '../../components'
import TabNav from '../../components/TabNav'
import UnconfirmedWinsList from './Unconfirmed/UnconfirmedWinsList'
import ConfirmedWinsTable from './Confirmed/ConfirmedWinsTable'
import WinsSentList from './WinsSentList'
import WinsWonTable from './WinsWonTable'
import urls from '../../../lib/urls'

const TITLE = /([^\/]+$)/
Expand All @@ -25,13 +25,13 @@ const ExportWins = ({ location }) => {
label="Export wins tab nav"
routed={true}
tabs={{
[urls.companies.exportWins.unconfirmed()]: {
label: 'Unconfirmed',
content: <UnconfirmedWinsList />,
[urls.companies.exportWins.sent()]: {
label: 'Sent',
content: <WinsSentList />,
},
[urls.companies.exportWins.confirmed()]: {
label: 'Confirmed',
content: <ConfirmedWinsTable />,
[urls.companies.exportWins.won()]: {
label: 'Won',
content: <WinsWonTable />,
},
}}
/>
Expand Down
4 changes: 2 additions & 2 deletions src/client/routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -465,12 +465,12 @@ const routes = {
],
exportWins: [
{
path: '/exportwins/unconfirmed',
path: '/exportwins/sent',
module: 'datahub:companies',
component: ExportWins,
},
{
path: '/exportwins/confirmed',
path: '/exportwins/won',
module: 'datahub:companies',
component: ExportWins,
},
Expand Down
6 changes: 3 additions & 3 deletions src/lib/urls.js
Original file line number Diff line number Diff line change
Expand Up @@ -221,9 +221,9 @@ module.exports = {
exportWins: {
index: url('/exportwins'),
create: url('/exportwins/create'),
details: url('/exportwins/:winId/details'),
confirmed: url('/exportwins/confirmed'),
unconfirmed: url('/exportwins/unconfirmed'),
details: url('/exportwins', '/:winId/details'),
won: url('/exportwins/won'),
sent: url('/exportwins/sent'),
},
overview: {
index: url('/companies', '/:companyId/overview'),
Expand Down
4 changes: 2 additions & 2 deletions test/a11y/cypress/config/urlTestExclusions.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export const urlTestExclusions = [
{ url: '/companies/:companyId/edit-history' },
{ url: '/companies/:companyId/exports' },
{ url: '/exportwins/' },
{ url: '/exportwins/unconfirmed/' },
{ url: '/exportwins/sent/' },
{ url: '/companies/:companyId/investments/large-capital-profile' },
{ url: '/companies/:companyId/account-management' },
{ url: '/company-lists/' },
Expand Down Expand Up @@ -142,7 +142,7 @@ export const urlTestExclusions = [
{ url: '/oauth/callback/' },
{ url: '/oauth/sign-out/' },
{ url: '/exportwins/1/details' },
{ url: '/exportwins/unconfirmed/' },
{ url: '/exportwins/sent/' },
{ url: '/companies/e59a2b0f-7d84-4de7-bc1e-f70339f4255f/overview' },
// Exclude all metadata
{ url: '/api-proxy/v4/metadata/likelihood-to-land' },
Expand Down
Loading

0 comments on commit 8835ab5

Please sign in to comment.