Skip to content

Commit a2c54de

Browse files
committed
feat/DEVSU-2213-CD8T-score-editable
- DEVSU-2213 - Add editable cd8t score and percentile fields to Rapid reports in addition to Genomic reports - Change default value props from 0 to null for numeric fields
1 parent b4a456d commit a2c54de

File tree

2 files changed

+95
-93
lines changed

2 files changed

+95
-93
lines changed

app/components/TumourSummaryEdit/index.tsx

+88-92
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ import useConfirmDialog from '@/hooks/useConfirmDialog';
1919

2020
import './index.scss';
2121
import { ReportType } from '@/context/ReportContext';
22-
import { ImmuneType, MicrobialType, MutationBurdenType, TmburType } from '@/common';
22+
import {
23+
ImmuneType, MicrobialType, MutationBurdenType, TmburType,
24+
} from '@/common';
2325
import snackbar from '@/services/SnackbarUtils';
2426

2527
type TumourSummaryEditProps = {
@@ -227,7 +229,7 @@ const TumourSummaryEdit = ({
227229
true,
228230
microbialDirty ? microbialResp : null,
229231
reportDirty ? reportResp : null,
230-
tCellCd8Dirty ? immuneResp.find(({cellType}) => cellType === 'T cells CD8') : null,
232+
tCellCd8Dirty ? immuneResp.find(({ cellType }) => cellType === 'T cells CD8') : null,
231233
mutationBurdenDirty ? mutationBurdenResp.find((mb) => mb.role === 'primary') : null,
232234
tmburMutDirty ? tmburMutResp : null,
233235
);
@@ -378,96 +380,90 @@ const TumourSummaryEdit = ({
378380
return null;
379381
}, [handleClicked, handleDelete, handleKeyDown, newMicrobialData]);
380382

381-
const tCellCd8DataSection = useMemo(() => {
382-
return (
383-
<>
384-
<TextField
385-
className="tumour-dialog__text-field"
386-
label="CD8+ T Cell Score"
387-
value={newTCellCd8Data?.score ?? 0}
388-
name="score"
389-
onChange={handleTCellCd8Change}
390-
variant="outlined"
391-
fullWidth
392-
type="number"
393-
/>
394-
<TextField
395-
className="tumour-dialog__text-field"
396-
label="CD8+ T Cell Percentile"
397-
value={newTCellCd8Data?.percentile ?? 0}
398-
name="percentile"
399-
onChange={handleTCellCd8Change}
400-
variant="outlined"
401-
fullWidth
402-
type="number"
403-
/>
404-
</>
405-
)
406-
}, [newTCellCd8Data, handleTCellCd8Change])
407-
408-
const mutBurDataSection = useMemo(() => {
409-
return (
410-
<>
411-
<TextField
412-
className="tumour-dialog__text-field"
413-
label="Mutation Burden (Mut/Mb)"
414-
value={newMutationBurdenData?.totalMutationsPerMb ?? 0}
415-
name="totalMutationsPerMb"
416-
onChange={handleMutationBurdenChange}
417-
variant="outlined"
418-
fullWidth
419-
type="number"
420-
/>
421-
<TextField
422-
className="tumour-dialog__text-field"
423-
label="SV Burden (POG average)"
424-
value={newMutationBurdenData?.qualitySvCount ?? 0}
425-
name="qualitySvCount"
426-
onChange={handleMutationBurdenChange}
427-
variant="outlined"
428-
fullWidth
429-
type="number"
430-
/>
431-
<TextField
432-
className="tumour-dialog__text-field"
433-
label="SV Burden (Percentile)"
434-
value={newMutationBurdenData?.qualitySvPercentile ?? 0}
435-
name="qualitySvPercentile"
436-
onChange={handleMutationBurdenChange}
437-
variant="outlined"
438-
fullWidth
439-
type="number"
440-
/>
441-
</>
442-
);
443-
}, [newMutationBurdenData, handleMutationBurdenChange]);
444-
445-
const tmburMutBurSection = useMemo(() => {
446-
return (
447-
<>
448-
<TextField
449-
className="tumour-dialog__text-field"
450-
label="genomeSnvTmb"
451-
value={newTmburMutData?.genomeSnvTmb ?? 0}
452-
name="genomeSnvTmb"
453-
onChange={handleTmburChange}
454-
variant="outlined"
455-
fullWidth
456-
type="number"
457-
/>
458-
<TextField
459-
className="tumour-dialog__text-field"
460-
label="genomeIndelTmb"
461-
value={newTmburMutData?.genomeIndelTmb ?? 0}
462-
name="genomeIndelTmb"
463-
onChange={handleTmburChange}
464-
variant="outlined"
465-
fullWidth
466-
type="number"
467-
/>
468-
</>
469-
);
470-
}, [newTmburMutData, handleTmburChange]);
383+
const tCellCd8DataSection = useMemo(() => (
384+
<>
385+
<TextField
386+
className="tumour-dialog__text-field"
387+
label="CD8+ T Cell Score"
388+
value={newTCellCd8Data?.score ?? null}
389+
name="score"
390+
onChange={handleTCellCd8Change}
391+
variant="outlined"
392+
fullWidth
393+
type="number"
394+
/>
395+
<TextField
396+
className="tumour-dialog__text-field"
397+
label="CD8+ T Cell Percentile"
398+
value={newTCellCd8Data?.percentile ?? null}
399+
name="percentile"
400+
onChange={handleTCellCd8Change}
401+
variant="outlined"
402+
fullWidth
403+
type="number"
404+
/>
405+
</>
406+
), [newTCellCd8Data, handleTCellCd8Change]);
407+
408+
const mutBurDataSection = useMemo(() => (
409+
<>
410+
<TextField
411+
className="tumour-dialog__text-field"
412+
label="Mutation Burden (Mut/Mb)"
413+
value={newMutationBurdenData?.totalMutationsPerMb ?? null}
414+
name="totalMutationsPerMb"
415+
onChange={handleMutationBurdenChange}
416+
variant="outlined"
417+
fullWidth
418+
type="number"
419+
/>
420+
<TextField
421+
className="tumour-dialog__text-field"
422+
label="SV Burden (POG average)"
423+
value={newMutationBurdenData?.qualitySvCount ?? null}
424+
name="qualitySvCount"
425+
onChange={handleMutationBurdenChange}
426+
variant="outlined"
427+
fullWidth
428+
type="number"
429+
/>
430+
<TextField
431+
className="tumour-dialog__text-field"
432+
label="SV Burden (Percentile)"
433+
value={newMutationBurdenData?.qualitySvPercentile ?? null}
434+
name="qualitySvPercentile"
435+
onChange={handleMutationBurdenChange}
436+
variant="outlined"
437+
fullWidth
438+
type="number"
439+
/>
440+
</>
441+
), [newMutationBurdenData, handleMutationBurdenChange]);
442+
443+
const tmburMutBurSection = useMemo(() => (
444+
<>
445+
<TextField
446+
className="tumour-dialog__text-field"
447+
label="genomeSnvTmb"
448+
value={newTmburMutData?.genomeSnvTmb ?? null}
449+
name="genomeSnvTmb"
450+
onChange={handleTmburChange}
451+
variant="outlined"
452+
fullWidth
453+
type="number"
454+
/>
455+
<TextField
456+
className="tumour-dialog__text-field"
457+
label="genomeIndelTmb"
458+
value={newTmburMutData?.genomeIndelTmb ?? null}
459+
name="genomeIndelTmb"
460+
onChange={handleTmburChange}
461+
variant="outlined"
462+
fullWidth
463+
type="number"
464+
/>
465+
</>
466+
), [newTmburMutData, handleTmburChange]);
471467

472468
return (
473469
<Dialog open={isOpen}>

app/views/ReportView/components/RapidSummary/index.tsx

+7-1
Original file line numberDiff line numberDiff line change
@@ -443,12 +443,13 @@ const RapidSummary = ({
443443
isSaved,
444444
newMicrobialData,
445445
newReportData,
446+
newTCellCd8Data: ImmuneType,
446447
newMutationBurdenData: MutationBurdenType,
447448
newTmBurMutBurData,
448449
) => {
449450
setShowTumourSummaryEdit(false);
450451

451-
if (!isSaved || (!newMicrobialData && !newReportData && !newMutationBurdenData && !newTmBurMutBurData)) {
452+
if (!isSaved || (!newMicrobialData && !newReportData && !newTCellCd8Data && !newMutationBurdenData && !newTmBurMutBurData)) {
452453
return;
453454
}
454455

@@ -460,6 +461,10 @@ const RapidSummary = ({
460461
setReport(newReportData);
461462
}
462463

464+
if (newTCellCd8Data) {
465+
setTCellCd8(newTCellCd8Data)
466+
}
467+
463468
if (newMutationBurdenData) {
464469
setPrimaryBurden(newMutationBurdenData);
465470
}
@@ -484,6 +489,7 @@ const RapidSummary = ({
484489
<TumourSummaryEdit
485490
microbial={microbial}
486491
report={report}
492+
tCellCd8={tCellCd8}
487493
mutationBurden={primaryBurden}
488494
tmburMutBur={tmburMutBur}
489495
isOpen={showTumourSummaryEdit}

0 commit comments

Comments
 (0)