vislite 1.4.0 → 1.5.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG +313 -307
- package/lib/BarLayout/index.es.js +347 -347
- package/lib/BarLayout/index.es.min.js +1 -1
- package/lib/Buffer/index.es.js +35 -35
- package/lib/Buffer/index.es.min.js +1 -1
- package/lib/Canvas/index.es.js +775 -774
- package/lib/Canvas/index.es.min.js +2 -2
- package/lib/Cardinal/index.es.js +90 -90
- package/lib/Cardinal/index.es.min.js +1 -1
- package/lib/Eoap/index.es.js +33 -33
- package/lib/Eoap/index.es.min.js +1 -1
- package/lib/Hermite/index.es.js +35 -35
- package/lib/Hermite/index.es.min.js +1 -1
- package/lib/MapCoordinate/index.es.js +199 -199
- package/lib/MapCoordinate/index.es.min.js +1 -1
- package/lib/Matrix4/index.es.js +124 -124
- package/lib/Matrix4/index.es.min.js +1 -1
- package/lib/Mercator/index.es.js +19 -19
- package/lib/Mercator/index.es.min.js +1 -1
- package/lib/PieLayout/index.es.js +114 -114
- package/lib/PieLayout/index.es.min.js +1 -1
- package/lib/RawCanvas/index.es.js +704 -704
- package/lib/RawCanvas/index.es.min.js +1 -1
- package/lib/SVG/index.es.js +514 -514
- package/lib/SVG/index.es.min.js +1 -1
- package/lib/Shader/index.es.js +35 -35
- package/lib/Shader/index.es.min.js +1 -1
- package/lib/Texture/index.es.js +53 -53
- package/lib/Texture/index.es.min.js +1 -1
- package/lib/TreeLayout/index.es.js +301 -301
- package/lib/TreeLayout/index.es.min.js +1 -1
- package/lib/animation/index.es.js +3 -3
- package/lib/animation/index.es.min.js +1 -1
- package/lib/assemble/index.es.js +17 -17
- package/lib/assemble/index.es.min.js +1 -1
- package/lib/getLoopColors/index.es.js +35 -35
- package/lib/getLoopColors/index.es.min.js +1 -1
- package/lib/getWebGLContext/index.es.js +62 -62
- package/lib/getWebGLContext/index.es.min.js +1 -1
- package/lib/index.umd.js +2657 -2656
- package/lib/index.umd.min.js +4 -4
- package/lib/initOption/index.es.js +6 -6
- package/lib/initOption/index.es.min.js +1 -1
- package/lib/mergeOption/index.es.js +34 -34
- package/lib/mergeOption/index.es.min.js +1 -1
- package/lib/move/index.es.js +7 -7
- package/lib/move/index.es.min.js +1 -1
- package/lib/rotate/index.es.js +7 -7
- package/lib/rotate/index.es.min.js +1 -1
- package/lib/ruler/index.es.js +137 -137
- package/lib/ruler/index.es.min.js +1 -1
- package/lib/scale/index.es.js +6 -6
- package/lib/scale/index.es.min.js +1 -1
- package/lib/throttle/index.es.js +1 -1
- package/lib/throttle/index.es.min.js +1 -1
- package/package/BarLayout/index.ts +2 -2
- package/package/PieLayout/index.ts +2 -2
- package/package/animation/index.ts +5 -5
- package/package/index.ts +84 -84
- package/package/throttle/index.ts +2 -2
- package/package.json +75 -75
- package/src/Canvas.ts +9 -4
- package/src/SVG.ts +55 -55
- package/src/common/canvas/gradient.ts +31 -31
- package/src/common/svg/default.ts +29 -29
- package/src/common/svg/gradient.ts +53 -53
- package/src/common/svg/index.ts +332 -332
- package/src/common/tree/toPlainTree.ts +135 -135
- package/src/common/webgl/texture.ts +98 -98
- package/src/layout/BarLayout.ts +248 -248
- package/src/layout/PieLayout.ts +141 -141
- package/src/layout/TreeLayout.ts +197 -197
- package/types/Bar.d.ts +91 -91
- package/types/BarConfig.d.ts +4 -4
- package/types/BarLayout.d.ts +48 -48
- package/types/BarOption.d.ts +31 -31
- package/types/CanvasOption.d.ts +5 -0
- package/types/Pie.d.ts +73 -73
- package/types/PieConfig.d.ts +26 -26
- package/types/PieLayout.d.ts +40 -40
- package/types/PieOption.d.ts +21 -21
- package/types/SVG.d.ts +247 -247
- package/types/animation.d.ts +11 -11
- package/types/index.d.ts +195 -195
- package/types/throttle.d.ts +5 -5
|
@@ -1,150 +1,150 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* BarLayout of VISLite JavaScript Library v1.
|
|
2
|
+
* BarLayout of VISLite JavaScript Library v1.5.0-alpha.0
|
|
3
3
|
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
4
|
*/
|
|
5
|
-
function initOption(setOption, defaultOption) {
|
|
6
|
-
for (var key in setOption) {
|
|
7
|
-
defaultOption[key] = setOption[key];
|
|
8
|
-
}
|
|
9
|
-
return defaultOption;
|
|
5
|
+
function initOption(setOption, defaultOption) {
|
|
6
|
+
for (var key in setOption) {
|
|
7
|
+
defaultOption[key] = setOption[key];
|
|
8
|
+
}
|
|
9
|
+
return defaultOption;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
function ruler (maxValue, minValue, num, option) {
|
|
13
|
-
if (maxValue < minValue) {
|
|
14
|
-
var temp = minValue;
|
|
15
|
-
minValue = maxValue;
|
|
16
|
-
maxValue = temp;
|
|
17
|
-
}
|
|
18
|
-
else if (maxValue == minValue) {
|
|
19
|
-
return [maxValue];
|
|
20
|
-
}
|
|
21
|
-
var times100 = (function (_value) {
|
|
22
|
-
var _times100_base = (_value < 100 && _value > -100) ? 10 : 0.1;
|
|
23
|
-
var _times100 = -1, _tiemsValue = _value;
|
|
24
|
-
while (_times100_base == 10 ?
|
|
25
|
-
(_tiemsValue >= -100 && _tiemsValue <= 100)
|
|
26
|
-
:
|
|
27
|
-
(_tiemsValue <= -100 || _tiemsValue >= 100)) {
|
|
28
|
-
_times100 += 1;
|
|
29
|
-
_tiemsValue *= _times100_base;
|
|
30
|
-
}
|
|
31
|
-
if (_times100_base == 10) {
|
|
32
|
-
return Math.pow(10, _times100);
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
var temp = "0.";
|
|
36
|
-
for (var i = 1; i < _times100; i++) {
|
|
37
|
-
temp += "0";
|
|
38
|
-
}
|
|
39
|
-
return +(temp + "1");
|
|
40
|
-
}
|
|
41
|
-
})(maxValue - minValue);
|
|
42
|
-
var distance100_oral = Math.ceil((maxValue - minValue) * times100 / num);
|
|
43
|
-
var getResult = function (changValue) {
|
|
44
|
-
var distance100 = {
|
|
45
|
-
3: 2,
|
|
46
|
-
4: 5,
|
|
47
|
-
6: 5,
|
|
48
|
-
7: 5,
|
|
49
|
-
8: 10,
|
|
50
|
-
9: 10,
|
|
51
|
-
11: 10,
|
|
52
|
-
12: 10,
|
|
53
|
-
13: 15,
|
|
54
|
-
14: 15,
|
|
55
|
-
16: 15,
|
|
56
|
-
17: 15,
|
|
57
|
-
18: 20,
|
|
58
|
-
19: 20,
|
|
59
|
-
21: 20,
|
|
60
|
-
22: 20,
|
|
61
|
-
23: 25,
|
|
62
|
-
24: 25,
|
|
63
|
-
26: 25,
|
|
64
|
-
27: 25
|
|
65
|
-
}[distance100_oral + changValue] || (distance100_oral + changValue);
|
|
66
|
-
var distance = distance100 / times100;
|
|
67
|
-
var begin = Math.floor(minValue / distance) * distance;
|
|
68
|
-
var rulerArray = [];
|
|
69
|
-
rulerArray.push(begin);
|
|
70
|
-
for (var index = 1; rulerArray[rulerArray.length - 1] < maxValue; index++) {
|
|
71
|
-
rulerArray.push(begin + distance * index);
|
|
72
|
-
}
|
|
73
|
-
return rulerArray;
|
|
74
|
-
};
|
|
75
|
-
var rulerArray = getResult(0);
|
|
76
|
-
var balanceMax = function () {
|
|
77
|
-
var rulerArray_temp = [];
|
|
78
|
-
var changeDist = rulerArray[rulerArray.length - 1] - (option === null || option === void 0 ? void 0 : option.max);
|
|
79
|
-
for (var index = 0; index < rulerArray.length; index++) {
|
|
80
|
-
if (index + 1 < rulerArray.length && rulerArray[index + 1] - changeDist < minValue) ;
|
|
81
|
-
else {
|
|
82
|
-
rulerArray_temp.push(rulerArray[index] - changeDist);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
return rulerArray_temp;
|
|
86
|
-
};
|
|
87
|
-
var balanceMin = function () {
|
|
88
|
-
var rulerArray_temp = [];
|
|
89
|
-
var changeDist = rulerArray[0] - (option === null || option === void 0 ? void 0 : option.min);
|
|
90
|
-
for (var index = 0; index < rulerArray.length; index++) {
|
|
91
|
-
rulerArray_temp[index] = rulerArray[index] - changeDist;
|
|
92
|
-
if (maxValue <= rulerArray_temp[index])
|
|
93
|
-
break;
|
|
94
|
-
}
|
|
95
|
-
return rulerArray_temp;
|
|
96
|
-
};
|
|
97
|
-
if (option) {
|
|
98
|
-
if ('max' in option && 'min' in option && option.max >= maxValue && option.min <= minValue) {
|
|
99
|
-
var isAnswer = function () {
|
|
100
|
-
if (rulerArray[0] >= option.min && rulerArray[rulerArray.length - 1] <= option.max)
|
|
101
|
-
return true;
|
|
102
|
-
var rulerArray_max = balanceMax();
|
|
103
|
-
if (rulerArray_max[0] >= option.min && rulerArray_max[rulerArray_max.length - 1] <= option.max) {
|
|
104
|
-
rulerArray = rulerArray_max;
|
|
105
|
-
return true;
|
|
106
|
-
}
|
|
107
|
-
var rulerArray_min = balanceMin();
|
|
108
|
-
if (rulerArray_min[0] >= option.min && rulerArray_min[rulerArray_max.length - 1] <= option.max) {
|
|
109
|
-
rulerArray = rulerArray_min;
|
|
110
|
-
return true;
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
if (isAnswer())
|
|
114
|
-
return rulerArray;
|
|
115
|
-
for (var changValue = 1; changValue < 100; changValue++) {
|
|
116
|
-
rulerArray = getResult(changValue);
|
|
117
|
-
if (isAnswer())
|
|
118
|
-
return rulerArray;
|
|
119
|
-
rulerArray = getResult(-changValue);
|
|
120
|
-
if (isAnswer())
|
|
121
|
-
return rulerArray;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
if ('max' in option && option.max >= maxValue) {
|
|
125
|
-
if (option.max < rulerArray[rulerArray.length - 1]) {
|
|
126
|
-
rulerArray = balanceMax();
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
else if ('min' in option && option.min <= minValue) {
|
|
130
|
-
if (option.min > rulerArray[0]) {
|
|
131
|
-
rulerArray = balanceMin();
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
for (var index = 0; index < rulerArray.length; index++) {
|
|
136
|
-
var valStr = rulerArray[index] + "";
|
|
137
|
-
if (/\./.test(valStr)) {
|
|
138
|
-
if (/9{7,}$/.test(valStr)) {
|
|
139
|
-
valStr = valStr.replace(/9{7,}$/, '');
|
|
140
|
-
rulerArray[index] = +(valStr.substring(0, valStr.length - 1) + ((+valStr[valStr.length - 1]) + 1));
|
|
141
|
-
}
|
|
142
|
-
else if (/0{7,}\d$/.test(valStr)) {
|
|
143
|
-
rulerArray[index] = +(valStr.replace(/0{7,}\d$/, ''));
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
return rulerArray;
|
|
12
|
+
function ruler (maxValue, minValue, num, option) {
|
|
13
|
+
if (maxValue < minValue) {
|
|
14
|
+
var temp = minValue;
|
|
15
|
+
minValue = maxValue;
|
|
16
|
+
maxValue = temp;
|
|
17
|
+
}
|
|
18
|
+
else if (maxValue == minValue) {
|
|
19
|
+
return [maxValue];
|
|
20
|
+
}
|
|
21
|
+
var times100 = (function (_value) {
|
|
22
|
+
var _times100_base = (_value < 100 && _value > -100) ? 10 : 0.1;
|
|
23
|
+
var _times100 = -1, _tiemsValue = _value;
|
|
24
|
+
while (_times100_base == 10 ?
|
|
25
|
+
(_tiemsValue >= -100 && _tiemsValue <= 100)
|
|
26
|
+
:
|
|
27
|
+
(_tiemsValue <= -100 || _tiemsValue >= 100)) {
|
|
28
|
+
_times100 += 1;
|
|
29
|
+
_tiemsValue *= _times100_base;
|
|
30
|
+
}
|
|
31
|
+
if (_times100_base == 10) {
|
|
32
|
+
return Math.pow(10, _times100);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
var temp = "0.";
|
|
36
|
+
for (var i = 1; i < _times100; i++) {
|
|
37
|
+
temp += "0";
|
|
38
|
+
}
|
|
39
|
+
return +(temp + "1");
|
|
40
|
+
}
|
|
41
|
+
})(maxValue - minValue);
|
|
42
|
+
var distance100_oral = Math.ceil((maxValue - minValue) * times100 / num);
|
|
43
|
+
var getResult = function (changValue) {
|
|
44
|
+
var distance100 = {
|
|
45
|
+
3: 2,
|
|
46
|
+
4: 5,
|
|
47
|
+
6: 5,
|
|
48
|
+
7: 5,
|
|
49
|
+
8: 10,
|
|
50
|
+
9: 10,
|
|
51
|
+
11: 10,
|
|
52
|
+
12: 10,
|
|
53
|
+
13: 15,
|
|
54
|
+
14: 15,
|
|
55
|
+
16: 15,
|
|
56
|
+
17: 15,
|
|
57
|
+
18: 20,
|
|
58
|
+
19: 20,
|
|
59
|
+
21: 20,
|
|
60
|
+
22: 20,
|
|
61
|
+
23: 25,
|
|
62
|
+
24: 25,
|
|
63
|
+
26: 25,
|
|
64
|
+
27: 25
|
|
65
|
+
}[distance100_oral + changValue] || (distance100_oral + changValue);
|
|
66
|
+
var distance = distance100 / times100;
|
|
67
|
+
var begin = Math.floor(minValue / distance) * distance;
|
|
68
|
+
var rulerArray = [];
|
|
69
|
+
rulerArray.push(begin);
|
|
70
|
+
for (var index = 1; rulerArray[rulerArray.length - 1] < maxValue; index++) {
|
|
71
|
+
rulerArray.push(begin + distance * index);
|
|
72
|
+
}
|
|
73
|
+
return rulerArray;
|
|
74
|
+
};
|
|
75
|
+
var rulerArray = getResult(0);
|
|
76
|
+
var balanceMax = function () {
|
|
77
|
+
var rulerArray_temp = [];
|
|
78
|
+
var changeDist = rulerArray[rulerArray.length - 1] - (option === null || option === void 0 ? void 0 : option.max);
|
|
79
|
+
for (var index = 0; index < rulerArray.length; index++) {
|
|
80
|
+
if (index + 1 < rulerArray.length && rulerArray[index + 1] - changeDist < minValue) ;
|
|
81
|
+
else {
|
|
82
|
+
rulerArray_temp.push(rulerArray[index] - changeDist);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return rulerArray_temp;
|
|
86
|
+
};
|
|
87
|
+
var balanceMin = function () {
|
|
88
|
+
var rulerArray_temp = [];
|
|
89
|
+
var changeDist = rulerArray[0] - (option === null || option === void 0 ? void 0 : option.min);
|
|
90
|
+
for (var index = 0; index < rulerArray.length; index++) {
|
|
91
|
+
rulerArray_temp[index] = rulerArray[index] - changeDist;
|
|
92
|
+
if (maxValue <= rulerArray_temp[index])
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
return rulerArray_temp;
|
|
96
|
+
};
|
|
97
|
+
if (option) {
|
|
98
|
+
if ('max' in option && 'min' in option && option.max >= maxValue && option.min <= minValue) {
|
|
99
|
+
var isAnswer = function () {
|
|
100
|
+
if (rulerArray[0] >= option.min && rulerArray[rulerArray.length - 1] <= option.max)
|
|
101
|
+
return true;
|
|
102
|
+
var rulerArray_max = balanceMax();
|
|
103
|
+
if (rulerArray_max[0] >= option.min && rulerArray_max[rulerArray_max.length - 1] <= option.max) {
|
|
104
|
+
rulerArray = rulerArray_max;
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
var rulerArray_min = balanceMin();
|
|
108
|
+
if (rulerArray_min[0] >= option.min && rulerArray_min[rulerArray_max.length - 1] <= option.max) {
|
|
109
|
+
rulerArray = rulerArray_min;
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
if (isAnswer())
|
|
114
|
+
return rulerArray;
|
|
115
|
+
for (var changValue = 1; changValue < 100; changValue++) {
|
|
116
|
+
rulerArray = getResult(changValue);
|
|
117
|
+
if (isAnswer())
|
|
118
|
+
return rulerArray;
|
|
119
|
+
rulerArray = getResult(-changValue);
|
|
120
|
+
if (isAnswer())
|
|
121
|
+
return rulerArray;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if ('max' in option && option.max >= maxValue) {
|
|
125
|
+
if (option.max < rulerArray[rulerArray.length - 1]) {
|
|
126
|
+
rulerArray = balanceMax();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
else if ('min' in option && option.min <= minValue) {
|
|
130
|
+
if (option.min > rulerArray[0]) {
|
|
131
|
+
rulerArray = balanceMin();
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
for (var index = 0; index < rulerArray.length; index++) {
|
|
136
|
+
var valStr = rulerArray[index] + "";
|
|
137
|
+
if (/\./.test(valStr)) {
|
|
138
|
+
if (/9{7,}$/.test(valStr)) {
|
|
139
|
+
valStr = valStr.replace(/9{7,}$/, '');
|
|
140
|
+
rulerArray[index] = +(valStr.substring(0, valStr.length - 1) + ((+valStr[valStr.length - 1]) + 1));
|
|
141
|
+
}
|
|
142
|
+
else if (/0{7,}\d$/.test(valStr)) {
|
|
143
|
+
rulerArray[index] = +(valStr.replace(/0{7,}\d$/, ''));
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return rulerArray;
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
/*!
|
|
@@ -257,211 +257,211 @@ function animation(doback, duration, callback) {
|
|
|
257
257
|
|
|
258
258
|
}
|
|
259
259
|
|
|
260
|
-
var BarLayout = (function () {
|
|
261
|
-
function BarLayout(config) {
|
|
262
|
-
if (config === void 0) { config = {}; }
|
|
263
|
-
this.name = 'BarLayout';
|
|
264
|
-
this.__option = {
|
|
265
|
-
x: 50,
|
|
266
|
-
y: 350,
|
|
267
|
-
width: 400,
|
|
268
|
-
height: 300,
|
|
269
|
-
category: "xAxis",
|
|
270
|
-
duration: 200
|
|
271
|
-
};
|
|
272
|
-
this.__config = initOption(config, {});
|
|
273
|
-
}
|
|
274
|
-
BarLayout.prototype.setOption = function (option) {
|
|
275
|
-
initOption(option, this.__option);
|
|
276
|
-
return this;
|
|
277
|
-
};
|
|
278
|
-
BarLayout.prototype.use = function (initBar) {
|
|
279
|
-
var bar = {
|
|
280
|
-
coordinate: {
|
|
281
|
-
x: this.__option.x,
|
|
282
|
-
y: this.__option.y,
|
|
283
|
-
width: this.__option.width,
|
|
284
|
-
height: this.__option.height,
|
|
285
|
-
xAxis: {
|
|
286
|
-
type: this.__option.category === "xAxis" ? "category" : "value",
|
|
287
|
-
data: []
|
|
288
|
-
},
|
|
289
|
-
yAxis: {
|
|
290
|
-
type: this.__option.category === "xAxis" ? "value" : "category",
|
|
291
|
-
data: []
|
|
292
|
-
}
|
|
293
|
-
},
|
|
294
|
-
node: []
|
|
295
|
-
};
|
|
296
|
-
var maxValue = void 0, minValue = void 0;
|
|
297
|
-
if (initBar.data) {
|
|
298
|
-
for (var _i = 0, _a = initBar.data; _i < _a.length; _i++) {
|
|
299
|
-
var val = _a[_i];
|
|
300
|
-
if (maxValue === void 0 || val > maxValue)
|
|
301
|
-
maxValue = val;
|
|
302
|
-
if (minValue === void 0 || val < minValue)
|
|
303
|
-
minValue = val;
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
else if (initBar.value) {
|
|
307
|
-
for (var _b = 0, _c = initBar.value; _b < _c.length; _b++) {
|
|
308
|
-
var item = _c[_b];
|
|
309
|
-
for (var _d = 0, _e = item.data; _d < _e.length; _d++) {
|
|
310
|
-
var val = _e[_d];
|
|
311
|
-
if (maxValue === void 0 || val > maxValue)
|
|
312
|
-
maxValue = val;
|
|
313
|
-
if (minValue === void 0 || val < minValue)
|
|
314
|
-
minValue = val;
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
else {
|
|
319
|
-
throw new Error('No data leads to parsing errors');
|
|
320
|
-
}
|
|
321
|
-
var rulerArray = ruler(maxValue || 0, minValue || 0, 5);
|
|
322
|
-
var categoryLen;
|
|
323
|
-
var valueLen;
|
|
324
|
-
if (this.__option.category === "xAxis") {
|
|
325
|
-
bar.coordinate.xAxis.data = initBar.category;
|
|
326
|
-
bar.coordinate.yAxis.data = rulerArray;
|
|
327
|
-
categoryLen = this.__option.width;
|
|
328
|
-
valueLen = -1 * this.__option.height;
|
|
329
|
-
}
|
|
330
|
-
else {
|
|
331
|
-
bar.coordinate.xAxis.data = rulerArray;
|
|
332
|
-
bar.coordinate.yAxis.data = initBar.category;
|
|
333
|
-
categoryLen = this.__option.height;
|
|
334
|
-
valueLen = this.__option.width;
|
|
335
|
-
}
|
|
336
|
-
var category = [];
|
|
337
|
-
var categorySingle1Width = categoryLen / initBar.category.length;
|
|
338
|
-
var categorySingle2Width = categorySingle1Width * 0.9;
|
|
339
|
-
var categoryStart = categorySingle1Width * 0.05;
|
|
340
|
-
if (initBar.data) {
|
|
341
|
-
for (var i = 0; i < initBar.data.length; i++) {
|
|
342
|
-
category.push([
|
|
343
|
-
categoryStart + categorySingle1Width * i,
|
|
344
|
-
categorySingle2Width
|
|
345
|
-
]);
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
else {
|
|
349
|
-
var categorySingle3Width = categorySingle2Width / initBar.value.length;
|
|
350
|
-
var categorySingle4Width = categorySingle3Width * 0.9;
|
|
351
|
-
var categoryStartBlance = categorySingle3Width * 0.05;
|
|
352
|
-
for (var i = 0; i < initBar.value[0].data.length; i++) {
|
|
353
|
-
category[i] = [];
|
|
354
|
-
for (var j = 0; j < initBar.value.length; j++) {
|
|
355
|
-
category[i].push([
|
|
356
|
-
categoryStart + categorySingle1Width * i + categorySingle3Width * j + categoryStartBlance,
|
|
357
|
-
categorySingle4Width
|
|
358
|
-
]);
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
var singleValueLen = valueLen / (rulerArray[rulerArray.length - 1] - rulerArray[0]);
|
|
363
|
-
var getLenByValue = function (value) {
|
|
364
|
-
return singleValueLen * (value - rulerArray[0]);
|
|
365
|
-
};
|
|
366
|
-
if (this.__option.category === "xAxis") {
|
|
367
|
-
if (initBar.data) {
|
|
368
|
-
var nodeBar = [];
|
|
369
|
-
for (var i = 0; i < initBar.data.length; i++) {
|
|
370
|
-
nodeBar.push({
|
|
371
|
-
x: this.__option.x + category[i][0],
|
|
372
|
-
y: this.__option.y,
|
|
373
|
-
width: category[i][1],
|
|
374
|
-
height: getLenByValue(initBar.data[i]),
|
|
375
|
-
value: initBar.data[i]
|
|
376
|
-
});
|
|
377
|
-
}
|
|
378
|
-
bar.node.push({
|
|
379
|
-
bar: nodeBar
|
|
380
|
-
});
|
|
381
|
-
}
|
|
382
|
-
else {
|
|
383
|
-
for (var j = 0; j < initBar.value.length; j++) {
|
|
384
|
-
var nodeBar = [];
|
|
385
|
-
for (var i = 0; i < initBar.value[j].data.length; i++) {
|
|
386
|
-
nodeBar.push({
|
|
387
|
-
x: this.__option.x + category[i][j][0],
|
|
388
|
-
y: this.__option.y,
|
|
389
|
-
width: category[i][j][1],
|
|
390
|
-
height: getLenByValue(initBar.value[j].data[i]),
|
|
391
|
-
value: initBar.value[j].data[i]
|
|
392
|
-
});
|
|
393
|
-
}
|
|
394
|
-
bar.node.push({
|
|
395
|
-
name: initBar.value[j].name,
|
|
396
|
-
bar: nodeBar
|
|
397
|
-
});
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
else {
|
|
402
|
-
if (initBar.data) {
|
|
403
|
-
var nodeBar = [];
|
|
404
|
-
for (var i = 0; i < initBar.data.length; i++) {
|
|
405
|
-
nodeBar.push({
|
|
406
|
-
x: this.__option.x,
|
|
407
|
-
y: this.__option.y - this.__option.height + category[i][0],
|
|
408
|
-
width: getLenByValue(initBar.data[i]),
|
|
409
|
-
height: category[i][1],
|
|
410
|
-
value: initBar.data[i]
|
|
411
|
-
});
|
|
412
|
-
}
|
|
413
|
-
bar.node.push({
|
|
414
|
-
bar: nodeBar
|
|
415
|
-
});
|
|
416
|
-
}
|
|
417
|
-
else {
|
|
418
|
-
for (var j = 0; j < initBar.value.length; j++) {
|
|
419
|
-
var nodeBar = [];
|
|
420
|
-
for (var i = 0; i < initBar.value[j].data.length; i++) {
|
|
421
|
-
nodeBar.push({
|
|
422
|
-
x: this.__option.x,
|
|
423
|
-
y: this.__option.y - this.__option.height + category[i][j][0],
|
|
424
|
-
width: getLenByValue(initBar.value[j].data[i]),
|
|
425
|
-
height: category[i][j][1],
|
|
426
|
-
value: initBar.value[j].data[i]
|
|
427
|
-
});
|
|
428
|
-
}
|
|
429
|
-
bar.node.push({
|
|
430
|
-
name: initBar.value[j].name,
|
|
431
|
-
bar: nodeBar
|
|
432
|
-
});
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
return bar;
|
|
437
|
-
};
|
|
438
|
-
BarLayout.prototype.bind = function (initBar, renderBack) {
|
|
439
|
-
this.__rback = renderBack;
|
|
440
|
-
this.__oralBar = initBar;
|
|
441
|
-
this.__preBar = this.use(this.__oralBar);
|
|
442
|
-
this.__rback(this.__preBar);
|
|
443
|
-
return this;
|
|
444
|
-
};
|
|
445
|
-
BarLayout.prototype.unbind = function () {
|
|
446
|
-
this.__rback = function () { return null; };
|
|
447
|
-
this.__oralBar = null;
|
|
448
|
-
this.__preBar = null;
|
|
449
|
-
return this;
|
|
450
|
-
};
|
|
451
|
-
BarLayout.prototype.doUpdate = function () {
|
|
452
|
-
var _this = this;
|
|
453
|
-
var newBar = this.use(this.__oralBar);
|
|
454
|
-
var cacheBar = JSON.parse(JSON.stringify(newBar));
|
|
455
|
-
animation(function (deep) {
|
|
456
|
-
if (_this.__preBar) ;
|
|
457
|
-
_this.__rback(cacheBar);
|
|
458
|
-
}, this.__option.duration, function () {
|
|
459
|
-
_this.__preBar = newBar;
|
|
460
|
-
_this.__rback(_this.__preBar);
|
|
461
|
-
});
|
|
462
|
-
return this;
|
|
463
|
-
};
|
|
464
|
-
return BarLayout;
|
|
260
|
+
var BarLayout = (function () {
|
|
261
|
+
function BarLayout(config) {
|
|
262
|
+
if (config === void 0) { config = {}; }
|
|
263
|
+
this.name = 'BarLayout';
|
|
264
|
+
this.__option = {
|
|
265
|
+
x: 50,
|
|
266
|
+
y: 350,
|
|
267
|
+
width: 400,
|
|
268
|
+
height: 300,
|
|
269
|
+
category: "xAxis",
|
|
270
|
+
duration: 200
|
|
271
|
+
};
|
|
272
|
+
this.__config = initOption(config, {});
|
|
273
|
+
}
|
|
274
|
+
BarLayout.prototype.setOption = function (option) {
|
|
275
|
+
initOption(option, this.__option);
|
|
276
|
+
return this;
|
|
277
|
+
};
|
|
278
|
+
BarLayout.prototype.use = function (initBar) {
|
|
279
|
+
var bar = {
|
|
280
|
+
coordinate: {
|
|
281
|
+
x: this.__option.x,
|
|
282
|
+
y: this.__option.y,
|
|
283
|
+
width: this.__option.width,
|
|
284
|
+
height: this.__option.height,
|
|
285
|
+
xAxis: {
|
|
286
|
+
type: this.__option.category === "xAxis" ? "category" : "value",
|
|
287
|
+
data: []
|
|
288
|
+
},
|
|
289
|
+
yAxis: {
|
|
290
|
+
type: this.__option.category === "xAxis" ? "value" : "category",
|
|
291
|
+
data: []
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
node: []
|
|
295
|
+
};
|
|
296
|
+
var maxValue = void 0, minValue = void 0;
|
|
297
|
+
if (initBar.data) {
|
|
298
|
+
for (var _i = 0, _a = initBar.data; _i < _a.length; _i++) {
|
|
299
|
+
var val = _a[_i];
|
|
300
|
+
if (maxValue === void 0 || val > maxValue)
|
|
301
|
+
maxValue = val;
|
|
302
|
+
if (minValue === void 0 || val < minValue)
|
|
303
|
+
minValue = val;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
else if (initBar.value) {
|
|
307
|
+
for (var _b = 0, _c = initBar.value; _b < _c.length; _b++) {
|
|
308
|
+
var item = _c[_b];
|
|
309
|
+
for (var _d = 0, _e = item.data; _d < _e.length; _d++) {
|
|
310
|
+
var val = _e[_d];
|
|
311
|
+
if (maxValue === void 0 || val > maxValue)
|
|
312
|
+
maxValue = val;
|
|
313
|
+
if (minValue === void 0 || val < minValue)
|
|
314
|
+
minValue = val;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
else {
|
|
319
|
+
throw new Error('No data leads to parsing errors');
|
|
320
|
+
}
|
|
321
|
+
var rulerArray = ruler(maxValue || 0, minValue || 0, 5);
|
|
322
|
+
var categoryLen;
|
|
323
|
+
var valueLen;
|
|
324
|
+
if (this.__option.category === "xAxis") {
|
|
325
|
+
bar.coordinate.xAxis.data = initBar.category;
|
|
326
|
+
bar.coordinate.yAxis.data = rulerArray;
|
|
327
|
+
categoryLen = this.__option.width;
|
|
328
|
+
valueLen = -1 * this.__option.height;
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
331
|
+
bar.coordinate.xAxis.data = rulerArray;
|
|
332
|
+
bar.coordinate.yAxis.data = initBar.category;
|
|
333
|
+
categoryLen = this.__option.height;
|
|
334
|
+
valueLen = this.__option.width;
|
|
335
|
+
}
|
|
336
|
+
var category = [];
|
|
337
|
+
var categorySingle1Width = categoryLen / initBar.category.length;
|
|
338
|
+
var categorySingle2Width = categorySingle1Width * 0.9;
|
|
339
|
+
var categoryStart = categorySingle1Width * 0.05;
|
|
340
|
+
if (initBar.data) {
|
|
341
|
+
for (var i = 0; i < initBar.data.length; i++) {
|
|
342
|
+
category.push([
|
|
343
|
+
categoryStart + categorySingle1Width * i,
|
|
344
|
+
categorySingle2Width
|
|
345
|
+
]);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
else {
|
|
349
|
+
var categorySingle3Width = categorySingle2Width / initBar.value.length;
|
|
350
|
+
var categorySingle4Width = categorySingle3Width * 0.9;
|
|
351
|
+
var categoryStartBlance = categorySingle3Width * 0.05;
|
|
352
|
+
for (var i = 0; i < initBar.value[0].data.length; i++) {
|
|
353
|
+
category[i] = [];
|
|
354
|
+
for (var j = 0; j < initBar.value.length; j++) {
|
|
355
|
+
category[i].push([
|
|
356
|
+
categoryStart + categorySingle1Width * i + categorySingle3Width * j + categoryStartBlance,
|
|
357
|
+
categorySingle4Width
|
|
358
|
+
]);
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
var singleValueLen = valueLen / (rulerArray[rulerArray.length - 1] - rulerArray[0]);
|
|
363
|
+
var getLenByValue = function (value) {
|
|
364
|
+
return singleValueLen * (value - rulerArray[0]);
|
|
365
|
+
};
|
|
366
|
+
if (this.__option.category === "xAxis") {
|
|
367
|
+
if (initBar.data) {
|
|
368
|
+
var nodeBar = [];
|
|
369
|
+
for (var i = 0; i < initBar.data.length; i++) {
|
|
370
|
+
nodeBar.push({
|
|
371
|
+
x: this.__option.x + category[i][0],
|
|
372
|
+
y: this.__option.y,
|
|
373
|
+
width: category[i][1],
|
|
374
|
+
height: getLenByValue(initBar.data[i]),
|
|
375
|
+
value: initBar.data[i]
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
bar.node.push({
|
|
379
|
+
bar: nodeBar
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
else {
|
|
383
|
+
for (var j = 0; j < initBar.value.length; j++) {
|
|
384
|
+
var nodeBar = [];
|
|
385
|
+
for (var i = 0; i < initBar.value[j].data.length; i++) {
|
|
386
|
+
nodeBar.push({
|
|
387
|
+
x: this.__option.x + category[i][j][0],
|
|
388
|
+
y: this.__option.y,
|
|
389
|
+
width: category[i][j][1],
|
|
390
|
+
height: getLenByValue(initBar.value[j].data[i]),
|
|
391
|
+
value: initBar.value[j].data[i]
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
bar.node.push({
|
|
395
|
+
name: initBar.value[j].name,
|
|
396
|
+
bar: nodeBar
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
if (initBar.data) {
|
|
403
|
+
var nodeBar = [];
|
|
404
|
+
for (var i = 0; i < initBar.data.length; i++) {
|
|
405
|
+
nodeBar.push({
|
|
406
|
+
x: this.__option.x,
|
|
407
|
+
y: this.__option.y - this.__option.height + category[i][0],
|
|
408
|
+
width: getLenByValue(initBar.data[i]),
|
|
409
|
+
height: category[i][1],
|
|
410
|
+
value: initBar.data[i]
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
bar.node.push({
|
|
414
|
+
bar: nodeBar
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
else {
|
|
418
|
+
for (var j = 0; j < initBar.value.length; j++) {
|
|
419
|
+
var nodeBar = [];
|
|
420
|
+
for (var i = 0; i < initBar.value[j].data.length; i++) {
|
|
421
|
+
nodeBar.push({
|
|
422
|
+
x: this.__option.x,
|
|
423
|
+
y: this.__option.y - this.__option.height + category[i][j][0],
|
|
424
|
+
width: getLenByValue(initBar.value[j].data[i]),
|
|
425
|
+
height: category[i][j][1],
|
|
426
|
+
value: initBar.value[j].data[i]
|
|
427
|
+
});
|
|
428
|
+
}
|
|
429
|
+
bar.node.push({
|
|
430
|
+
name: initBar.value[j].name,
|
|
431
|
+
bar: nodeBar
|
|
432
|
+
});
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
return bar;
|
|
437
|
+
};
|
|
438
|
+
BarLayout.prototype.bind = function (initBar, renderBack) {
|
|
439
|
+
this.__rback = renderBack;
|
|
440
|
+
this.__oralBar = initBar;
|
|
441
|
+
this.__preBar = this.use(this.__oralBar);
|
|
442
|
+
this.__rback(this.__preBar);
|
|
443
|
+
return this;
|
|
444
|
+
};
|
|
445
|
+
BarLayout.prototype.unbind = function () {
|
|
446
|
+
this.__rback = function () { return null; };
|
|
447
|
+
this.__oralBar = null;
|
|
448
|
+
this.__preBar = null;
|
|
449
|
+
return this;
|
|
450
|
+
};
|
|
451
|
+
BarLayout.prototype.doUpdate = function () {
|
|
452
|
+
var _this = this;
|
|
453
|
+
var newBar = this.use(this.__oralBar);
|
|
454
|
+
var cacheBar = JSON.parse(JSON.stringify(newBar));
|
|
455
|
+
animation(function (deep) {
|
|
456
|
+
if (_this.__preBar) ;
|
|
457
|
+
_this.__rback(cacheBar);
|
|
458
|
+
}, this.__option.duration, function () {
|
|
459
|
+
_this.__preBar = newBar;
|
|
460
|
+
_this.__rback(_this.__preBar);
|
|
461
|
+
});
|
|
462
|
+
return this;
|
|
463
|
+
};
|
|
464
|
+
return BarLayout;
|
|
465
465
|
}());
|
|
466
466
|
|
|
467
467
|
export { BarLayout as default };
|