"use strict"; 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; }