dygraphs
Version:
dygraphs is a fast, flexible open source JavaScript charting library.
125 lines (124 loc) • 15.3 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var DygraphTickers = _interopRequireWildcard(require("./dygraph-tickers"));
var _dygraphInteractionModel = _interopRequireDefault(require("./dygraph-interaction-model"));
var _dygraphCanvas = _interopRequireDefault(require("./dygraph-canvas"));
var utils = _interopRequireWildcard(require("./dygraph-utils"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
// Default attribute values.
var DEFAULT_ATTRS = {
highlightCircleSize: 3,
highlightSeriesOpts: null,
highlightSeriesBackgroundAlpha: 0.5,
highlightSeriesBackgroundColor: 'rgb(255, 255, 255)',
labelsSeparateLines: false,
labelsShowZeroValues: true,
labelsKMB: false,
labelsKMG2: false,
showLabelsOnHighlight: true,
digitsAfterDecimal: 2,
maxNumberWidth: 6,
sigFigs: null,
strokeWidth: 1.0,
strokeBorderWidth: 0,
strokeBorderColor: "white",
axisTickSize: 3,
axisLabelFontSize: 14,
rightGap: 5,
showRoller: false,
xValueParser: undefined,
delimiter: ',',
sigma: 2.0,
errorBars: false,
fractions: false,
wilsonInterval: true,
// only relevant if fractions is true
customBars: false,
fillGraph: false,
fillAlpha: 0.15,
connectSeparatedPoints: false,
stackedGraph: false,
stackedGraphNaNFill: 'all',
hideOverlayOnMouseOut: true,
resizable: 'no',
legend: 'onmouseover',
legendFollowOffsetX: 50,
legendFollowOffsetY: -50,
stepPlot: false,
xRangePad: 0,
yRangePad: null,
drawAxesAtZero: false,
// Sizes of the various chart labels.
titleHeight: 28,
xLabelHeight: 18,
yLabelWidth: 18,
axisLineColor: "black",
axisLineWidth: 0.3,
gridLineWidth: 0.3,
axisLabelWidth: 50,
gridLineColor: "rgb(128,128,128)",
interactionModel: _dygraphInteractionModel["default"].defaultModel,
animatedZooms: false,
// (for now)
animateBackgroundFade: true,
// Range selector options
showRangeSelector: false,
rangeSelectorHeight: 40,
rangeSelectorPlotStrokeColor: "#808FAB",
rangeSelectorPlotFillGradientColor: "white",
rangeSelectorPlotFillColor: "#A7B1C4",
rangeSelectorBackgroundStrokeColor: "gray",
rangeSelectorBackgroundLineWidth: 1,
rangeSelectorPlotLineWidth: 1.5,
rangeSelectorForegroundStrokeColor: "black",
rangeSelectorForegroundLineWidth: 1,
rangeSelectorAlpha: 0.6,
showInRangeSelector: null,
// The ordering here ensures that central lines always appear above any
// fill bars/error bars.
plotter: [_dygraphCanvas["default"]._fillPlotter, _dygraphCanvas["default"]._errorPlotter, _dygraphCanvas["default"]._linePlotter],
plugins: [],
// per-axis options
axes: {
x: {
pixelsPerLabel: 70,
axisLabelWidth: 60,
axisLabelFormatter: utils.dateAxisLabelFormatter,
valueFormatter: utils.dateValueFormatter,
drawGrid: true,
drawAxis: true,
independentTicks: true,
ticker: DygraphTickers.dateTicker
},
y: {
axisLabelWidth: 50,
pixelsPerLabel: 30,
valueFormatter: utils.numberValueFormatter,
axisLabelFormatter: utils.numberAxisLabelFormatter,
drawGrid: true,
drawAxis: true,
independentTicks: true,
ticker: DygraphTickers.numericTicks
},
y2: {
axisLabelWidth: 50,
pixelsPerLabel: 30,
valueFormatter: utils.numberValueFormatter,
axisLabelFormatter: utils.numberAxisLabelFormatter,
drawAxis: true,
// only applies when there are two axes of data.
drawGrid: false,
independentTicks: false,
ticker: DygraphTickers.numericTicks
}
}
};
var _default = DEFAULT_ATTRS;
exports["default"] = _default;
module.exports = exports.default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJERUZBVUxUX0FUVFJTIiwiaGlnaGxpZ2h0Q2lyY2xlU2l6ZSIsImhpZ2hsaWdodFNlcmllc09wdHMiLCJoaWdobGlnaHRTZXJpZXNCYWNrZ3JvdW5kQWxwaGEiLCJoaWdobGlnaHRTZXJpZXNCYWNrZ3JvdW5kQ29sb3IiLCJsYWJlbHNTZXBhcmF0ZUxpbmVzIiwibGFiZWxzU2hvd1plcm9WYWx1ZXMiLCJsYWJlbHNLTUIiLCJsYWJlbHNLTUcyIiwic2hvd0xhYmVsc09uSGlnaGxpZ2h0IiwiZGlnaXRzQWZ0ZXJEZWNpbWFsIiwibWF4TnVtYmVyV2lkdGgiLCJzaWdGaWdzIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VCb3JkZXJXaWR0aCIsInN0cm9rZUJvcmRlckNvbG9yIiwiYXhpc1RpY2tTaXplIiwiYXhpc0xhYmVsRm9udFNpemUiLCJyaWdodEdhcCIsInNob3dSb2xsZXIiLCJ4VmFsdWVQYXJzZXIiLCJ1bmRlZmluZWQiLCJkZWxpbWl0ZXIiLCJzaWdtYSIsImVycm9yQmFycyIsImZyYWN0aW9ucyIsIndpbHNvbkludGVydmFsIiwiY3VzdG9tQmFycyIsImZpbGxHcmFwaCIsImZpbGxBbHBoYSIsImNvbm5lY3RTZXBhcmF0ZWRQb2ludHMiLCJzdGFja2VkR3JhcGgiLCJzdGFja2VkR3JhcGhOYU5GaWxsIiwiaGlkZU92ZXJsYXlPbk1vdXNlT3V0IiwicmVzaXphYmxlIiwibGVnZW5kIiwibGVnZW5kRm9sbG93T2Zmc2V0WCIsImxlZ2VuZEZvbGxvd09mZnNldFkiLCJzdGVwUGxvdCIsInhSYW5nZVBhZCIsInlSYW5nZVBhZCIsImRyYXdBeGVzQXRaZXJvIiwidGl0bGVIZWlnaHQiLCJ4TGFiZWxIZWlnaHQiLCJ5TGFiZWxXaWR0aCIsImF4aXNMaW5lQ29sb3IiLCJheGlzTGluZVdpZHRoIiwiZ3JpZExpbmVXaWR0aCIsImF4aXNMYWJlbFdpZHRoIiwiZ3JpZExpbmVDb2xvciIsImludGVyYWN0aW9uTW9kZWwiLCJEeWdyYXBoSW50ZXJhY3Rpb24iLCJkZWZhdWx0TW9kZWwiLCJhbmltYXRlZFpvb21zIiwiYW5pbWF0ZUJhY2tncm91bmRGYWRlIiwic2hvd1JhbmdlU2VsZWN0b3IiLCJyYW5nZVNlbGVjdG9ySGVpZ2h0IiwicmFuZ2VTZWxlY3RvclBsb3RTdHJva2VDb2xvciIsInJhbmdlU2VsZWN0b3JQbG90RmlsbEdyYWRpZW50Q29sb3IiLCJyYW5nZVNlbGVjdG9yUGxvdEZpbGxDb2xvciIsInJhbmdlU2VsZWN0b3JCYWNrZ3JvdW5kU3Ryb2tlQ29sb3IiLCJyYW5nZVNlbGVjdG9yQmFja2dyb3VuZExpbmVXaWR0aCIsInJhbmdlU2VsZWN0b3JQbG90TGluZVdpZHRoIiwicmFuZ2VTZWxlY3RvckZvcmVncm91bmRTdHJva2VDb2xvciIsInJhbmdlU2VsZWN0b3JGb3JlZ3JvdW5kTGluZVdpZHRoIiwicmFuZ2VTZWxlY3RvckFscGhhIiwic2hvd0luUmFuZ2VTZWxlY3RvciIsInBsb3R0ZXIiLCJEeWdyYXBoQ2FudmFzUmVuZGVyZXIiLCJfZmlsbFBsb3R0ZXIiLCJfZXJyb3JQbG90dGVyIiwiX2xpbmVQbG90dGVyIiwicGx1Z2lucyIsImF4ZXMiLCJ4IiwicGl4ZWxzUGVyTGFiZWwiLCJheGlzTGFiZWxGb3JtYXR0ZXIiLCJ1dGlscyIsImRhdGVBeGlzTGFiZWxGb3JtYXR0ZXIiLCJ2YWx1ZUZvcm1hdHRlciIsImRhdGVWYWx1ZUZvcm1hdHRlciIsImRyYXdHcmlkIiwiZHJhd0F4aXMiLCJpbmRlcGVuZGVudFRpY2tzIiwidGlja2VyIiwiRHlncmFwaFRpY2tlcnMiLCJkYXRlVGlja2VyIiwieSIsIm51bWJlclZhbHVlRm9ybWF0dGVyIiwibnVtYmVyQXhpc0xhYmVsRm9ybWF0dGVyIiwibnVtZXJpY1RpY2tzIiwieTIiXSwic291cmNlcyI6WyIuLi9zcmMvZHlncmFwaC1kZWZhdWx0LWF0dHJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0J1xuXG5pbXBvcnQgKiBhcyBEeWdyYXBoVGlja2VycyBmcm9tICcuL2R5Z3JhcGgtdGlja2Vycyc7XG5pbXBvcnQgRHlncmFwaEludGVyYWN0aW9uIGZyb20gJy4vZHlncmFwaC1pbnRlcmFjdGlvbi1tb2RlbCc7XG5pbXBvcnQgRHlncmFwaENhbnZhc1JlbmRlcmVyIGZyb20gJy4vZHlncmFwaC1jYW52YXMnO1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi9keWdyYXBoLXV0aWxzJztcblxuLy8gRGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWVzLlxudmFyIERFRkFVTFRfQVRUUlMgPSB7XG4gIGhpZ2hsaWdodENpcmNsZVNpemU6IDMsXG4gIGhpZ2hsaWdodFNlcmllc09wdHM6IG51bGwsXG4gIGhpZ2hsaWdodFNlcmllc0JhY2tncm91bmRBbHBoYTogMC41LFxuICBoaWdobGlnaHRTZXJpZXNCYWNrZ3JvdW5kQ29sb3I6ICdyZ2IoMjU1LCAyNTUsIDI1NSknLFxuXG4gIGxhYmVsc1NlcGFyYXRlTGluZXM6IGZhbHNlLFxuICBsYWJlbHNTaG93WmVyb1ZhbHVlczogdHJ1ZSxcbiAgbGFiZWxzS01COiBmYWxzZSxcbiAgbGFiZWxzS01HMjogZmFsc2UsXG4gIHNob3dMYWJlbHNPbkhpZ2hsaWdodDogdHJ1ZSxcblxuICBkaWdpdHNBZnRlckRlY2ltYWw6IDIsXG4gIG1heE51bWJlcldpZHRoOiA2LFxuICBzaWdGaWdzOiBudWxsLFxuXG4gIHN0cm9rZVdpZHRoOiAxLjAsXG4gIHN0cm9rZUJvcmRlcldpZHRoOiAwLFxuICBzdHJva2VCb3JkZXJDb2xvcjogXCJ3aGl0ZVwiLFxuXG4gIGF4aXNUaWNrU2l6ZTogMyxcbiAgYXhpc0xhYmVsRm9udFNpemU6IDE0LFxuICByaWdodEdhcDogNSxcblxuICBzaG93Um9sbGVyOiBmYWxzZSxcbiAgeFZhbHVlUGFyc2VyOiB1bmRlZmluZWQsXG5cbiAgZGVsaW1pdGVyOiAnLCcsXG5cbiAgc2lnbWE6IDIuMCxcbiAgZXJyb3JCYXJzOiBmYWxzZSxcbiAgZnJhY3Rpb25zOiBmYWxzZSxcbiAgd2lsc29uSW50ZXJ2YWw6IHRydWUsICAvLyBvbmx5IHJlbGV2YW50IGlmIGZyYWN0aW9ucyBpcyB0cnVlXG4gIGN1c3RvbUJhcnM6IGZhbHNlLFxuICBmaWxsR3JhcGg6IGZhbHNlLFxuICBmaWxsQWxwaGE6IDAuMTUsXG4gIGNvbm5lY3RTZXBhcmF0ZWRQb2ludHM6IGZhbHNlLFxuXG4gIHN0YWNrZWRHcmFwaDogZmFsc2UsXG4gIHN0YWNrZWRHcmFwaE5hTkZpbGw6ICdhbGwnLFxuICBoaWRlT3ZlcmxheU9uTW91c2VPdXQ6IHRydWUsXG4gIHJlc2l6YWJsZTogJ25vJyxcblxuICBsZWdlbmQ6ICdvbm1vdXNlb3ZlcicsXG4gIGxlZ2VuZEZvbGxvd09mZnNldFg6IDUwLFxuICBsZWdlbmRGb2xsb3dPZmZzZXRZOiAtNTAsXG4gIHN0ZXBQbG90OiBmYWxzZSxcbiAgeFJhbmdlUGFkOiAwLFxuICB5UmFuZ2VQYWQ6IG51bGwsXG4gIGRyYXdBeGVzQXRaZXJvOiBmYWxzZSxcblxuICAvLyBTaXplcyBvZiB0aGUgdmFyaW91cyBjaGFydCBsYWJlbHMuXG4gIHRpdGxlSGVpZ2h0OiAyOCxcbiAgeExhYmVsSGVpZ2h0OiAxOCxcbiAgeUxhYmVsV2lkdGg6IDE4LFxuXG4gIGF4aXNMaW5lQ29sb3I6IFwiYmxhY2tcIixcbiAgYXhpc0xpbmVXaWR0aDogMC4zLFxuICBncmlkTGluZVdpZHRoOiAwLjMsXG4gIGF4aXNMYWJlbFdpZHRoOiA1MCxcbiAgZ3JpZExpbmVDb2xvcjogXCJyZ2IoMTI4LDEyOCwxMjgpXCIsXG5cbiAgaW50ZXJhY3Rpb25Nb2RlbDogRHlncmFwaEludGVyYWN0aW9uLmRlZmF1bHRNb2RlbCxcbiAgYW5pbWF0ZWRab29tczogZmFsc2UsICAvLyAoZm9yIG5vdylcbiAgYW5pbWF0ZUJhY2tncm91bmRGYWRlOiB0cnVlLFxuXG4gIC8vIFJhbmdlIHNlbGVjdG9yIG9wdGlvbnNcbiAgc2hvd1JhbmdlU2VsZWN0b3I6IGZhbHNlLFxuICByYW5nZVNlbGVjdG9ySGVpZ2h0OiA0MCxcbiAgcmFuZ2VTZWxlY3RvclBsb3RTdHJva2VDb2xvcjogXCIjODA4RkFCXCIsXG4gIHJhbmdlU2VsZWN0b3JQbG90RmlsbEdyYWRpZW50Q29sb3I6IFwid2hpdGVcIixcbiAgcmFuZ2VTZWxlY3RvclBsb3RGaWxsQ29sb3I6IFwiI0E3QjFDNFwiLFxuICByYW5nZVNlbGVjdG9yQmFja2dyb3VuZFN0cm9rZUNvbG9yOiBcImdyYXlcIixcbiAgcmFuZ2VTZWxlY3RvckJhY2tncm91bmRMaW5lV2lkdGg6IDEsXG4gIHJhbmdlU2VsZWN0b3JQbG90TGluZVdpZHRoOjEuNSxcbiAgcmFuZ2VTZWxlY3RvckZvcmVncm91bmRTdHJva2VDb2xvcjogXCJibGFja1wiLFxuICByYW5nZVNlbGVjdG9yRm9yZWdyb3VuZExpbmVXaWR0aDogMSxcbiAgcmFuZ2VTZWxlY3RvckFscGhhOiAwLjYsXG4gIHNob3dJblJhbmdlU2VsZWN0b3I6IG51bGwsXG5cbiAgLy8gVGhlIG9yZGVyaW5nIGhlcmUgZW5zdXJlcyB0aGF0IGNlbnRyYWwgbGluZXMgYWx3YXlzIGFwcGVhciBhYm92ZSBhbnlcbiAgLy8gZmlsbCBiYXJzL2Vycm9yIGJhcnMuXG4gIHBsb3R0ZXI6IFtcbiAgICBEeWdyYXBoQ2FudmFzUmVuZGVyZXIuX2ZpbGxQbG90dGVyLFxuICAgIER5Z3JhcGhDYW52YXNSZW5kZXJlci5fZXJyb3JQbG90dGVyLFxuICAgIER5Z3JhcGhDYW52YXNSZW5kZXJlci5fbGluZVBsb3R0ZXJcbiAgXSxcblxuICBwbHVnaW5zOiBbIF0sXG5cbiAgLy8gcGVyLWF4aXMgb3B0aW9uc1xuICBheGVzOiB7XG4gICAgeDoge1xuICAgICAgcGl4ZWxzUGVyTGFiZWw6IDcwLFxuICAgICAgYXhpc0xhYmVsV2lkdGg6IDYwLFxuICAgICAgYXhpc0xhYmVsRm9ybWF0dGVyOiB1dGlscy5kYXRlQXhpc0xhYmVsRm9ybWF0dGVyLFxuICAgICAgdmFsdWVGb3JtYXR0ZXI6IHV0aWxzLmRhdGVWYWx1ZUZvcm1hdHRlcixcbiAgICAgIGRyYXdHcmlkOiB0cnVlLFxuICAgICAgZHJhd0F4aXM6IHRydWUsXG4gICAgICBpbmRlcGVuZGVudFRpY2tzOiB0cnVlLFxuICAgICAgdGlja2VyOiBEeWdyYXBoVGlja2Vycy5kYXRlVGlja2VyXG4gICAgfSxcbiAgICB5OiB7XG4gICAgICBheGlzTGFiZWxXaWR0aDogNTAsXG4gICAgICBwaXhlbHNQZXJMYWJlbDogMzAsXG4gICAgICB2YWx1ZUZvcm1hdHRlcjogdXRpbHMubnVtYmVyVmFsdWVGb3JtYXR0ZXIsXG4gICAgICBheGlzTGFiZWxGb3JtYXR0ZXI6IHV0aWxzLm51bWJlckF4aXNMYWJlbEZvcm1hdHRlcixcbiAgICAgIGRyYXdHcmlkOiB0cnVlLFxuICAgICAgZHJhd0F4aXM6IHRydWUsXG4gICAgICBpbmRlcGVuZGVudFRpY2tzOiB0cnVlLFxuICAgICAgdGlja2VyOiBEeWdyYXBoVGlja2Vycy5udW1lcmljVGlja3NcbiAgICB9LFxuICAgIHkyOiB7XG4gICAgICBheGlzTGFiZWxXaWR0aDogNTAsXG4gICAgICBwaXhlbHNQZXJMYWJlbDogMzAsXG4gICAgICB2YWx1ZUZvcm1hdHRlcjogdXRpbHMubnVtYmVyVmFsdWVGb3JtYXR0ZXIsXG4gICAgICBheGlzTGFiZWxGb3JtYXR0ZXI6IHV0aWxzLm51bWJlckF4aXNMYWJlbEZvcm1hdHRlcixcbiAgICAgIGRyYXdBeGlzOiB0cnVlLCAgLy8gb25seSBhcHBsaWVzIHdoZW4gdGhlcmUgYXJlIHR3byBheGVzIG9mIGRhdGEuXG4gICAgICBkcmF3R3JpZDogZmFsc2UsXG4gICAgICBpbmRlcGVuZGVudFRpY2tzOiBmYWxzZSxcbiAgICAgIHRpY2tlcjogRHlncmFwaFRpY2tlcnMubnVtZXJpY1RpY2tzXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBERUZBVUxUX0FUVFJTO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUFBO0VBQUE7QUFBQTtBQUFBO0FBRVo7QUFDQTtBQUNBO0FBQ0E7QUFBeUM7QUFBQTtBQUFBO0FBRXpDO0FBQ0EsSUFBSUEsYUFBYSxHQUFHO0VBQ2xCQyxtQkFBbUIsRUFBRSxDQUFDO0VB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
;