r-d3
Version:
D3 data, React rendering.
64 lines (53 loc) • 1.58 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _react = require('react');
var React = _interopRequireWildcard(_react);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var OHLC = function OHLC(props) {
var className = props.className,
width = props.width,
x = props.x,
y = props.y;
var date = x(props.date);
var close = y(props.close);
var high = y(props.high);
var low = y(props.low);
var open = y(props.open);
var diff = open - close;
return React.createElement(
'g',
{
className: (0, _classnames2.default)('ohlc', {
'gain': diff > 0,
'loss': diff < 0
}, className) },
React.createElement('line', {
x1: date,
x2: date,
y1: high,
y2: low
}),
React.createElement('line', {
className: 'open',
strokeLinecap: 'square',
x1: date - width / 2,
x2: date,
y1: open,
y2: open
}),
React.createElement('line', {
className: 'close',
strokeLinecap: 'square',
x1: date,
x2: date + width / 2,
y1: close,
y2: close
})
);
};
exports.default = OHLC;