Commit b845e848 authored by Masayuki Tanaka's avatar Masayuki Tanaka

Fix zoom extent logic

parent 85fcd0a6
...@@ -33,8 +33,7 @@ ...@@ -33,8 +33,7 @@
var __size_width = getConfig(['size','width'], null), var __size_width = getConfig(['size','width'], null),
__size_height = getConfig(['size','height'], null); __size_height = getConfig(['size','height'], null);
var __zoom_enabled = getConfig(['zoom','enabled'], false), var __zoom_enabled = getConfig(['zoom','enabled'], false);
__zoom_extent = getConfig(['zoom','extent'], [1, 10]);
// data - data configuration // data - data configuration
checkConfig('data', 'data is required in config'); checkConfig('data', 'data is required in config');
...@@ -797,19 +796,21 @@ ...@@ -797,19 +796,21 @@
//-- Define brush/zoom -// //-- Define brush/zoom -//
var brush = d3.svg.brush().on("brush", redrawForBrush); var brush = d3.svg.brush().on("brush", redrawForBrush);
var zoom = d3.behavior.zoom().on("zoomstart", function(){ zoom.altDomain = d3.event.sourceEvent.altKey ? x.orgDomain() : null; }).on("zoom", __zoom_enabled ? redrawForZoom : null).scaleExtent(__zoom_extent); var zoom = d3.behavior.zoom().on("zoomstart", function(){ zoom.altDomain = d3.event.sourceEvent.altKey ? x.orgDomain() : null; }).on("zoom", __zoom_enabled ? redrawForZoom : null);
// define functions for c3 // define functions for c3
brush.update = function () { brush.update = function () {
if (context) context.select('.x.brush').call(this); if (context) context.select('.x.brush').call(this);
return this; return this;
} };
zoom.orgScaleExtent = zoom.scaleExtent(); zoom.orgScaleExtent = function () {
return [1, Math.max(maxDataCount()/10, 10)];
};
zoom.updateScaleExtent = function () { zoom.updateScaleExtent = function () {
var ratio = diffDomain(x.orgDomain())/diffDomain(orgXDomain); var ratio = diffDomain(x.orgDomain())/diffDomain(orgXDomain), extent = this.orgScaleExtent();
this.scaleExtent([this.orgScaleExtent[0]*ratio, this.orgScaleExtent[1]*ratio]); this.scaleExtent([extent[0]*ratio, extent[1]*ratio]);
return this; return this;
} };
/*-- Draw Chart --*/ /*-- Draw Chart --*/
......
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