| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- import { Chart } from './core'
- import { isDefined } from './util'
- Chart.prototype.zoom = function(domain) {
- var $$ = this.internal
- if (domain) {
- if ($$.isTimeSeries()) {
- domain = domain.map(function(x) {
- return $$.parseDate(x)
- })
- }
- if ($$.config.subchart_show) {
- $$.brush.selectionAsValue(domain, true)
- } else {
- $$.updateXDomain(null, true, false, false, domain)
- $$.redraw({ withY: $$.config.zoom_rescale, withSubchart: false })
- }
- $$.config.zoom_onzoom.call(this, $$.x.orgDomain())
- return domain
- } else {
- return $$.x.domain()
- }
- }
- Chart.prototype.zoom.enable = function(enabled) {
- var $$ = this.internal
- $$.config.zoom_enabled = enabled
- $$.updateAndRedraw()
- }
- Chart.prototype.unzoom = function() {
- var $$ = this.internal
- if ($$.config.subchart_show) {
- $$.brush.clear()
- } else {
- $$.updateXDomain(null, true, false, false, $$.subX.domain())
- $$.redraw({ withY: $$.config.zoom_rescale, withSubchart: false })
- }
- }
- Chart.prototype.zoom.max = function(max) {
- var $$ = this.internal,
- config = $$.config,
- d3 = $$.d3
- if (max === 0 || max) {
- config.zoom_x_max = d3.max([$$.orgXDomain[1], max])
- } else {
- return config.zoom_x_max
- }
- }
- Chart.prototype.zoom.min = function(min) {
- var $$ = this.internal,
- config = $$.config,
- d3 = $$.d3
- if (min === 0 || min) {
- config.zoom_x_min = d3.min([$$.orgXDomain[0], min])
- } else {
- return config.zoom_x_min
- }
- }
- Chart.prototype.zoom.range = function(range) {
- if (arguments.length) {
- if (isDefined(range.max)) {
- this.domain.max(range.max)
- }
- if (isDefined(range.min)) {
- this.domain.min(range.min)
- }
- } else {
- return {
- max: this.domain.max(),
- min: this.domain.min()
- }
- }
- }
|