From 064184da1e4d689ede391c3bed661a5a797edb2b Mon Sep 17 00:00:00 2001
From: Calvin Lu <59149377+calvinlu3@users.noreply.github.com>
Date: Wed, 20 Mar 2024 16:30:08 -0400
Subject: [PATCH] Fix NCT reference link (#1096)
---
.../src/components/RefComponent.tsx | 21 +++++++++++++------
.../oncokb-frontend-commons/src/lib/urls.ts | 12 +++++++++++
2 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/src/main/webapp/app/oncokb-frontend-commons/src/components/RefComponent.tsx b/src/main/webapp/app/oncokb-frontend-commons/src/components/RefComponent.tsx
index 0b6f44127..bdca819e2 100644
--- a/src/main/webapp/app/oncokb-frontend-commons/src/components/RefComponent.tsx
+++ b/src/main/webapp/app/oncokb-frontend-commons/src/components/RefComponent.tsx
@@ -1,5 +1,5 @@
import Tooltip from 'rc-tooltip';
-import { getNCBIlink } from '../lib/urls';
+import { getNCBIlink, getNCTlink } from '../lib/urls';
import * as React from 'react';
import { ReferenceList } from './ReferenceList';
@@ -50,11 +50,6 @@ export default class RefComponent extends React.Component<{
if (this.props.content.toLowerCase().includes('pmid')) {
prefix = 'PMID: ';
- } else if (this.props.content.toLowerCase().includes('nct')) {
- prefix = 'NCT';
- }
-
- if (prefix) {
link = (
);
+ } else if (this.props.content.toLowerCase().includes('nct')) {
+ if (ids[0]) {
+ prefix = 'NCT';
+ const studyId = `${prefix}${ids[0]}`;
+ link = (
+
+ {studyId}
+
+ );
+ }
}
}
diff --git a/src/main/webapp/app/oncokb-frontend-commons/src/lib/urls.ts b/src/main/webapp/app/oncokb-frontend-commons/src/lib/urls.ts
index 7bba777d4..bd4c78cf8 100644
--- a/src/main/webapp/app/oncokb-frontend-commons/src/lib/urls.ts
+++ b/src/main/webapp/app/oncokb-frontend-commons/src/lib/urls.ts
@@ -23,3 +23,15 @@ export function getNCBIlink(
...params,
});
}
+
+export function getNCTlink(pathnameOrParams?: BuildUrlParams | string): string {
+ const params =
+ typeof pathnameOrParams === 'string'
+ ? { pathname: pathnameOrParams }
+ : pathnameOrParams;
+ return URL.format({
+ protocol: 'https',
+ host: 'www.clinicaltrials.gov',
+ ...params,
+ });
+}