Browse Source

Modify to update dimension when redraw - #702

pull/713/merge
Masayuki Tanaka 10 years ago
parent
commit
e7d1776dea
  1. 20
      c3.js
  2. 10
      c3.min.js
  3. 20
      src/core.js

20
c3.js

@ -459,6 +459,10 @@
// update legend and transform each g // update legend and transform each g
if (withLegend && config.legend_show) { if (withLegend && config.legend_show) {
$$.updateLegend($$.mapToIds($$.data.targets), options, transitions); $$.updateLegend($$.mapToIds($$.data.targets), options, transitions);
} else if ((!config.axis_rotated && withY) || (config.axis_rotated && withUpdateXDomain)) {
// need to update dimension (e.g. axis.y.tick.values) because y tick values should change
// no need to update axis in it because they will be updated in redraw()
$$.updateDimension(true);
} }
// MEMO: needed for grids calculation // MEMO: needed for grids calculation
@ -788,14 +792,16 @@
}; };
c3_chart_internal_fn.updateDimension = function () { c3_chart_internal_fn.updateDimension = function (withoutAxis) {
var $$ = this; var $$ = this;
if ($$.config.axis_rotated) { if (!withoutAxis) {
$$.axes.x.call($$.xAxis); if ($$.config.axis_rotated) {
$$.axes.subx.call($$.subXAxis); $$.axes.x.call($$.xAxis);
} else { $$.axes.subx.call($$.subXAxis);
$$.axes.y.call($$.yAxis); } else {
$$.axes.y2.call($$.y2Axis); $$.axes.y.call($$.yAxis);
$$.axes.y2.call($$.y2Axis);
}
} }
$$.updateSizes(); $$.updateSizes();
$$.updateScales(); $$.updateScales();

10
c3.min.js vendored

File diff suppressed because one or more lines are too long

20
src/core.js

@ -454,6 +454,10 @@ c3_chart_internal_fn.redraw = function (options, transitions) {
// update legend and transform each g // update legend and transform each g
if (withLegend && config.legend_show) { if (withLegend && config.legend_show) {
$$.updateLegend($$.mapToIds($$.data.targets), options, transitions); $$.updateLegend($$.mapToIds($$.data.targets), options, transitions);
} else if ((!config.axis_rotated && withY) || (config.axis_rotated && withUpdateXDomain)) {
// need to update dimension (e.g. axis.y.tick.values) because y tick values should change
// no need to update axis in it because they will be updated in redraw()
$$.updateDimension(true);
} }
// MEMO: needed for grids calculation // MEMO: needed for grids calculation
@ -783,14 +787,16 @@ c3_chart_internal_fn.updateSvgSize = function () {
}; };
c3_chart_internal_fn.updateDimension = function () { c3_chart_internal_fn.updateDimension = function (withoutAxis) {
var $$ = this; var $$ = this;
if ($$.config.axis_rotated) { if (!withoutAxis) {
$$.axes.x.call($$.xAxis); if ($$.config.axis_rotated) {
$$.axes.subx.call($$.subXAxis); $$.axes.x.call($$.xAxis);
} else { $$.axes.subx.call($$.subXAxis);
$$.axes.y.call($$.yAxis); } else {
$$.axes.y2.call($$.y2Axis); $$.axes.y.call($$.yAxis);
$$.axes.y2.call($$.y2Axis);
}
} }
$$.updateSizes(); $$.updateSizes();
$$.updateScales(); $$.updateScales();

Loading…
Cancel
Save