@@ -46,6 +46,15 @@ const getConsequenceDescription = (contextType: any) => {
46
46
return ' for consequence in this transcript'
47
47
}
48
48
}
49
+
50
+ const consolidatedFlags = ( row : any ) => {
51
+ const variantFlags = row . flags || [ ]
52
+ const exomeFlags = row . exome ?. flags || [ ]
53
+ const genomeFlags = row . genome ?. flags || [ ]
54
+ const allFlags = Array . from ( new Set ( [ ...variantFlags , ...exomeFlags , ...genomeFlags ] ) )
55
+ return allFlags . sort ( )
56
+ }
57
+
49
58
export type VariantTableColumn = {
50
59
key : string
51
60
heading : string
@@ -163,11 +172,16 @@ const variantTableColumns: VariantTableColumn[] = [
163
172
description : 'Flags that may affect annotation and/or confidence' ,
164
173
grow : 0 ,
165
174
minWidth : 140 ,
166
- compareFunction : makeNumericCompareFunction ( ( variant : any ) => variant . flags . length || null ) ,
167
- render : ( row : any , key : any ) =>
168
- row [ key ]
169
- . filter ( ( flag : any ) => flag !== 'segdup' && flag !== 'par' )
170
- . map ( ( flag : any ) => < VariantFlag key = { flag } type = { flag } variant = { row } /> ) ,
175
+ compareFunction : makeNumericCompareFunction (
176
+ ( variant : any ) => consolidatedFlags ( variant ) . length || null
177
+ ) ,
178
+ render : ( row : any ) => (
179
+ < >
180
+ { consolidatedFlags ( row ) . map ( ( flag : any ) => (
181
+ < VariantFlag key = { flag } type = { flag } variant = { row } />
182
+ ) ) }
183
+ </ >
184
+ ) ,
171
185
} ,
172
186
173
187
{
@@ -208,7 +222,7 @@ const variantTableColumns: VariantTableColumn[] = [
208
222
minWidth : 160 ,
209
223
compareFunction : makeStringCompareFunction ( 'hgvs' ) ,
210
224
getSearchTerms : ( variant : any ) => [ variant . hgvs ] ,
211
- render : ( variant : any , key : any , { highlightWords } : any ) => (
225
+ render : ( variant : any , _ : any , { highlightWords } : any ) => (
212
226
< Cell >
213
227
< Highlighter autoEscape searchWords = { highlightWords } textToHighlight = { variant . hgvs || '' } />
214
228
</ Cell >
@@ -225,7 +239,7 @@ const variantTableColumns: VariantTableColumn[] = [
225
239
minWidth : 160 ,
226
240
compareFunction : makeStringCompareFunction ( 'hgvsc' ) ,
227
241
getSearchTerms : ( variant : any ) => [ variant . hgvsc ] ,
228
- render : ( variant : any , key : any , { highlightWords } : any ) => (
242
+ render : ( variant : any , _ : any , { highlightWords } : any ) => (
229
243
< Cell >
230
244
< Highlighter
231
245
autoEscape
@@ -246,7 +260,7 @@ const variantTableColumns: VariantTableColumn[] = [
246
260
minWidth : 160 ,
247
261
compareFunction : makeStringCompareFunction ( 'hgvsp' ) ,
248
262
getSearchTerms : ( variant : any ) => [ variant . hgvsp ] ,
249
- render : ( variant : any , key : any , { highlightWords } : any ) => (
263
+ render : ( variant : any , _ : any , { highlightWords } : any ) => (
250
264
< Cell >
251
265
< Highlighter
252
266
autoEscape
@@ -315,7 +329,7 @@ const variantTableColumns: VariantTableColumn[] = [
315
329
rsids1 [ 0 ] . localeCompare ( rsids2 [ 0 ] )
316
330
) ,
317
331
getSearchTerms : ( variant : any ) => variant . rsids || [ ] ,
318
- render : ( variant : any , key : any , { highlightWords } : any ) => (
332
+ render : ( variant : any , _ : any , { highlightWords } : any ) => (
319
333
< Cell >
320
334
< Highlighter
321
335
autoEscape
@@ -366,7 +380,7 @@ const variantTableColumns: VariantTableColumn[] = [
366
380
grow : 1 ,
367
381
compareFunction : makeNumericCompareFunction ( 'pos' ) ,
368
382
getSearchTerms : ( variant : any ) => [ variant . variant_id ] . concat ( variant . rsids || [ ] ) ,
369
- render : ( row : any , key : any , { highlightWords } : any ) => (
383
+ render : ( row : any , _ : any , { highlightWords } : any ) => (
370
384
< Cell >
371
385
< Link target = "_blank" to = { `/variant/${ row . variant_id } ` } >
372
386
< Highlighter autoEscape searchWords = { highlightWords } textToHighlight = { row . variant_id } />
@@ -409,7 +423,7 @@ export const getColumnsForContext = (context: any) => {
409
423
: context . canonical_transcript_id
410
424
411
425
// @ts -expect-error TS(2339) Property 'hgvs' does not exist on type '{}'.
412
- columns . hgvs . render = ( variant : any , key : any , { highlightWords } : any ) => (
426
+ columns . hgvs . render = ( variant : any , _ : any , { highlightWords } : any ) => (
413
427
< Cell >
414
428
< Highlighter autoEscape searchWords = { highlightWords } textToHighlight = { variant . hgvs || '' } />
415
429
{ primaryTranscriptId && variant . transcript_id !== primaryTranscriptId && ' †' }
0 commit comments