diff --git a/lib/underscore.js b/lib/underscore.js index e3b10642..091c376a 100644 --- a/lib/underscore.js +++ b/lib/underscore.js @@ -2,7 +2,7 @@ declare module "underscore" { declare function find(list: T[], predicate: (val: T)=>boolean): ?T; - declare function findWhere(list: Array, properties: {}): ?T; + declare function findWhere(list: Array, properties: {[key:string]: any}): ?T; declare function clone(obj: T): T; declare function isEqual(a: S, b: T): boolean; diff --git a/src/main/pileup.js b/src/main/pileup.js index c858089d..4aaf5b17 100644 --- a/src/main/pileup.js +++ b/src/main/pileup.js @@ -47,7 +47,7 @@ type PileupParams = { } function findReference(tracks: VisualizedTrack[]): ?VisualizedTrack { - return _.findWhere(tracks, t => t.track.isReference); + return _.find(tracks, t => !!t.track.isReference); } function create(elOrId: string|Element, params: PileupParams): Pileup { diff --git a/src/main/types.js b/src/main/types.js index 8eafb2c7..c613d51f 100644 --- a/src/main/types.js +++ b/src/main/types.js @@ -18,6 +18,7 @@ export type Track = { data: Object; // This is a DataSource object name?: string; cssClass?: string; + isReference?: boolean } export type VisualizedTrack = { diff --git a/src/test/components-test.js b/src/test/components-test.js index 9edfeaab..e938bae8 100644 --- a/src/test/components-test.js +++ b/src/test/components-test.js @@ -9,6 +9,16 @@ var pileup = require('../main/pileup'), describe('pileup', function() { var tracks = [ + { + viz: pileup.viz.scale(), + data: pileup.formats.empty(), + name: 'Scale' + }, + { + viz: pileup.viz.location(), + data: pileup.formats.empty(), + name: 'Location' + }, { viz: pileup.viz.genome(), isReference: true, @@ -33,16 +43,6 @@ describe('pileup', function() { }), cssClass: 'c' }, - { - viz: pileup.viz.scale(), - data: pileup.formats.empty(), - name: 'Scale' - }, - { - viz: pileup.viz.location(), - data: pileup.formats.empty(), - name: 'Location' - }, { viz: pileup.viz.pileup(), data: pileup.formats.bam({