From 18d0d12ae8b08a218a5688cdae3fb448bcff5d5e Mon Sep 17 00:00:00 2001 From: Mandy Parson <135638667+mandyparson@users.noreply.github.com> Date: Fri, 2 Feb 2024 08:28:03 -0700 Subject: [PATCH] Mmt 3492: Creating a resuable table Component (#1114) * MMT-3492: Saving progress on table component * MMT-3492: Adjusting RenderRows * MMT-3492: Finish writing tests * MMT-3492: Addressing PR Comments * MMT-3492: Fixing 'data' structure * MMT-3492: eslint error fixes * MMT-3492: reverting changes to ManagePage * MMT-3492: Fixing shortName and title * MMT-3492: Editing table and ManagePage * MMT-3492: Trying to get tests to run on github * MMT-3492: Addressing comments * MMT-3492: Changing all conceptTypes to ummMetadata * MMT-3492: lint --- .../src/js/components/DraftList/DraftList.jsx | 11 +++-- .../DraftList/__tests__/DraftList.test.js | 13 +++-- .../operations/queries/getCollectionDrafts.js | 7 +-- .../js/operations/queries/getServiceDrafts.js | 1 + .../js/operations/queries/getToolDrafts.js | 1 + .../operations/queries/getVariableDrafts.js | 1 + static/src/js/pages/ManagePage/ManagePage.jsx | 48 +++++++++---------- .../ManagePage/__tests__/ManagePage.test.js | 24 ++++++---- 8 files changed, 58 insertions(+), 48 deletions(-) diff --git a/static/src/js/components/DraftList/DraftList.jsx b/static/src/js/components/DraftList/DraftList.jsx index 8b35e1580..8d848f2f6 100644 --- a/static/src/js/components/DraftList/DraftList.jsx +++ b/static/src/js/components/DraftList/DraftList.jsx @@ -56,10 +56,11 @@ const DraftList = ({ draftType }) => { // Building a Table using Data in items const data = (items.map((item) => { const { - conceptId, revisionDate, previewMetadata: { - name, longName, shortName, title - } + conceptId, revisionDate, ummMetadata } = item + const { + ShortName, EntryTitle, Name, LongName + } = ummMetadata || {} const draftLink = `/drafts/${`${paramDraftType}`}/${conceptId}` @@ -72,14 +73,14 @@ const DraftList = ({ draftType }) => { value: ( - {name || shortName || ''} + {Name || ShortName || ''} ) }, { value: ( - longName || title || '' + LongName || EntryTitle || '' ) }, { diff --git a/static/src/js/components/DraftList/__tests__/DraftList.test.js b/static/src/js/components/DraftList/__tests__/DraftList.test.js index 86b22c445..9e99732ae 100644 --- a/static/src/js/components/DraftList/__tests__/DraftList.test.js +++ b/static/src/js/components/DraftList/__tests__/DraftList.test.js @@ -97,9 +97,11 @@ describe('DraftList', () => { { conceptId: 'TD1200000092-MMT_2', revisionDate: '2023-12-08T17:56:09.385Z', + ummMetadata: { + Name: 'Tool TD1200000092 short name', + LongName: 'Tool TD1200000092 long name' + }, previewMetadata: { - name: 'Tool TD1200000092 short name', - longName: 'Tool TD1200000092 long name', __typename: 'Tool' }, __typename: 'Draft' @@ -107,6 +109,7 @@ describe('DraftList', () => { { conceptId: 'TD1200000093-MMT_2', revisionDate: '2023-11-08T17:56:09.385Z', + ummMetadata: {}, previewMetadata: { __typename: 'Tool' }, @@ -115,9 +118,11 @@ describe('DraftList', () => { { conceptId: 'TD1200000094-MMT_2', revisionDate: '2023-10-08T17:56:09.385Z', + ummMetadata: { + Name: 'Tool TD1200000094 short name', + LongName: 'Tool TD1200000094 long name' + }, previewMetadata: { - name: 'Tool TD1200000094 short name', - longName: 'Tool TD1200000094 long name', __typename: 'Tool' }, __typename: 'Draft' diff --git a/static/src/js/operations/queries/getCollectionDrafts.js b/static/src/js/operations/queries/getCollectionDrafts.js index e69f1aa10..5e9020b6b 100644 --- a/static/src/js/operations/queries/getCollectionDrafts.js +++ b/static/src/js/operations/queries/getCollectionDrafts.js @@ -8,12 +8,7 @@ export const GET_COLLECTION_DRAFTS = gql` items { conceptId revisionDate - previewMetadata { - ... on Collection { - shortName - title - } - } + ummMetadata } } } diff --git a/static/src/js/operations/queries/getServiceDrafts.js b/static/src/js/operations/queries/getServiceDrafts.js index 38cbbdd30..b4637c9d0 100644 --- a/static/src/js/operations/queries/getServiceDrafts.js +++ b/static/src/js/operations/queries/getServiceDrafts.js @@ -8,6 +8,7 @@ export const GET_SERVICE_DRAFTS = gql` items { conceptId revisionDate + ummMetadata previewMetadata { ... on Service { name diff --git a/static/src/js/operations/queries/getToolDrafts.js b/static/src/js/operations/queries/getToolDrafts.js index 8305cdd78..427f10e73 100644 --- a/static/src/js/operations/queries/getToolDrafts.js +++ b/static/src/js/operations/queries/getToolDrafts.js @@ -8,6 +8,7 @@ export const GET_TOOL_DRAFTS = gql` items { conceptId revisionDate + ummMetadata previewMetadata { ... on Tool { name diff --git a/static/src/js/operations/queries/getVariableDrafts.js b/static/src/js/operations/queries/getVariableDrafts.js index 2dceead35..f1fff380b 100644 --- a/static/src/js/operations/queries/getVariableDrafts.js +++ b/static/src/js/operations/queries/getVariableDrafts.js @@ -8,6 +8,7 @@ export const GET_VARIABLE_DRAFTS = gql` items { conceptId revisionDate + ummMetadata previewMetadata { ... on Variable { name diff --git a/static/src/js/pages/ManagePage/ManagePage.jsx b/static/src/js/pages/ManagePage/ManagePage.jsx index 69a49be8d..a7a0802a6 100644 --- a/static/src/js/pages/ManagePage/ManagePage.jsx +++ b/static/src/js/pages/ManagePage/ManagePage.jsx @@ -20,7 +20,6 @@ import './ManagePage.scss' /** * Renders a `ManagePage` component - * * @component * @example Renders a `ManagePage` component * return ( @@ -120,30 +119,31 @@ const ManagePage = () => { { ({ conceptId, - previewMetadata: { - longName, - name, - shortName, - title - }, + ummMetadata, revisionDate - }) => ( - - -
- {new Date(revisionDate).toLocaleString('en-US', { hour12: false })} - | - {name || shortName || ''} -
-
- {longName || title || ''} -
- -
- ) + }) => { + const { + ShortName, EntryTitle, Name, LongName + } = ummMetadata || {} + + return ( + + +
+ {new Date(revisionDate).toLocaleString('en-US', { hour12: false })} + | + {Name || ShortName || ''} +
+
+ {LongName || EntryTitle || ''} +
+ +
+ ) + } } ) diff --git a/static/src/js/pages/ManagePage/__tests__/ManagePage.test.js b/static/src/js/pages/ManagePage/__tests__/ManagePage.test.js index aaf699d00..b64dcf168 100644 --- a/static/src/js/pages/ManagePage/__tests__/ManagePage.test.js +++ b/static/src/js/pages/ManagePage/__tests__/ManagePage.test.js @@ -40,19 +40,23 @@ const setup = (overrideMocks) => { { conceptId: 'TD1000000000-TESTPROV', revisionDate: '2023-11-30 00:00:00', + ummMetadata: { + Name: 'Tool Draft 1 Name', + LongName: 'Tool Draft 1 Long Name' + }, previewMetadata: { - __typename: 'Tool', - name: 'Tool Draft 1 Name', - longName: 'Tool Draft 1 Long Name' + __typename: 'Tool' } }, { conceptId: 'TD1000000001-TESTPROV', revisionDate: '2023-11-30 00:00:00', + ummMetadata: { + Name: 'Tool Draft 2 Name', + LongName: 'Tool Draft 2 Long Name' + }, previewMetadata: { - __typename: 'Tool', - name: 'Tool Draft 2 Name', - longName: 'Tool Draft 2 Long Name' + __typename: 'Tool' } } ] @@ -198,10 +202,12 @@ describe('ManagePage component', () => { { conceptId: 'TD1000000000-TESTPROV', revisionDate: '2023-11-30 00:00:00', + ummMetadata: { + Name: null, + LongName: null + }, previewMetadata: { - __typename: 'Tool', - name: null, - longName: null + __typename: 'Tool' } } ]