UNPKG

@antv/f2

Version:

Charts for mobile visualization.

104 lines (103 loc) 3.14 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _tslib = require("tslib"); var _util = require("@antv/util"); var _time = require("../util/time"); var _linear = _interopRequireDefault(require("./linear")); /** * 时间度量 * @class */ var Time = /** @class */function (_super) { (0, _tslib.__extends)(Time, _super); function Time() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = 'time'; return _this; } /** * @override */ Time.prototype.getText = function (value, index) { var numberValue = this.translate(value); var formatter = this.formatter; return formatter ? formatter(numberValue, index) : (0, _time.timeFormat)(numberValue, this.mask); }; /** * @override */ Time.prototype.scale = function (value) { var v = value; if ((0, _util.isString)(v) || (0, _util.isDate)(v)) { v = this.translate(v); } return _super.prototype.scale.call(this, v); }; /** * 将时间转换成数字 * @override */ Time.prototype.translate = function (v) { return (0, _time.toTimeStamp)(v); }; Time.prototype.initCfg = function () { this.tickMethod = 'time-pretty'; this.mask = 'YYYY-MM-DD'; this.tickCount = 7; this.nice = false; }; Time.prototype.setDomain = function () { var values = this.values; // 是否设置了 min, max,而不是直接取 this.min, this.max var minConfig = this.getConfig('min'); var maxConfig = this.getConfig('max'); // 如果设置了 min,max 则转换成时间戳 if (!(0, _util.isNil)(minConfig) || !(0, _util.isNumber)(minConfig)) { this.min = this.translate(this.min); } if (!(0, _util.isNil)(maxConfig) || !(0, _util.isNumber)(maxConfig)) { this.max = this.translate(this.max); } // 没有设置 min, max 时 if (values && values.length) { // 重新计算最大最小值 var timeStamps_1 = []; var min_1 = Infinity; // 最小值 var secondMin_1 = min_1; // 次小值 var max_1 = 0; // 使用一个循环,计算min,max,secondMin (0, _util.each)(values, function (v) { var timeStamp = (0, _time.toTimeStamp)(v); if (isNaN(timeStamp)) { throw new TypeError("Invalid Time: ".concat(v, " in time scale!")); } if (min_1 > timeStamp) { secondMin_1 = min_1; min_1 = timeStamp; } else if (secondMin_1 > timeStamp) { secondMin_1 = timeStamp; } if (max_1 < timeStamp) { max_1 = timeStamp; } timeStamps_1.push(timeStamp); }); // 存在多个值时,设置最小间距 if (values.length > 1) { this.minTickInterval = secondMin_1 - min_1; } if ((0, _util.isNil)(minConfig)) { this.min = min_1; } if ((0, _util.isNil)(maxConfig)) { this.max = max_1; } } }; return Time; }(_linear.default); var _default = exports.default = Time;