From d3b0edf75a3239489b549cdf1ff2fff53b0a622a Mon Sep 17 00:00:00 2001 From: Jake McDermott Date: Thu, 3 Oct 2019 20:02:55 -0400 Subject: [PATCH] Apply date formatter to lists and details --- awx/ui_next/src/screens/Job/JobDetail/JobDetail.jsx | 13 ++++++++++--- .../src/screens/Job/JobDetail/JobDetail.test.jsx | 4 ++-- awx/ui_next/src/screens/Job/JobList/JobListItem.jsx | 5 ++++- .../OrganizationDetail/OrganizationDetail.jsx | 12 +++++++++--- .../OrganizationDetail/OrganizationDetail.test.jsx | 8 ++++---- .../JobTemplateDetail/JobTemplateDetail.jsx | 9 +++++++-- 6 files changed, 36 insertions(+), 15 deletions(-) diff --git a/awx/ui_next/src/screens/Job/JobDetail/JobDetail.jsx b/awx/ui_next/src/screens/Job/JobDetail/JobDetail.jsx index 6763f7a3c1..b082a7a09e 100644 --- a/awx/ui_next/src/screens/Job/JobDetail/JobDetail.jsx +++ b/awx/ui_next/src/screens/Job/JobDetail/JobDetail.jsx @@ -13,7 +13,8 @@ import ErrorDetail from '@components/ErrorDetail'; import LaunchButton from '@components/LaunchButton'; import { StatusIcon } from '@components/Sparkline'; import { toTitleCase } from '@util/strings'; -import { Job } from '../../../types'; +import { formatDateString } from '@util/dates'; +import { Job } from '@types'; import { JobsAPI, ProjectUpdatesAPI, @@ -140,8 +141,14 @@ function JobDetail({ job, i18n, history }) { } /> - - + + {jobTemplate && ( ', () => { } assertDetail('Status', 'Successful'); - assertDetail('Started', mockJobData.started); - assertDetail('Finished', mockJobData.finished); + assertDetail('Started', '8/8/2019, 7:24:18 PM'); + assertDetail('Finished', '8/8/2019, 7:24:50 PM'); assertDetail('Template', mockJobData.summary_fields.job_template.name); assertDetail('Job Type', 'Run'); assertDetail('Launched By', mockJobData.summary_fields.created_by.username); diff --git a/awx/ui_next/src/screens/Job/JobList/JobListItem.jsx b/awx/ui_next/src/screens/Job/JobList/JobListItem.jsx index 495edc0d0b..33b3d0d373 100644 --- a/awx/ui_next/src/screens/Job/JobList/JobListItem.jsx +++ b/awx/ui_next/src/screens/Job/JobList/JobListItem.jsx @@ -16,6 +16,7 @@ import DataListCheck from '@components/DataListCheck'; import LaunchButton from '@components/LaunchButton'; import VerticalSeparator from '@components/VerticalSeparator'; import { toTitleCase } from '@util/strings'; +import { formatDateString } from '@util/dates'; import { JOB_TYPE_URL_SEGMENTS } from '../../../constants'; const StyledButton = styled(PFButton)` @@ -56,7 +57,9 @@ class JobListItem extends Component { , {toTitleCase(job.type)}, - {job.finished}, + + {formatDateString(job.finished)} + , {job.type !== 'system_job' && job.summary_fields.user_capabilities.start && ( diff --git a/awx/ui_next/src/screens/Organization/OrganizationDetail/OrganizationDetail.jsx b/awx/ui_next/src/screens/Organization/OrganizationDetail/OrganizationDetail.jsx index 29fda4aa71..42594d5da9 100644 --- a/awx/ui_next/src/screens/Organization/OrganizationDetail/OrganizationDetail.jsx +++ b/awx/ui_next/src/screens/Organization/OrganizationDetail/OrganizationDetail.jsx @@ -10,6 +10,7 @@ import { DetailList, Detail } from '@components/DetailList'; import { ChipGroup, Chip } from '@components/Chip'; import ContentError from '@components/ContentError'; import ContentLoading from '@components/ContentLoading'; +import { formatDateString } from '@util/dates'; const CardBody = styled(PFCardBody)` padding-top: 20px; @@ -53,7 +54,6 @@ class OrganizationDetail extends Component { render() { const { hasContentLoading, contentError, instanceGroups } = this.state; - const { organization: { name, @@ -86,8 +86,14 @@ class OrganizationDetail extends Component { label={i18n._(t`Ansible Environment`)} value={custom_virtualenv} /> - - + + {instanceGroups && instanceGroups.length > 0 && ( ', () => { description: 'Bar', custom_virtualenv: 'Fizz', max_hosts: '0', - created: 'Bat', - modified: 'Boo', + created: '2015-07-07T17:21:26.429745Z', + modified: '2019-08-11T19:47:37.980466Z', summary_fields: { user_capabilities: { edit: true, @@ -63,8 +63,8 @@ describe('', () => { { label: 'Name', value: 'Foo' }, { label: 'Description', value: 'Bar' }, { label: 'Ansible Environment', value: 'Fizz' }, - { label: 'Created', value: 'Bat' }, - { label: 'Last Modified', value: 'Boo' }, + { label: 'Created', value: '7/7/2015, 5:21:26 PM' }, + { label: 'Last Modified', value: '8/11/2019, 7:47:37 PM' }, { label: 'Max Hosts', value: '0' }, ]; // eslint-disable-next-line no-restricted-syntax diff --git a/awx/ui_next/src/screens/Template/JobTemplateDetail/JobTemplateDetail.jsx b/awx/ui_next/src/screens/Template/JobTemplateDetail/JobTemplateDetail.jsx index 4515034a90..9fadf59be6 100644 --- a/awx/ui_next/src/screens/Template/JobTemplateDetail/JobTemplateDetail.jsx +++ b/awx/ui_next/src/screens/Template/JobTemplateDetail/JobTemplateDetail.jsx @@ -17,6 +17,7 @@ import LaunchButton from '@components/LaunchButton'; import ContentLoading from '@components/ContentLoading'; import { ChipGroup, Chip, CredentialChip } from '@components/Chip'; import { DetailList, Detail } from '@components/DetailList'; +import { formatDateString } from '@util/dates'; import { JobTemplatesAPI } from '@api'; const ButtonGroup = styled.div` @@ -168,11 +169,15 @@ class JobTemplateDetail extends Component {