suoqiu-f2
Version:
Charts for mobile visualization.
94 lines (93 loc) • 2.75 kB
JavaScript
;
exports.__esModule = true;
exports["default"] = void 0;
var _util = require("@antv/util");
var _base = _interopRequireDefault(require("./base"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); }
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
var Position = /*#__PURE__*/function (_Base) {
function Position(cfg) {
var _this;
_this = _Base.call(this, cfg) || this;
_this.names = ['x', 'y'];
_this.type = 'position';
return _this;
}
_inheritsLoose(Position, _Base);
var _proto = Position.prototype;
_proto.mapping = function mapping(x, y) {
var scales = this.scales;
var coord = this.coord;
var scaleX = scales[0];
var scaleY = scales[1];
var rstX;
var rstY;
var obj;
if ((0, _util.isNil)(x) || (0, _util.isNil)(y)) {
return [];
}
if ((0, _util.isArray)(y) && (0, _util.isArray)(x)) {
rstX = [];
rstY = [];
for (var i = 0, j = 0, xLen = x.length, yLen = y.length; i < xLen && j < yLen; i++, j++) {
obj = coord.convertPoint({
x: scaleX.scale(x[i]),
y: scaleY.scale(y[j])
});
rstX.push(obj.x);
rstY.push(obj.y);
}
} else if ((0, _util.isArray)(y)) {
x = scaleX.scale(x);
rstY = [];
(0, _util.each)(y, function (yVal) {
yVal = scaleY.scale(yVal);
obj = coord.convertPoint({
x: x,
y: yVal
});
if (rstX && rstX !== obj.x) {
if (!(0, _util.isArray)(rstX)) {
rstX = [rstX];
}
rstX.push(obj.x);
} else {
rstX = obj.x;
}
rstY.push(obj.y);
});
} else if ((0, _util.isArray)(x)) {
y = scaleY.scale(y);
rstX = [];
(0, _util.each)(x, function (xVal) {
xVal = scaleX.scale(xVal);
obj = coord.convertPoint({
x: xVal,
y: y
});
if (rstY && rstY !== obj.y) {
if (!(0, _util.isArray)(rstY)) {
rstY = [rstY];
}
rstY.push(obj.y);
} else {
rstY = obj.y;
}
rstX.push(obj.x);
});
} else {
x = scaleX.scale(x);
y = scaleY.scale(y);
var point = coord.convertPoint({
x: x,
y: y
});
rstX = point.x;
rstY = point.y;
}
return [rstX, rstY];
};
return Position;
}(_base["default"]);
var _default = exports["default"] = Position;