1 | import { __extends } from "tslib";
|
2 | import { each, isDate, isNil, isNumber, isString } from '@antv/util';
|
3 | import { timeFormat, toTimeStamp } from '../util/time';
|
4 | import Linear from './linear';
|
5 |
|
6 |
|
7 |
|
8 |
|
9 | var Time = (function (_super) {
|
10 | __extends(Time, _super);
|
11 | function Time() {
|
12 | var _this = _super !== null && _super.apply(this, arguments) || this;
|
13 | _this.type = 'time';
|
14 | return _this;
|
15 | }
|
16 | |
17 |
|
18 |
|
19 | Time.prototype.getText = function (value, index) {
|
20 | var numberValue = this.translate(value);
|
21 | var formatter = this.formatter;
|
22 | return formatter ? formatter(numberValue, index) : timeFormat(numberValue, this.mask);
|
23 | };
|
24 | |
25 |
|
26 |
|
27 | Time.prototype.scale = function (value) {
|
28 | var v = value;
|
29 | if (isString(v) || isDate(v)) {
|
30 | v = this.translate(v);
|
31 | }
|
32 | return _super.prototype.scale.call(this, v);
|
33 | };
|
34 | |
35 |
|
36 |
|
37 |
|
38 | Time.prototype.translate = function (v) {
|
39 | return toTimeStamp(v);
|
40 | };
|
41 | Time.prototype.initCfg = function () {
|
42 | this.tickMethod = 'time-pretty';
|
43 | this.mask = 'YYYY-MM-DD';
|
44 | this.tickCount = 7;
|
45 | this.nice = false;
|
46 | };
|
47 | Time.prototype.setDomain = function () {
|
48 | var values = this.values;
|
49 |
|
50 | var minConfig = this.getConfig('min');
|
51 | var maxConfig = this.getConfig('max');
|
52 |
|
53 | if (!isNil(minConfig) || !isNumber(minConfig)) {
|
54 | this.min = this.translate(this.min);
|
55 | }
|
56 | if (!isNil(maxConfig) || !isNumber(maxConfig)) {
|
57 | this.max = this.translate(this.max);
|
58 | }
|
59 |
|
60 | if (values && values.length) {
|
61 |
|
62 | var timeStamps_1 = [];
|
63 | var min_1 = Infinity;
|
64 | var secondMin_1 = min_1;
|
65 | var max_1 = 0;
|
66 |
|
67 | each(values, function (v) {
|
68 | var timeStamp = toTimeStamp(v);
|
69 | if (isNaN(timeStamp)) {
|
70 | throw new TypeError("Invalid Time: " + v + " in time scale!");
|
71 | }
|
72 | if (min_1 > timeStamp) {
|
73 | secondMin_1 = min_1;
|
74 | min_1 = timeStamp;
|
75 | }
|
76 | else if (secondMin_1 > timeStamp) {
|
77 | secondMin_1 = timeStamp;
|
78 | }
|
79 | if (max_1 < timeStamp) {
|
80 | max_1 = timeStamp;
|
81 | }
|
82 | timeStamps_1.push(timeStamp);
|
83 | });
|
84 |
|
85 | if (values.length > 1) {
|
86 | this.minTickInterval = secondMin_1 - min_1;
|
87 | }
|
88 | if (isNil(minConfig)) {
|
89 | this.min = min_1;
|
90 | }
|
91 | if (isNil(maxConfig)) {
|
92 | this.max = max_1;
|
93 | }
|
94 | }
|
95 | };
|
96 | return Time;
|
97 | }(Linear));
|
98 | export default Time;
|
99 |
|
\ | No newline at end of file |