Skip to content

Commit

Permalink
Fix: cohorts get stuck when passing strings instead of numbers. (#3397)
Browse files Browse the repository at this point in the history
* Fix: cohorts get stuck when passing strings instead of numbers.

Parse the value to get a number.

* Use parseInt for stage

* Remove redundant parseInt
  • Loading branch information
arikfr authored Feb 5, 2019
1 parent ac68fe1 commit 2134113
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions client/app/visualizations/cohort/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -115,17 +115,21 @@ function prepareSimpleData(sortedData, options) {
function prepareData(rawData, options) {
rawData = _.map(rawData, item => ({
date: item[options.dateColumn],
stage: item[options.stageColumn],
total: item[options.totalColumn],
value: item[options.valueColumn],
stage: parseInt(item[options.stageColumn], 10),
total: parseFloat(item[options.totalColumn]),
value: parseFloat(item[options.valueColumn]),
}));
const sortedData = _.sortBy(rawData, r => r.date + parseInt(r.stage, 10));
const sortedData = _.sortBy(rawData, r => r.date + r.stage);
const initialDate = moment(sortedData[0].date).toDate();

let data;
switch (options.mode) {
case 'simple': data = prepareSimpleData(sortedData, options); break;
default: data = prepareDiagonalData(sortedData, options); break;
case 'simple':
data = prepareSimpleData(sortedData, options);
break;
default:
data = prepareDiagonalData(sortedData, options);
break;
}

return { data, initialDate };
Expand Down Expand Up @@ -160,10 +164,7 @@ function cohortRenderer() {
return;
}

const { data, initialDate } = prepareData(
$scope.queryResult.getData(),
$scope.options,
);
const { data, initialDate } = prepareData($scope.queryResult.getData(), $scope.options);

Cornelius.draw({
initialDate,
Expand Down

0 comments on commit 2134113

Please sign in to comment.