1 'use strict'
  2 
  3 import * as DygraphTickers from './dygraph-tickers';
  4 import DygraphInteraction from './dygraph-interaction-model';
  5 import DygraphCanvasRenderer from './dygraph-canvas';
  6 import * as utils from './dygraph-utils';
  7 
  8 // Default attribute values.
  9 var DEFAULT_ATTRS = {
 10   highlightCircleSize: 3,
 11   highlightSeriesOpts: null,
 12   highlightSeriesBackgroundAlpha: 0.5,
 13   highlightSeriesBackgroundColor: 'rgb(255, 255, 255)',
 14 
 15   labelsSeparateLines: false,
 16   labelsShowZeroValues: true,
 17   labelsKMB: false,
 18   labelsKMG2: false,
 19   showLabelsOnHighlight: true,
 20 
 21   digitsAfterDecimal: 2,
 22   maxNumberWidth: 6,
 23   sigFigs: null,
 24 
 25   strokeWidth: 1.0,
 26   strokeBorderWidth: 0,
 27   strokeBorderColor: "white",
 28 
 29   axisTickSize: 3,
 30   axisLabelFontSize: 14,
 31   rightGap: 5,
 32 
 33   showRoller: false,
 34   xValueParser: undefined,
 35 
 36   delimiter: ',',
 37 
 38   sigma: 2.0,
 39   errorBars: false,
 40   fractions: false,
 41   wilsonInterval: true,  // only relevant if fractions is true
 42   customBars: false,
 43   fillGraph: false,
 44   fillAlpha: 0.15,
 45   connectSeparatedPoints: false,
 46 
 47   stackedGraph: false,
 48   stackedGraphNaNFill: 'all',
 49   hideOverlayOnMouseOut: true,
 50 
 51   legend: 'onmouseover',
 52   stepPlot: false,
 53   xRangePad: 0,
 54   yRangePad: null,
 55   drawAxesAtZero: false,
 56 
 57   // Sizes of the various chart labels.
 58   titleHeight: 28,
 59   xLabelHeight: 18,
 60   yLabelWidth: 18,
 61 
 62   axisLineColor: "black",
 63   axisLineWidth: 0.3,
 64   gridLineWidth: 0.3,
 65   axisLabelWidth: 50,
 66   gridLineColor: "rgb(128,128,128)",
 67 
 68   interactionModel: DygraphInteraction.defaultModel,
 69   animatedZooms: false,  // (for now)
 70   animateBackgroundFade: true,
 71 
 72   // Range selector options
 73   showRangeSelector: false,
 74   rangeSelectorHeight: 40,
 75   rangeSelectorPlotStrokeColor: "#808FAB",
 76   rangeSelectorPlotFillGradientColor: "white",
 77   rangeSelectorPlotFillColor: "#A7B1C4",
 78   rangeSelectorBackgroundStrokeColor: "gray",
 79   rangeSelectorBackgroundLineWidth: 1,
 80   rangeSelectorPlotLineWidth:1.5,
 81   rangeSelectorForegroundStrokeColor: "black",
 82   rangeSelectorForegroundLineWidth: 1,
 83   rangeSelectorAlpha: 0.6,
 84   showInRangeSelector: null,
 85 
 86   // The ordering here ensures that central lines always appear above any
 87   // fill bars/error bars.
 88   plotter: [
 89     DygraphCanvasRenderer._fillPlotter,
 90     DygraphCanvasRenderer._errorPlotter,
 91     DygraphCanvasRenderer._linePlotter
 92   ],
 93 
 94   plugins: [ ],
 95 
 96   // per-axis options
 97   axes: {
 98     x: {
 99       pixelsPerLabel: 70,
100       axisLabelWidth: 60,
101       axisLabelFormatter: utils.dateAxisLabelFormatter,
102       valueFormatter: utils.dateValueFormatter,
103       drawGrid: true,
104       drawAxis: true,
105       independentTicks: true,
106       ticker: DygraphTickers.dateTicker
107     },
108     y: {
109       axisLabelWidth: 50,
110       pixelsPerLabel: 30,
111       valueFormatter: utils.numberValueFormatter,
112       axisLabelFormatter: utils.numberAxisLabelFormatter,
113       drawGrid: true,
114       drawAxis: true,
115       independentTicks: true,
116       ticker: DygraphTickers.numericTicks
117     },
118     y2: {
119       axisLabelWidth: 50,
120       pixelsPerLabel: 30,
121       valueFormatter: utils.numberValueFormatter,
122       axisLabelFormatter: utils.numberAxisLabelFormatter,
123       drawAxis: true,  // only applies when there are two axes of data.
124       drawGrid: false,
125       independentTicks: false,
126       ticker: DygraphTickers.numericTicks
127     }
128   }
129 };
130 
131 export default DEFAULT_ATTRS;
132