@antv/f2
Version:
Charts for mobile visualization.
61 lines • 1.71 kB
JavaScript
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
import { jsx } from '../../../jsx';
export default (function (props) {
var ticks = props.ticks,
coord = props.coord,
style = props.style;
var top = coord.top,
right = coord.right,
bottom = coord.bottom;
var grid = style.grid,
tickLine = style.tickLine,
line = style.line,
labelOffset = style.labelOffset,
label = style.label;
return jsx("group", null, grid ? ticks.map(function (tick) {
var points = tick.points,
gridStyle = tick.gridStyle;
var start = points[0];
var end = points[points.length - 1];
return jsx("line", {
attrs: _objectSpread(_objectSpread({
x1: start.x,
y1: start.y,
x2: end.x,
y2: end.y
}, grid), gridStyle)
});
}) : null, tickLine && tickLine.length ? ticks.map(function (tick) {
var points = tick.points;
var end = points[points.length - 1];
return jsx("line", {
attrs: _objectSpread({
x1: end.x,
y1: end.y,
x2: end.x + tickLine.length,
y2: end.y
}, tickLine)
});
}) : null, line ? jsx("line", {
attrs: _objectSpread({
x1: right,
y1: top,
x2: right,
y2: bottom
}, line)
}) : null, label ? ticks.map(function (tick, _index) {
var points = tick.points,
text = tick.text,
labelStyle = tick.labelStyle;
var end = points[points.length - 1];
return jsx("text", {
attrs: _objectSpread(_objectSpread({
x: end.x + labelOffset,
y: end.y,
textAlign: 'left',
textBaseline: 'middle',
text: text
}, label), labelStyle)
});
}) : null);
});