UNPKG

react-financial-charts

Version:
45 lines 2.03 kB
import * as React from "react"; import { AreaOnlySeries } from "./AreaOnlySeries"; import { LineSeries } from "./LineSeries"; export class BollingerSeries extends React.Component { constructor() { super(...arguments); this.yAccessorForScalledBottom = (scale, d) => { const { yAccessor } = this.props; return scale(yAccessor(d) && yAccessor(d).bottom); }; this.yAccessorForBottom = (d) => { const { yAccessor } = this.props; return yAccessor(d) && yAccessor(d).bottom; }; this.yAccessorForMiddle = (d) => { const { yAccessor } = this.props; return yAccessor(d) && yAccessor(d).middle; }; this.yAccessorForTop = (d) => { const { yAccessor } = this.props; return yAccessor(d) && yAccessor(d).top; }; } render() { const { areaClassName, className, opacity, stroke = BollingerSeries.defaultProps.stroke, fill, } = this.props; return (React.createElement("g", { className: className }, React.createElement(LineSeries, { yAccessor: this.yAccessorForTop, stroke: stroke.top, fill: "none" }), React.createElement(LineSeries, { yAccessor: this.yAccessorForMiddle, stroke: stroke.middle, fill: "none" }), React.createElement(LineSeries, { yAccessor: this.yAccessorForBottom, stroke: stroke.bottom, fill: "none" }), React.createElement(AreaOnlySeries, { className: areaClassName, yAccessor: this.yAccessorForTop, base: this.yAccessorForScalledBottom, stroke: "none", fill: fill, opacity: opacity }))); } } BollingerSeries.defaultProps = { areaClassName: "react-financial-charts-bollinger-band-series-area", className: "react-financial-charts-bollinger-band-series", fill: "#26a69a", opacity: 0.05, stroke: { top: "#26a69a", middle: "#812828", bottom: "#26a69a", }, yAccessor: (data) => data.bb, }; //# sourceMappingURL=BollingerSeries.js.map