@jiaminghi/charts
Version:
Lightweight charting
74 lines (59 loc) • 1.88 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.title = title;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _updater = require("../class/updater.class");
var _util = require("@jiaminghi/c-render/lib/plugin/util");
var _config = require("../config");
var _util2 = require("../util");
function title(chart) {
var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var title = [];
if (option.title) {
title[0] = (0, _util2.deepMerge)((0, _util.deepClone)(_config.titleConfig, true), option.title);
}
(0, _updater.doUpdate)({
chart: chart,
series: title,
key: 'title',
getGraphConfig: getTitleConfig
});
}
function getTitleConfig(titleItem, updater) {
var animationCurve = _config.titleConfig.animationCurve,
animationFrame = _config.titleConfig.animationFrame,
rLevel = _config.titleConfig.rLevel;
var shape = getTitleShape(titleItem, updater);
var style = getTitleStyle(titleItem);
return [{
name: 'text',
index: rLevel,
visible: titleItem.show,
animationCurve: animationCurve,
animationFrame: animationFrame,
shape: shape,
style: style
}];
}
function getTitleShape(titleItem, updater) {
var offset = titleItem.offset,
text = titleItem.text;
var _updater$chart$gridAr = updater.chart.gridArea,
x = _updater$chart$gridAr.x,
y = _updater$chart$gridAr.y,
w = _updater$chart$gridAr.w;
var _offset = (0, _slicedToArray2["default"])(offset, 2),
ox = _offset[0],
oy = _offset[1];
return {
content: text,
position: [x + w / 2 + ox, y + oy]
};
}
function getTitleStyle(titleItem) {
var style = titleItem.style;
return style;
}