@antv/f2
Version:
Charts for mobile visualization.
82 lines (81 loc) • 3.03 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
var _withLine2 = _interopRequireDefault(require("../line/withLine"));
var _default = function _default(View) {
return /*#__PURE__*/function (_withLine) {
(0, _inherits2.default)(Area, _withLine);
var _super = (0, _createSuper2.default)(Area);
function Area() {
(0, _classCallCheck2.default)(this, Area);
return _super.apply(this, arguments);
}
(0, _createClass2.default)(Area, [{
key: "getDefaultCfg",
value: function getDefaultCfg() {
return {
geomType: 'area',
// 面积图默认设为从0开始
startOnZero: true,
// 点需要排序
sortable: true
};
}
}, {
key: "mapping",
value: function mapping() {
var records = (0, _get2.default)((0, _getPrototypeOf2.default)(Area.prototype), "mapping", this).call(this);
// 坐标轴 y0
var y0 = this.getY0Value();
var props = this.props,
defaultStartOnZero = this.startOnZero;
var coord = props.coord,
_props$startOnZero = props.startOnZero,
startOnZero = _props$startOnZero === void 0 ? defaultStartOnZero : _props$startOnZero;
var baseY = coord.y[0];
if (startOnZero) {
// 零点映射到绝对坐标
var originCoord = coord.convertPoint({
x: 0,
y: y0
});
baseY = originCoord.y;
}
for (var i = 0, len = records.length; i < len; i++) {
var record = records[i];
var children = record.children;
for (var j = 0, _len = children.length; j < _len; j++) {
var child = children[j];
var points = child.points,
bottomPoints = child.bottomPoints;
if (bottomPoints && bottomPoints.length) {
bottomPoints.reverse();
child.points = points.concat(bottomPoints);
} else {
points.push({
x: points[points.length - 1].x,
y: baseY
});
points.push({
x: points[0].x,
y: baseY
});
}
}
}
return records;
}
}]);
return Area;
}((0, _withLine2.default)(View));
};
exports.default = _default;
;