Skip to content

Commit

Permalink
fix flow-type issues and coding style
Browse files Browse the repository at this point in the history
  • Loading branch information
armish committed Aug 3, 2015
1 parent 20e7c42 commit 2918424
Show file tree
Hide file tree
Showing 7 changed files with 49 additions and 40 deletions.
2 changes: 1 addition & 1 deletion src/main/ScaleTrack.js
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ class ScaleTrack extends React.Component {
midX = width / 2,
midY = height / 2;

var {prefix, unit} = utils.formatRange(viewSize);
var {prefix, unit} = d3utils.formatRange(viewSize);

var midLabel = svg.select('.scale-label');
var labelWidth = labelSize.width,
Expand Down
14 changes: 14 additions & 0 deletions src/main/d3utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,20 @@ function getTrackScale(range: GenomeRange, width: number) {
return scale;
}

/**
* Formats the size of a view and infers what prefix/unit to show.
* This formatting follows IGV's conventions regarding range display:
* "1 bp", "101 bp", "1,001 bp", "1,001 kbp", ...
*/
function formatRange(viewSize: number): any {
var tmpViewSize = viewSize / 1000,
fprefix = d3.formatPrefix(Math.max(1, tmpViewSize)),
unit = fprefix.symbol + "bp", // bp, kbp, Mbp, Gbp
prefix = d3.format(',f.0')(fprefix.scale(viewSize));
return {prefix, unit};
}

module.exports = {
formatRange,
getTrackScale
};
16 changes: 1 addition & 15 deletions src/main/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -161,19 +161,6 @@ function pipePromise<T>(deferred: Q.Deferred<T>, promise: Q.Promise<T>) {
promise.then(deferred.resolve, deferred.reject, deferred.notify);
}

/**
* Formats the size of a view and infers what prefix/unit to show.
* This formatting follows IGV's conventions regarding range display:
* "1 bp", "101 bp", "1,001 bp", "1,001 kbp", ...
*/
function formatRange(viewSize: number): any {
var tmpViewSize = viewSize / 1000,
fprefix = d3.formatPrefix(Math.max(1, tmpViewSize)),
unit = fprefix.symbol + "bp", // bp, kbp, Mbp, Gbp
prefix = d3.format(',f.0')(fprefix.scale(viewSize));
return {prefix, unit};
}

module.exports = {
tupleLessOrEqual,
tupleRangeOverlaps,
Expand All @@ -182,6 +169,5 @@ module.exports = {
inflateGzip,
basePairClass,
altContigName,
pipePromise,
formatRange
pipePromise
};
2 changes: 2 additions & 0 deletions src/test/components-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,12 @@ describe('pileup', function() {
},
{
viz: pileup.viz.scale(),
data: pileup.formats.empty(),
name: 'Scale'
},
{
viz: pileup.viz.location(),
data: pileup.formats.empty(),
name: 'Location'
},
{
Expand Down
30 changes: 30 additions & 0 deletions src/test/d3utils-test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/* @flow */
'use strict';

var expect = require('chai').expect;
var d3 = require('d3');
var d3utils = require('../main/d3utils');

describe('d3utils', function() {
describe('formatRange', function() {
var formatRange = d3utils.formatRange;

it('should format view sizes correctly', function() {
var r = formatRange(101);
expect(r.prefix).to.be.equal("101");
expect(r.unit).to.be.equal("bp");

r = formatRange(10001);
expect(r.prefix).to.be.equal("10,001");
expect(r.unit).to.be.equal("bp");

r = formatRange(10001001);
expect(r.prefix).to.be.equal("10,001");
expect(r.unit).to.be.equal("kbp");

r = formatRange(10001000001);
expect(r.prefix).to.be.equal("10,001");
expect(r.unit).to.be.equal("Mbp");
});
});
});
23 changes: 0 additions & 23 deletions src/test/utils-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -120,27 +120,4 @@ describe('utils', function() {
expect(utils.altContigName('chrM')).to.equal('M');
});

describe('formatRange', function() {
var formatRange = utils.formatRange;

it('should format view sizes correctly', function() {
var r = formatRange(101);
expect(r.prefix).to.be.equal("101");
expect(r.unit).to.be.equal("bp");

r = formatRange(10001);
expect(r.prefix).to.be.equal("10,001");
expect(r.unit).to.be.equal("bp");

r = formatRange(10001001);
expect(r.prefix).to.be.equal("10,001");
expect(r.unit).to.be.equal("kbp");

r = formatRange(10001000001);
expect(r.prefix).to.be.equal("10,001");
expect(r.unit).to.be.equal("Mbp");
});

});

});
2 changes: 1 addition & 1 deletion style/pileup.css
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
flex-direction: row;
}
.pileup-root text, .track-label {
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
.track-label {
flex: 0 0 100px; /* fixed-width track labels */
Expand Down

0 comments on commit 2918424

Please sign in to comment.