1 | import { __extends } from "tslib";
|
2 | import { get } from '@antv/util';
|
3 | import { getXDimensionLength } from '../util/coordinate';
|
4 | import Geometry from './base';
|
5 |
|
6 | import './shape/interval';
|
7 | import { getDefaultSize } from './util/shape-size';
|
8 | import { getMaxScale } from '../util/scale';
|
9 |
|
10 |
|
11 |
|
12 |
|
13 | var Interval = (function (_super) {
|
14 | __extends(Interval, _super);
|
15 | function Interval(cfg) {
|
16 | var _this = _super.call(this, cfg) || this;
|
17 | _this.type = 'interval';
|
18 | _this.shapeType = 'interval';
|
19 | _this.generatePoints = true;
|
20 | var background = cfg.background;
|
21 | _this.background = background;
|
22 | return _this;
|
23 | }
|
24 | |
25 |
|
26 |
|
27 |
|
28 |
|
29 | Interval.prototype.createShapePointsCfg = function (obj) {
|
30 | var cfg = _super.prototype.createShapePointsCfg.call(this, obj);
|
31 |
|
32 | var size;
|
33 | var sizeAttr = this.getAttribute('size');
|
34 | if (sizeAttr) {
|
35 | size = this.getAttributeValues(sizeAttr, obj)[0];
|
36 |
|
37 | var coordinate = this.coordinate;
|
38 | var coordinateWidth = getXDimensionLength(coordinate);
|
39 | size = size / coordinateWidth;
|
40 | }
|
41 | else {
|
42 | if (!this.defaultSize) {
|
43 | this.defaultSize = getDefaultSize(this);
|
44 | }
|
45 | size = this.defaultSize;
|
46 | }
|
47 | cfg.size = size;
|
48 | return cfg;
|
49 | };
|
50 | |
51 |
|
52 |
|
53 |
|
54 | Interval.prototype.adjustScale = function () {
|
55 | _super.prototype.adjustScale.call(this);
|
56 | var yScale = this.getYScale();
|
57 |
|
58 | if (this.coordinate.type === 'theta') {
|
59 | yScale.change({
|
60 | nice: false,
|
61 | min: 0,
|
62 |
|
63 | max: getMaxScale(yScale),
|
64 | });
|
65 | }
|
66 | else {
|
67 |
|
68 | var scaleDefs = this.scaleDefs;
|
69 | var field = yScale.field, min = yScale.min, max = yScale.max, type = yScale.type;
|
70 | if (type !== 'time') {
|
71 |
|
72 |
|
73 | if (min > 0 && !get(scaleDefs, [field, 'min'])) {
|
74 | yScale.change({
|
75 | min: 0,
|
76 | });
|
77 | }
|
78 |
|
79 | if (max <= 0 && !get(scaleDefs, [field, 'max'])) {
|
80 | yScale.change({
|
81 | max: 0,
|
82 | });
|
83 | }
|
84 | }
|
85 | }
|
86 | };
|
87 | |
88 |
|
89 |
|
90 | Interval.prototype.getDrawCfg = function (mappingData) {
|
91 | var shapeCfg = _super.prototype.getDrawCfg.call(this, mappingData);
|
92 | shapeCfg.background = this.background;
|
93 | return shapeCfg;
|
94 | };
|
95 | return Interval;
|
96 | }(Geometry));
|
97 | export default Interval;
|
98 |
|
\ | No newline at end of file |