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   resizable: 'no',
 51 
 52   legend: 'onmouseover',
 53   legendFollowOffsetX: 50,
 54   legendFollowOffsetY: -50,
 55   stepPlot: false,
 56   xRangePad: 0,
 57   yRangePad: null,
 58   drawAxesAtZero: false,
 59 
 60   // Sizes of the various chart labels.
 61   titleHeight: 28,
 62   xLabelHeight: 18,
 63   yLabelWidth: 18,
 64 
 65   axisLineColor: "black",
 66   axisLineWidth: 0.3,
 67   gridLineWidth: 0.3,
 68   axisLabelWidth: 50,
 69   gridLineColor: "rgb(128,128,128)",
 70 
 71   interactionModel: DygraphInteraction.defaultModel,
 72   animatedZooms: false,  // (for now)
 73   animateBackgroundFade: true,
 74 
 75   // Range selector options
 76   showRangeSelector: false,
 77   rangeSelectorHeight: 40,
 78   rangeSelectorPlotStrokeColor: "#808FAB",
 79   rangeSelectorPlotFillGradientColor: "white",
 80   rangeSelectorPlotFillColor: "#A7B1C4",
 81   rangeSelectorBackgroundStrokeColor: "gray",
 82   rangeSelectorBackgroundLineWidth: 1,
 83   rangeSelectorPlotLineWidth:1.5,
 84   rangeSelectorForegroundStrokeColor: "black",
 85   rangeSelectorForegroundLineWidth: 1,
 86   rangeSelectorAlpha: 0.6,
 87   showInRangeSelector: null,
 88 
 89   // The ordering here ensures that central lines always appear above any
 90   // fill bars/error bars.
 91   plotter: [
 92     DygraphCanvasRenderer._fillPlotter,
 93     DygraphCanvasRenderer._errorPlotter,
 94     DygraphCanvasRenderer._linePlotter
 95   ],
 96 
 97   plugins: [ ],
 98 
 99   // per-axis options
100   axes: {
101     x: {
102       pixelsPerLabel: 70,
103       axisLabelWidth: 60,
104       axisLabelFormatter: utils.dateAxisLabelFormatter,
105       valueFormatter: utils.dateValueFormatter,
106       drawGrid: true,
107       drawAxis: true,
108       independentTicks: true,
109       ticker: DygraphTickers.dateTicker
110     },
111     y: {
112       axisLabelWidth: 50,
113       pixelsPerLabel: 30,
114       valueFormatter: utils.numberValueFormatter,
115       axisLabelFormatter: utils.numberAxisLabelFormatter,
116       drawGrid: true,
117       drawAxis: true,
118       independentTicks: true,
119       ticker: DygraphTickers.numericTicks
120     },
121     y2: {
122       axisLabelWidth: 50,
123       pixelsPerLabel: 30,
124       valueFormatter: utils.numberValueFormatter,
125       axisLabelFormatter: utils.numberAxisLabelFormatter,
126       drawAxis: true,  // only applies when there are two axes of data.
127       drawGrid: false,
128       independentTicks: false,
129       ticker: DygraphTickers.numericTicks
130     }
131   }
132 };
133 
134 export default DEFAULT_ATTRS;
135