diff --git a/app/components/component-manuscripts/src/Manuscript.js b/app/components/component-manuscripts/src/Manuscript.js index c7248a24f0c13a1782319cd9930ef86d78c7ab8d..edc9ba47d8b3d0d777ae818c41970c010a7d2b8c 100644 --- a/app/components/component-manuscripts/src/Manuscript.js +++ b/app/components/component-manuscripts/src/Manuscript.js @@ -12,6 +12,8 @@ import { Primary, Secondary, UserInfo, + StyledTopic, + StyledTableLabel, // SuccessStatus, // ErrorStatus, // NormalStatus, @@ -20,6 +22,7 @@ import { } from './style' import { convertTimestampToDate } from '../../../shared/time-formatting' +import { convertCamelCaseToText } from '../../../shared/convertCamelCaseToText' import { articleStatuses } from '../../../globals' import { publishManuscriptMutation } from '../../component-review/src/components/queries' @@ -70,9 +73,25 @@ const User = ({ manuscriptId, manuscript, submitter }) => { )} <Cell>{convertTimestampToDate(manuscript.created)}</Cell> <Cell>{convertTimestampToDate(manuscript.updated)}</Cell> + {process.env.INSTANCE_NAME === 'ncrc' && + <Cell> + {manuscript.submission.topics.map((topic, index) => { + return <StyledTopic key={index} title={convertCamelCaseToText(topic)}> + {convertCamelCaseToText(topic)} + </StyledTopic> + })} + </Cell> + } <Cell> <StatusBadge status={manuscript.status} /> </Cell> + {process.env.INSTANCE_NAME === 'ncrc' && + <Cell> + <StyledTableLabel> + {manuscript.submission && convertCamelCaseToText(manuscript.submission.labels)} + </StyledTableLabel> + </Cell> + } <Cell> {submitter && ( <UserCombo> diff --git a/app/components/component-manuscripts/src/Manuscripts.jsx b/app/components/component-manuscripts/src/Manuscripts.jsx index e2de1fb2ef9d2bad9254c3526ac119f232b67131..d0a38bb55ad72250547e4006f72300a2cafeaf0e 100644 --- a/app/components/component-manuscripts/src/Manuscripts.jsx +++ b/app/components/component-manuscripts/src/Manuscripts.jsx @@ -80,6 +80,13 @@ const GET_MANUSCRIPTS = gql` const Manuscripts = ({ history, ...props }) => { const SortHeader = ({ thisSortName, children }) => { + if(!thisSortName) { + return ( + <th> + {children} + </th> + ) + } const changeSort = () => { if (sortName !== thisSortName) { setSortName(thisSortName) @@ -163,7 +170,13 @@ const Manuscripts = ({ history, ...props }) => { )} <SortHeader thisSortName="created">Created</SortHeader> <SortHeader thisSortName="updated">Updated</SortHeader> + {process.env.INSTANCE_NAME === 'ncrc' && + <SortHeader>Topic</SortHeader> + } <SortHeader thisSortName="status">Status</SortHeader> + {process.env.INSTANCE_NAME === 'ncrc' && + <SortHeader thisSortName="submission:labels">Label</SortHeader> + } <SortHeader thisSortName="submitterId">Author</SortHeader> <th /> </tr> diff --git a/app/components/component-manuscripts/src/style.js b/app/components/component-manuscripts/src/style.js index 14e794f51b9afb81f41e3f97a39277a5b04414b0..50497560ada1d3ecd5be97ab59c60c9c1469ce6f 100644 --- a/app/components/component-manuscripts/src/style.js +++ b/app/components/component-manuscripts/src/style.js @@ -31,3 +31,24 @@ export { export const UserAction = styled(Action)` font-size: inherit; ` + +export const StyledTopic = styled.p` + background-color: red; + padding: 0 10px; + margin-bottom: 5px; + border-radius: 7px; + color: white; + width: fit-content; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + max-width: 150px; +` + +export const StyledTableLabel = styled.p` + background-color: #ccc; + padding: 0 10px; + text-align: center; + border-radius: 7px; + white-space: nowrap; +` \ No newline at end of file diff --git a/app/shared/convertCamelCaseToText.js b/app/shared/convertCamelCaseToText.js new file mode 100644 index 0000000000000000000000000000000000000000..9c2c77ae7a73a8fd37111db543a2c7bbdf98f117 --- /dev/null +++ b/app/shared/convertCamelCaseToText.js @@ -0,0 +1,5 @@ +export function convertCamelCaseToText (text) { + const result = text.replace( /([A-Z])/g, " $1" ) + const finalResult = result.charAt(0) + result.slice(1) + return finalResult.toLowerCase() + } \ No newline at end of file diff --git a/app/storage/forms-ncrc/submit.json b/app/storage/forms-ncrc/submit.json index 25715c0e9e76bd42ed47a86753bf9c57628ea7dc..5a0f0fcb2af05620377097cbfb3a34f3d1348153 100644 --- a/app/storage/forms-ncrc/submit.json +++ b/app/storage/forms-ncrc/submit.json @@ -68,8 +68,8 @@ "value": "randomizedControlTrial" }, { - "label": "Non-Rnadomized Trial", - "value": "nonRnadomizedTrial" + "label": "Non-Randomized Trial", + "value": "nonRandomizedTrial" }, { "label": "Modeling/Simulation",