@castianta/chart-lc
Version:
104 lines (87 loc) • 4.25 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireWildcard(require("react"));
var _base = _interopRequireDefault(require("./base"));
var _utils = require("../utils");
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; }
var setSeries = function setSeries(_ref) {
var series = _ref.series,
_ref$list = _ref.list,
name = _ref$list.name,
data = _ref$list.data,
color = _ref$list.color,
thickness = _ref$list.thickness,
cursorEnabled = _ref$list.cursorEnabled,
resultTableFormatter = _ref$list.resultTableFormatter,
index = _ref.index,
_ref$chart3D = _ref.chart3D,
chart3D = _ref$chart3D === void 0 ? false : _ref$chart3D;
var config = series.clear().setName(name ? name : series.getName()).add(data === null || data === void 0 ? void 0 : data.map(function (item) {
return (0, _extends2["default"])({
z: index
}, item);
}));
if (chart3D) {
config.setLineStyle((0, _utils.toStrokeStyle)(thickness, color, config.getLineStyle()));
} else {
config.setCursorEnabled(cursorEnabled).setStrokeStyle((0, _utils.toStrokeStyle)(thickness, color, config.getStrokeStyle())).setCursorResultTableFormatter(resultTableFormatter ? resultTableFormatter : config.getCursorResultTableFormatter());
}
return config;
};
var Line = function Line(props, ref) {
var dataSource = props.dataSource,
_chartRender = props.chartRender,
chart3D = props.chart3D;
var _useState = (0, _react.useState)(),
chart = _useState[0],
setChart = _useState[1];
var refSeries = (0, _react.useRef)();
(0, _react.useImperativeHandle)(ref, function () {
return {
chart: chart
};
}, [chart]);
(0, _react.useLayoutEffect)(function () {
if (!chart) return;
if (!_chartRender) {
if (refSeries.current) {
refSeries.current.forEach(function (series, index) {
setSeries({
series: series,
list: dataSource[index],
index: index,
chart3D: chart3D
});
});
} else {
var seriesData = dataSource === null || dataSource === void 0 ? void 0 : dataSource.map(function (list, index) {
var series = chart.addLineSeries();
return setSeries({
series: series,
list: list,
index: index,
chart3D: chart3D
});
});
refSeries.current = seriesData;
}
}
}, [chart, dataSource]);
return /*#__PURE__*/_react["default"].createElement(_base["default"], (0, _extends2["default"])({}, props, {
setChart: setChart,
chart: chart,
refSeries: refSeries,
chartRender: function chartRender(setAxis) {
return _chartRender && _chartRender(chart, {
setAxis: setAxis,
setSeries: setSeries
}, dataSource);
}
}));
};
var _default = /*#__PURE__*/(0, _react.forwardRef)(Line);
exports["default"] = _default;