Commit de097a2e authored by Evgeny's avatar Evgeny

Fix problem with stacked-100

parent 065df8be
......@@ -83,7 +83,8 @@ c3_chart_fn.flow = function (args) {
t.values = missing.concat(t.values);
});
}
$$.data.targets = $$.data.targets.concat(targets); // add remained
$$.data._targets = $$.data.targets.concat(targets); // add remained
$$.data.targets = $$.normalize($$.data._targets);
// check data count because behavior needs to change when it's only one
dataCount = $$.getMaxDataCount();
......
c3_chart_internal_fn.initAxis = function () {
c3_chart_internal_fn.initAxis = function(){
var $$ = this, config = $$.config, main = $$.main;
$$.axes.x = main.append("g")
.attr("class", CLASS.axis + ' ' + CLASS.axisX)
......
......@@ -164,12 +164,14 @@ c3_chart_internal_fn.initWithData = function (data) {
// Init data as targets
$$.data.xs = {};
$$.data.targets = $$.convertDataToTargets(data);
$$.data._targets = $$.convertDataToTargets(data);
if (config.data_filter) {
$$.data.targets = $$.data.targets.filter(config.data_filter);
$$.data._targets = $$.data._targets.filter(config.data_filter);
}
$$.data.targets = $$.normalize($$.data._targets);
// Set targets to hide if needed
if (config.data_hide) {
$$.addHiddenTargetIds(config.data_hide === true ? $$.mapToIds($$.data.targets) : config.data_hide);
......@@ -394,10 +396,9 @@ c3_chart_internal_fn.updateSizes = function () {
}
};
c3_chart_internal_fn.updateTargets = function (t){
c3_chart_internal_fn.updateTargets = function (targets){
var $$ = this;
var targets = $$.normalize(t);
/*-- Main --*/
//-- Text --//
......
......@@ -21,13 +21,13 @@ c3_chart_internal_fn.load = function (targets, args) {
}
}
});
$$.data.targets = $$.data.targets.concat(targets); // add remained
$$.data._targets = $$.data._targets.concat(targets); // add remained
$$.data.targets = $$.normalize($$.data._targets);
}
// Set targets
$$.updateTargets($$.data.targets);
$$.tuneAxis();
// Redraw with new targets
$$.redraw({withUpdateOrgXDomain: true, withUpdateXDomain: true, withLegend: true});
......@@ -82,8 +82,9 @@ c3_chart_internal_fn.unload = function (targetIds, done) {
$$.legend.selectAll('.' + CLASS.legendItem + $$.getTargetSelectorSuffix(id)).remove();
}
// Remove target
$$.data.targets = $$.data.targets.filter(function (t) {
$$.data._targets = $$.data.targets.filter(function (t) {
return t.id !== id;
});
$$.data.targets = $$.normalize($$.data._targets);
});
};
......@@ -5,7 +5,11 @@ c3.chart.internal.fn.normalize = function(targets){
return targets;
}
var data = copyArray(targets);
var data = [];
targets.forEach(function(target){
data.push($$.cloneTarget(target));
});
for(var k = 0; k < targets[0].values.length; k++) {
var tt = 0;
......@@ -17,7 +21,11 @@ c3.chart.internal.fn.normalize = function(targets){
for(c in targets) {
for(k = 0; k < tr.length; k++) {
data[c].values[k].value = targets[c].values[k].value / tr[k];
if(tr[k] == 0){
data[c].values[k].value = 0;
} else {
data[c].values[k].value = targets[c].values[k].value / tr[k];
}
}
}
......
......@@ -32,7 +32,8 @@ c3_chart_internal_fn.hasArcType = function (targets) {
};
c3_chart_internal_fn.isLineType = function (d) {
var config = this.config, id = isString(d) ? d : d.id;
return !config.data_types[id] || ['line', 'spline', 'area', 'area-spline', 'step', 'area-step'].indexOf(config.data_types[id]) >= 0;
var is = !config.data_types[id] || ['line', 'spline', 'area', 'area-spline', 'step', 'area-step'].indexOf(config.data_types[id]) >= 0;
return is;
};
c3_chart_internal_fn.isStepType = function (d) {
var id = isString(d) ? d : d.id;
......
......@@ -63,10 +63,10 @@ var isValue = c3_chart_internal_fn.isValue = function (v) {
var newObj = {};
for(var key in oldObj){
if(oldObj.hasOwnProperty(key)){
if(typeof oldObj[key] === 'object'){
newObj[key] = copyObject(oldObj[key]);
} else if(Array.isArray(oldObj[key])){
if(Array.isArray(oldObj[key])){
newObj[key] = copyArray(oldObj[key]);
} else if(typeof oldObj[key] === 'object'){
newObj[key] = copyObject(oldObj[key]);
} else if(typeof oldObj[key] === 'function'){
newObj[key] = oldObj[key].bind(newObj);
} else {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment