@jiaminghi/charts
Version:
Lightweight charting
83 lines (67 loc) • 3.07 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.grid = grid;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _updater = require("../class/updater.class");
var _util = require("@jiaminghi/c-render/lib/plugin/util");
var _config = require("../config");
var _util2 = require("../util");
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function grid(chart) {
var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var grid = option.grid;
grid = (0, _util2.deepMerge)((0, _util.deepClone)(_config.gridConfig, true), grid || {});
(0, _updater.doUpdate)({
chart: chart,
series: [grid],
key: 'grid',
getGraphConfig: getGridConfig
});
}
function getGridConfig(gridItem, updater) {
var animationCurve = gridItem.animationCurve,
animationFrame = gridItem.animationFrame,
rLevel = gridItem.rLevel;
var shape = getGridShape(gridItem, updater);
var style = getGridStyle(gridItem);
updater.chart.gridArea = _objectSpread({}, shape);
return [{
name: 'rect',
index: rLevel,
animationCurve: animationCurve,
animationFrame: animationFrame,
shape: shape,
style: style
}];
}
function getGridShape(gridItem, updater) {
var _updater$chart$render = (0, _slicedToArray2["default"])(updater.chart.render.area, 2),
w = _updater$chart$render[0],
h = _updater$chart$render[1];
var left = getNumberValue(gridItem.left, w);
var right = getNumberValue(gridItem.right, w);
var top = getNumberValue(gridItem.top, h);
var bottom = getNumberValue(gridItem.bottom, h);
var width = w - left - right;
var height = h - top - bottom;
return {
x: left,
y: top,
w: width,
h: height
};
}
function getNumberValue(val, all) {
if (typeof val === 'number') return val;
if (typeof val !== 'string') return 0;
return all * parseInt(val) / 100;
}
function getGridStyle(gridItem) {
var style = gridItem.style;
return style;
}