vislite 1.12.0-alpha.0 → 1.12.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.
Files changed (183) hide show
  1. package/AUTHORS.txt +6 -6
  2. package/CHANGELOG +402 -394
  3. package/LICENSE +20 -20
  4. package/README-en.md +245 -245
  5. package/README.md +245 -245
  6. package/bin/formatArgv.js +30 -30
  7. package/bin/help.js +17 -17
  8. package/bin/run +21 -21
  9. package/bin/skills.js +26 -26
  10. package/lib/BarLayout/index.es.js +348 -348
  11. package/lib/Buffer/index.es.js +34 -34
  12. package/lib/Canvas/index.es.js +804 -800
  13. package/lib/Canvas/index.es.min.js +1 -1
  14. package/lib/Cardinal/index.es.js +89 -89
  15. package/lib/Eoap/index.es.js +32 -32
  16. package/lib/Hermite/index.es.js +34 -34
  17. package/lib/MapCoordinate/index.es.js +199 -199
  18. package/lib/Matrix4/index.es.js +123 -123
  19. package/lib/Mercator/index.es.js +18 -18
  20. package/lib/PieLayout/index.es.js +115 -115
  21. package/lib/RawCanvas/index.es.js +736 -732
  22. package/lib/RawCanvas/index.es.min.js +1 -1
  23. package/lib/SVG/index.es.js +626 -631
  24. package/lib/SVG/index.es.min.js +1 -1
  25. package/lib/Shader/index.es.js +34 -34
  26. package/lib/Texture/index.es.js +52 -52
  27. package/lib/TreeLayout/index.es.js +301 -315
  28. package/lib/animation/index.es.js +2 -2
  29. package/lib/assemble/index.es.js +19 -16
  30. package/lib/assemble/index.es.min.js +1 -1
  31. package/lib/getLoopColors/index.es.js +34 -34
  32. package/lib/getWebGLContext/index.es.js +61 -61
  33. package/lib/index.umd.js +2797 -2784
  34. package/lib/index.umd.min.js +2 -2
  35. package/lib/initOption/index.es.js +5 -5
  36. package/lib/mergeOption/index.es.js +34 -34
  37. package/lib/move/index.es.js +6 -6
  38. package/lib/rotate/index.es.js +6 -6
  39. package/lib/ruler/index.es.js +136 -136
  40. package/lib/scale/index.es.js +5 -5
  41. package/minialipay/ui-canvas/drawImage.js +35 -35
  42. package/minialipay/ui-canvas/index.acss +4 -4
  43. package/minialipay/ui-canvas/index.axml +3 -3
  44. package/minialipay/ui-canvas/index.d.ts +1 -1
  45. package/minialipay/ui-canvas/index.js +100 -100
  46. package/minialipay/ui-canvas/index.json +6 -6
  47. package/miniprogram/ui-canvas/drawImage.js +35 -35
  48. package/miniprogram/ui-canvas/index.js +125 -125
  49. package/miniprogram/ui-canvas/index.json +4 -4
  50. package/miniprogram/ui-canvas/index.wxml +4 -4
  51. package/miniprogram/ui-canvas/index.wxss +5 -5
  52. package/package/BarLayout/index.ts +2 -2
  53. package/package/Buffer/index.ts +2 -2
  54. package/package/Canvas/index.ts +2 -2
  55. package/package/Cardinal/index.ts +2 -2
  56. package/package/Eoap/index.ts +2 -2
  57. package/package/Hermite/index.ts +2 -2
  58. package/package/MapCoordinate/index.ts +2 -2
  59. package/package/Matrix4/index.ts +2 -2
  60. package/package/Mercator/index.ts +2 -2
  61. package/package/PieLayout/index.ts +2 -2
  62. package/package/RawCanvas/index.ts +2 -2
  63. package/package/SVG/index.ts +2 -2
  64. package/package/Shader/index.ts +2 -2
  65. package/package/Texture/index.ts +2 -2
  66. package/package/TreeLayout/index.ts +2 -2
  67. package/package/animation/index.ts +5 -5
  68. package/package/assemble/index.ts +2 -2
  69. package/package/getLoopColors/index.ts +2 -2
  70. package/package/getWebGLContext/index.ts +40 -40
  71. package/package/index.ts +84 -84
  72. package/package/initOption/index.ts +2 -2
  73. package/package/mergeOption/index.ts +2 -2
  74. package/package/move/index.ts +2 -2
  75. package/package/rotate/index.ts +2 -2
  76. package/package/ruler/index.ts +2 -2
  77. package/package/scale/index.ts +2 -2
  78. package/package/throttle/index.ts +2 -2
  79. package/package.json +79 -79
  80. package/skills/vislite-lib/BarLayout.md +117 -117
  81. package/skills/vislite-lib/Canvas.md +183 -183
  82. package/skills/vislite-lib/Interpolation.md +129 -129
  83. package/skills/vislite-lib/Matrix.md +174 -174
  84. package/skills/vislite-lib/PieLayout.md +131 -131
  85. package/skills/vislite-lib/Projections.md +158 -158
  86. package/skills/vislite-lib/SKILL.md +179 -179
  87. package/skills/vislite-lib/SVG.md +137 -137
  88. package/skills/vislite-lib/TreeLayout.md +176 -176
  89. package/skills/vislite-lib/Utilities.md +261 -261
  90. package/skills/vislite-lib/WebGL.md +106 -106
  91. package/skills/vislite-lib/minialipay/ui-canvas.md +95 -95
  92. package/skills/vislite-lib/miniprogram/ui-canvas.md +98 -98
  93. package/skills/vislite-lib/uniapp/ui-canvas.md +113 -113
  94. package/src/Canvas.ts +89 -89
  95. package/src/Eoap.ts +66 -66
  96. package/src/Matrix4/index.ts +84 -84
  97. package/src/Matrix4/move.ts +12 -12
  98. package/src/Matrix4/rotate.ts +15 -15
  99. package/src/Matrix4/scale.ts +11 -11
  100. package/src/Matrix4/transform.ts +64 -64
  101. package/src/Mercator.ts +27 -27
  102. package/src/SVG.ts +86 -69
  103. package/src/common/assemble.ts +30 -22
  104. package/src/common/canvas/arc.ts +51 -51
  105. package/src/common/canvas/config.ts +176 -176
  106. package/src/common/canvas/default.ts +64 -64
  107. package/src/common/canvas/gradient.ts +31 -31
  108. package/src/common/canvas/index.ts +189 -189
  109. package/src/common/canvas/painter.ts +475 -454
  110. package/src/common/canvas/texts.ts +18 -18
  111. package/src/common/map/getBoundary.ts +15 -15
  112. package/src/common/map/tool.ts +29 -29
  113. package/src/common/option.ts +31 -31
  114. package/src/common/setStyle.ts +5 -5
  115. package/src/common/svg/config.ts +213 -213
  116. package/src/common/svg/default.ts +29 -29
  117. package/src/common/svg/gradient.ts +53 -53
  118. package/src/common/svg/index.ts +420 -420
  119. package/src/common/svg/tool.ts +51 -51
  120. package/src/common/tree/index.ts +25 -25
  121. package/src/common/tree/toInnerTree.ts +61 -61
  122. package/src/common/tree/toPlainTree.ts +135 -135
  123. package/src/common/type.ts +26 -26
  124. package/src/common/webgl/buffer.ts +79 -79
  125. package/src/common/webgl/getWebGLContext.ts +45 -45
  126. package/src/common/webgl/shader.ts +75 -75
  127. package/src/common/webgl/texture.ts +98 -98
  128. package/src/coordinate/MapCoordinate.ts +80 -80
  129. package/src/getLoopColors.ts +42 -42
  130. package/src/interpolation/Cardinal.ts +110 -110
  131. package/src/interpolation/Hermite.ts +65 -65
  132. package/src/layout/BarLayout.ts +249 -249
  133. package/src/layout/PieLayout.ts +146 -146
  134. package/src/layout/TreeLayout.ts +200 -200
  135. package/src/move.ts +7 -7
  136. package/src/rotate.ts +7 -7
  137. package/src/ruler.ts +209 -209
  138. package/src/scale.ts +6 -6
  139. package/types/Bar.d.ts +91 -91
  140. package/types/BarConfig.d.ts +4 -4
  141. package/types/BarLayout.d.ts +48 -48
  142. package/types/BarOption.d.ts +31 -31
  143. package/types/Buffer.d.ts +30 -30
  144. package/types/Canvas.d.ts +379 -379
  145. package/types/CanvasConfig.d.ts +61 -61
  146. package/types/CanvasOption.d.ts +13 -13
  147. package/types/CanvasOpts.d.ts +9 -9
  148. package/types/Cardinal.d.ts +20 -20
  149. package/types/Gradient.d.ts +20 -20
  150. package/types/Hermite.d.ts +25 -25
  151. package/types/Map.d.ts +9 -9
  152. package/types/MapConfig.d.ts +27 -27
  153. package/types/MapCoordinate.d.ts +22 -22
  154. package/types/Matrix4.d.ts +79 -79
  155. package/types/Pie.d.ts +73 -73
  156. package/types/PieConfig.d.ts +26 -26
  157. package/types/PieLayout.d.ts +40 -40
  158. package/types/PieOption.d.ts +21 -21
  159. package/types/SVG.d.ts +282 -282
  160. package/types/SVGConfig.d.ts +54 -54
  161. package/types/Shader.d.ts +22 -22
  162. package/types/Texture.d.ts +22 -22
  163. package/types/Tree.d.ts +74 -74
  164. package/types/TreeConfig.d.ts +52 -52
  165. package/types/TreeLayout.d.ts +71 -71
  166. package/types/TreeOption.d.ts +48 -48
  167. package/types/animation.d.ts +26 -26
  168. package/types/assemble.d.ts +14 -14
  169. package/types/getLoopColors.d.ts +13 -13
  170. package/types/getWebGLContext.d.ts +7 -7
  171. package/types/index.d.ts +220 -221
  172. package/types/module.d.ts +110 -110
  173. package/types/move.d.ts +15 -15
  174. package/types/option.d.ts +12 -12
  175. package/types/painterConfig.d.ts +14 -14
  176. package/types/rotate.d.ts +15 -15
  177. package/types/ruler.d.ts +24 -24
  178. package/types/scale.d.ts +15 -15
  179. package/types/throttle.d.ts +6 -6
  180. package/types/ui-canvas.d.ts +4 -4
  181. package/types/uni-canvas.d.ts +3 -3
  182. package/uni-app/drawImage.js +19 -19
  183. package/uni-app/ui-canvas.vue +295 -295
@@ -1,146 +1,146 @@
1
- function initOption(setOption, defaultOption) {
2
- for (var key in setOption) {
3
- defaultOption[key] = setOption[key];
4
- }
5
- return defaultOption;
1
+ function initOption(setOption, defaultOption) {
2
+ for (var key in setOption) {
3
+ defaultOption[key] = setOption[key];
4
+ }
5
+ return defaultOption;
6
6
  }
7
7
 
8
- function ruler (maxValue, minValue, num, option) {
9
- if (maxValue < minValue) {
10
- var temp = minValue;
11
- minValue = maxValue;
12
- maxValue = temp;
13
- }
14
- else if (maxValue == minValue) {
15
- return [maxValue];
16
- }
17
- var times100 = (function (_value) {
18
- var _times100_base = (_value < 100 && _value > -100) ? 10 : 0.1;
19
- var _times100 = -1, _tiemsValue = _value;
20
- while (_times100_base == 10 ?
21
- (_tiemsValue >= -100 && _tiemsValue <= 100)
22
- :
23
- (_tiemsValue <= -100 || _tiemsValue >= 100)) {
24
- _times100 += 1;
25
- _tiemsValue *= _times100_base;
26
- }
27
- if (_times100_base == 10) {
28
- return Math.pow(10, _times100);
29
- }
30
- else {
31
- var temp = "0.";
32
- for (var i = 1; i < _times100; i++) {
33
- temp += "0";
34
- }
35
- return +(temp + "1");
36
- }
37
- })(maxValue - minValue);
38
- var distance100_oral = Math.ceil((maxValue - minValue) * times100 / num);
39
- var getResult = function (changValue) {
40
- var distance100 = {
41
- 3: 2,
42
- 4: 5,
43
- 6: 5,
44
- 7: 5,
45
- 8: 10,
46
- 9: 10,
47
- 11: 10,
48
- 12: 10,
49
- 13: 15,
50
- 14: 15,
51
- 16: 15,
52
- 17: 15,
53
- 18: 20,
54
- 19: 20,
55
- 21: 20,
56
- 22: 20,
57
- 23: 25,
58
- 24: 25,
59
- 26: 25,
60
- 27: 25
61
- }[distance100_oral + changValue] || (distance100_oral + changValue);
62
- var distance = distance100 / times100;
63
- var begin = Math.floor(minValue / distance) * distance;
64
- var rulerArray = [];
65
- rulerArray.push(begin);
66
- for (var index = 1; rulerArray[rulerArray.length - 1] < maxValue; index++) {
67
- rulerArray.push(begin + distance * index);
68
- }
69
- return rulerArray;
70
- };
71
- var rulerArray = getResult(0);
72
- var balanceMax = function () {
73
- var rulerArray_temp = [];
74
- var changeDist = rulerArray[rulerArray.length - 1] - (option === null || option === void 0 ? void 0 : option.max);
75
- for (var index = 0; index < rulerArray.length; index++) {
76
- if (index + 1 < rulerArray.length && rulerArray[index + 1] - changeDist < minValue) ;
77
- else {
78
- rulerArray_temp.push(rulerArray[index] - changeDist);
79
- }
80
- }
81
- return rulerArray_temp;
82
- };
83
- var balanceMin = function () {
84
- var rulerArray_temp = [];
85
- var changeDist = rulerArray[0] - (option === null || option === void 0 ? void 0 : option.min);
86
- for (var index = 0; index < rulerArray.length; index++) {
87
- rulerArray_temp[index] = rulerArray[index] - changeDist;
88
- if (maxValue <= rulerArray_temp[index])
89
- break;
90
- }
91
- return rulerArray_temp;
92
- };
93
- if (option) {
94
- if ('max' in option && 'min' in option && option.max >= maxValue && option.min <= minValue) {
95
- var isAnswer = function () {
96
- if (rulerArray[0] >= option.min && rulerArray[rulerArray.length - 1] <= option.max)
97
- return true;
98
- var rulerArray_max = balanceMax();
99
- if (rulerArray_max[0] >= option.min && rulerArray_max[rulerArray_max.length - 1] <= option.max) {
100
- rulerArray = rulerArray_max;
101
- return true;
102
- }
103
- var rulerArray_min = balanceMin();
104
- if (rulerArray_min[0] >= option.min && rulerArray_min[rulerArray_max.length - 1] <= option.max) {
105
- rulerArray = rulerArray_min;
106
- return true;
107
- }
108
- };
109
- if (isAnswer())
110
- return rulerArray;
111
- for (var changValue = 1; changValue < 100; changValue++) {
112
- rulerArray = getResult(changValue);
113
- if (isAnswer())
114
- return rulerArray;
115
- rulerArray = getResult(-changValue);
116
- if (isAnswer())
117
- return rulerArray;
118
- }
119
- }
120
- if ('max' in option && option.max >= maxValue) {
121
- if (option.max < rulerArray[rulerArray.length - 1]) {
122
- rulerArray = balanceMax();
123
- }
124
- }
125
- else if ('min' in option && option.min <= minValue) {
126
- if (option.min > rulerArray[0]) {
127
- rulerArray = balanceMin();
128
- }
129
- }
130
- }
131
- for (var index = 0; index < rulerArray.length; index++) {
132
- var valStr = rulerArray[index] + "";
133
- if (/\./.test(valStr)) {
134
- if (/9{7,}$/.test(valStr)) {
135
- valStr = valStr.replace(/9{7,}$/, '');
136
- rulerArray[index] = +(valStr.substring(0, valStr.length - 1) + ((+valStr[valStr.length - 1]) + 1));
137
- }
138
- else if (/0{7,}\d$/.test(valStr)) {
139
- rulerArray[index] = +(valStr.replace(/0{7,}\d$/, ''));
140
- }
141
- }
142
- }
143
- return rulerArray;
8
+ function ruler (maxValue, minValue, num, option) {
9
+ if (maxValue < minValue) {
10
+ var temp = minValue;
11
+ minValue = maxValue;
12
+ maxValue = temp;
13
+ }
14
+ else if (maxValue == minValue) {
15
+ return [maxValue];
16
+ }
17
+ var times100 = (function (_value) {
18
+ var _times100_base = (_value < 100 && _value > -100) ? 10 : 0.1;
19
+ var _times100 = -1, _tiemsValue = _value;
20
+ while (_times100_base == 10 ?
21
+ (_tiemsValue >= -100 && _tiemsValue <= 100)
22
+ :
23
+ (_tiemsValue <= -100 || _tiemsValue >= 100)) {
24
+ _times100 += 1;
25
+ _tiemsValue *= _times100_base;
26
+ }
27
+ if (_times100_base == 10) {
28
+ return Math.pow(10, _times100);
29
+ }
30
+ else {
31
+ var temp = "0.";
32
+ for (var i = 1; i < _times100; i++) {
33
+ temp += "0";
34
+ }
35
+ return +(temp + "1");
36
+ }
37
+ })(maxValue - minValue);
38
+ var distance100_oral = Math.ceil((maxValue - minValue) * times100 / num);
39
+ var getResult = function (changValue) {
40
+ var distance100 = {
41
+ 3: 2,
42
+ 4: 5,
43
+ 6: 5,
44
+ 7: 5,
45
+ 8: 10,
46
+ 9: 10,
47
+ 11: 10,
48
+ 12: 10,
49
+ 13: 15,
50
+ 14: 15,
51
+ 16: 15,
52
+ 17: 15,
53
+ 18: 20,
54
+ 19: 20,
55
+ 21: 20,
56
+ 22: 20,
57
+ 23: 25,
58
+ 24: 25,
59
+ 26: 25,
60
+ 27: 25
61
+ }[distance100_oral + changValue] || (distance100_oral + changValue);
62
+ var distance = distance100 / times100;
63
+ var begin = Math.floor(minValue / distance) * distance;
64
+ var rulerArray = [];
65
+ rulerArray.push(begin);
66
+ for (var index = 1; rulerArray[rulerArray.length - 1] < maxValue; index++) {
67
+ rulerArray.push(begin + distance * index);
68
+ }
69
+ return rulerArray;
70
+ };
71
+ var rulerArray = getResult(0);
72
+ var balanceMax = function () {
73
+ var rulerArray_temp = [];
74
+ var changeDist = rulerArray[rulerArray.length - 1] - (option === null || option === void 0 ? void 0 : option.max);
75
+ for (var index = 0; index < rulerArray.length; index++) {
76
+ if (index + 1 < rulerArray.length && rulerArray[index + 1] - changeDist < minValue) ;
77
+ else {
78
+ rulerArray_temp.push(rulerArray[index] - changeDist);
79
+ }
80
+ }
81
+ return rulerArray_temp;
82
+ };
83
+ var balanceMin = function () {
84
+ var rulerArray_temp = [];
85
+ var changeDist = rulerArray[0] - (option === null || option === void 0 ? void 0 : option.min);
86
+ for (var index = 0; index < rulerArray.length; index++) {
87
+ rulerArray_temp[index] = rulerArray[index] - changeDist;
88
+ if (maxValue <= rulerArray_temp[index])
89
+ break;
90
+ }
91
+ return rulerArray_temp;
92
+ };
93
+ if (option) {
94
+ if ('max' in option && 'min' in option && option.max >= maxValue && option.min <= minValue) {
95
+ var isAnswer = function () {
96
+ if (rulerArray[0] >= option.min && rulerArray[rulerArray.length - 1] <= option.max)
97
+ return true;
98
+ var rulerArray_max = balanceMax();
99
+ if (rulerArray_max[0] >= option.min && rulerArray_max[rulerArray_max.length - 1] <= option.max) {
100
+ rulerArray = rulerArray_max;
101
+ return true;
102
+ }
103
+ var rulerArray_min = balanceMin();
104
+ if (rulerArray_min[0] >= option.min && rulerArray_min[rulerArray_max.length - 1] <= option.max) {
105
+ rulerArray = rulerArray_min;
106
+ return true;
107
+ }
108
+ };
109
+ if (isAnswer())
110
+ return rulerArray;
111
+ for (var changValue = 1; changValue < 100; changValue++) {
112
+ rulerArray = getResult(changValue);
113
+ if (isAnswer())
114
+ return rulerArray;
115
+ rulerArray = getResult(-changValue);
116
+ if (isAnswer())
117
+ return rulerArray;
118
+ }
119
+ }
120
+ if ('max' in option && option.max >= maxValue) {
121
+ if (option.max < rulerArray[rulerArray.length - 1]) {
122
+ rulerArray = balanceMax();
123
+ }
124
+ }
125
+ else if ('min' in option && option.min <= minValue) {
126
+ if (option.min > rulerArray[0]) {
127
+ rulerArray = balanceMin();
128
+ }
129
+ }
130
+ }
131
+ for (var index = 0; index < rulerArray.length; index++) {
132
+ var valStr = rulerArray[index] + "";
133
+ if (/\./.test(valStr)) {
134
+ if (/9{7,}$/.test(valStr)) {
135
+ valStr = valStr.replace(/9{7,}$/, '');
136
+ rulerArray[index] = +(valStr.substring(0, valStr.length - 1) + ((+valStr[valStr.length - 1]) + 1));
137
+ }
138
+ else if (/0{7,}\d$/.test(valStr)) {
139
+ rulerArray[index] = +(valStr.replace(/0{7,}\d$/, ''));
140
+ }
141
+ }
142
+ }
143
+ return rulerArray;
144
144
  }
145
145
 
146
146
  //当前正在运动的动画的tick函数堆栈
@@ -293,213 +293,213 @@ function animation(doback, duration, callback) {
293
293
 
294
294
  }
295
295
 
296
- var BarLayout = (function () {
297
- function BarLayout(config) {
298
- if (config === void 0) { config = {}; }
299
- this.name = 'BarLayout';
300
- this.__option = {
301
- x: 50,
302
- y: 350,
303
- width: 400,
304
- height: 300,
305
- category: "xAxis",
306
- duration: 200
307
- };
308
- this.__config = initOption(config, {});
309
- }
310
- BarLayout.prototype.setOption = function (option) {
311
- initOption(option, this.__option);
312
- return this;
313
- };
314
- BarLayout.prototype.use = function (initBar) {
315
- var bar = {
316
- coordinate: {
317
- x: this.__option.x,
318
- y: this.__option.y,
319
- width: this.__option.width,
320
- height: this.__option.height,
321
- xAxis: {
322
- type: this.__option.category === "xAxis" ? "category" : "value",
323
- data: []
324
- },
325
- yAxis: {
326
- type: this.__option.category === "xAxis" ? "value" : "category",
327
- data: []
328
- }
329
- },
330
- node: []
331
- };
332
- var maxValue = void 0, minValue = void 0;
333
- if (initBar.data) {
334
- for (var _i = 0, _a = initBar.data; _i < _a.length; _i++) {
335
- var val = _a[_i];
336
- if (maxValue === void 0 || val > maxValue)
337
- maxValue = val;
338
- if (minValue === void 0 || val < minValue)
339
- minValue = val;
340
- }
341
- }
342
- else if (initBar.value) {
343
- for (var _b = 0, _c = initBar.value; _b < _c.length; _b++) {
344
- var item = _c[_b];
345
- for (var _d = 0, _e = item.data; _d < _e.length; _d++) {
346
- var val = _e[_d];
347
- if (maxValue === void 0 || val > maxValue)
348
- maxValue = val;
349
- if (minValue === void 0 || val < minValue)
350
- minValue = val;
351
- }
352
- }
353
- }
354
- else {
355
- throw new Error('No data leads to parsing errors');
356
- }
357
- var rulerArray = ruler(maxValue || 0, minValue || 0, 5);
358
- var categoryLen;
359
- var valueLen;
360
- if (this.__option.category === "xAxis") {
361
- bar.coordinate.xAxis.data = initBar.category;
362
- bar.coordinate.yAxis.data = rulerArray;
363
- categoryLen = this.__option.width;
364
- valueLen = -1 * this.__option.height;
365
- }
366
- else {
367
- bar.coordinate.xAxis.data = rulerArray;
368
- bar.coordinate.yAxis.data = initBar.category;
369
- categoryLen = this.__option.height;
370
- valueLen = this.__option.width;
371
- }
372
- var category = [];
373
- var categorySingle1Width = categoryLen / initBar.category.length;
374
- var categorySingle2Width = categorySingle1Width * 0.9;
375
- var categoryStart = categorySingle1Width * 0.05;
376
- if (initBar.data) {
377
- for (var i = 0; i < initBar.data.length; i++) {
378
- category.push([
379
- categoryStart + categorySingle1Width * i,
380
- categorySingle2Width
381
- ]);
382
- }
383
- }
384
- else {
385
- var categorySingle3Width = categorySingle2Width / initBar.value.length;
386
- var categorySingle4Width = categorySingle3Width * 0.9;
387
- var categoryStartBlance = categorySingle3Width * 0.05;
388
- for (var i = 0; i < initBar.value[0].data.length; i++) {
389
- category[i] = [];
390
- for (var j = 0; j < initBar.value.length; j++) {
391
- category[i].push([
392
- categoryStart + categorySingle1Width * i + categorySingle3Width * j + categoryStartBlance,
393
- categorySingle4Width
394
- ]);
395
- }
396
- }
397
- }
398
- var singleValueLen = valueLen / (rulerArray[rulerArray.length - 1] - rulerArray[0]);
399
- var getLenByValue = function (value) {
400
- return singleValueLen * (value - rulerArray[0]);
401
- };
402
- if (this.__option.category === "xAxis") {
403
- if (initBar.data) {
404
- var nodeBar = [];
405
- for (var i = 0; i < initBar.data.length; i++) {
406
- nodeBar.push({
407
- x: this.__option.x + category[i][0],
408
- y: this.__option.y,
409
- width: category[i][1],
410
- height: getLenByValue(initBar.data[i]),
411
- value: initBar.data[i]
412
- });
413
- }
414
- bar.node.push({
415
- bar: nodeBar
416
- });
417
- }
418
- else {
419
- for (var j = 0; j < initBar.value.length; j++) {
420
- var nodeBar = [];
421
- for (var i = 0; i < initBar.value[j].data.length; i++) {
422
- nodeBar.push({
423
- x: this.__option.x + category[i][j][0],
424
- y: this.__option.y,
425
- width: category[i][j][1],
426
- height: getLenByValue(initBar.value[j].data[i]),
427
- value: initBar.value[j].data[i]
428
- });
429
- }
430
- bar.node.push({
431
- name: initBar.value[j].name,
432
- bar: nodeBar
433
- });
434
- }
435
- }
436
- }
437
- else {
438
- if (initBar.data) {
439
- var nodeBar = [];
440
- for (var i = 0; i < initBar.data.length; i++) {
441
- nodeBar.push({
442
- x: this.__option.x,
443
- y: this.__option.y - this.__option.height + category[i][0],
444
- width: getLenByValue(initBar.data[i]),
445
- height: category[i][1],
446
- value: initBar.data[i]
447
- });
448
- }
449
- bar.node.push({
450
- bar: nodeBar
451
- });
452
- }
453
- else {
454
- for (var j = 0; j < initBar.value.length; j++) {
455
- var nodeBar = [];
456
- for (var i = 0; i < initBar.value[j].data.length; i++) {
457
- nodeBar.push({
458
- x: this.__option.x,
459
- y: this.__option.y - this.__option.height + category[i][j][0],
460
- width: getLenByValue(initBar.value[j].data[i]),
461
- height: category[i][j][1],
462
- value: initBar.value[j].data[i]
463
- });
464
- }
465
- bar.node.push({
466
- name: initBar.value[j].name,
467
- bar: nodeBar
468
- });
469
- }
470
- }
471
- }
472
- return bar;
473
- };
474
- BarLayout.prototype.bind = function (initBar, renderBack) {
475
- this.__rback = renderBack;
476
- this.__oralBar = initBar;
477
- this.__preBar = this.use(this.__oralBar);
478
- this.__rback(this.__preBar);
479
- return this;
480
- };
481
- BarLayout.prototype.unbind = function () {
482
- this.__rback = function () { return null; };
483
- this.__oralBar = null;
484
- this.__preBar = null;
485
- return this;
486
- };
487
- BarLayout.prototype.doUpdate = function () {
488
- var _this = this;
489
- var newBar = this.use(this.__oralBar);
490
- var cacheBar = JSON.parse(JSON.stringify(newBar));
491
- animation(function (deep) {
492
- if (_this.__preBar) ;
493
- else {
494
- _this.__rback(cacheBar);
495
- }
496
- }, this.__option.duration, function () {
497
- _this.__preBar = newBar;
498
- _this.__rback(_this.__preBar);
499
- });
500
- return this;
501
- };
502
- return BarLayout;
296
+ var BarLayout = (function () {
297
+ function BarLayout(config) {
298
+ if (config === void 0) { config = {}; }
299
+ this.name = 'BarLayout';
300
+ this.__option = {
301
+ x: 50,
302
+ y: 350,
303
+ width: 400,
304
+ height: 300,
305
+ category: "xAxis",
306
+ duration: 200
307
+ };
308
+ this.__config = initOption(config, {});
309
+ }
310
+ BarLayout.prototype.setOption = function (option) {
311
+ initOption(option, this.__option);
312
+ return this;
313
+ };
314
+ BarLayout.prototype.use = function (initBar) {
315
+ var bar = {
316
+ coordinate: {
317
+ x: this.__option.x,
318
+ y: this.__option.y,
319
+ width: this.__option.width,
320
+ height: this.__option.height,
321
+ xAxis: {
322
+ type: this.__option.category === "xAxis" ? "category" : "value",
323
+ data: []
324
+ },
325
+ yAxis: {
326
+ type: this.__option.category === "xAxis" ? "value" : "category",
327
+ data: []
328
+ }
329
+ },
330
+ node: []
331
+ };
332
+ var maxValue = void 0, minValue = void 0;
333
+ if (initBar.data) {
334
+ for (var _i = 0, _a = initBar.data; _i < _a.length; _i++) {
335
+ var val = _a[_i];
336
+ if (maxValue === void 0 || val > maxValue)
337
+ maxValue = val;
338
+ if (minValue === void 0 || val < minValue)
339
+ minValue = val;
340
+ }
341
+ }
342
+ else if (initBar.value) {
343
+ for (var _b = 0, _c = initBar.value; _b < _c.length; _b++) {
344
+ var item = _c[_b];
345
+ for (var _d = 0, _e = item.data; _d < _e.length; _d++) {
346
+ var val = _e[_d];
347
+ if (maxValue === void 0 || val > maxValue)
348
+ maxValue = val;
349
+ if (minValue === void 0 || val < minValue)
350
+ minValue = val;
351
+ }
352
+ }
353
+ }
354
+ else {
355
+ throw new Error('No data leads to parsing errors');
356
+ }
357
+ var rulerArray = ruler(maxValue || 0, minValue || 0, 5);
358
+ var categoryLen;
359
+ var valueLen;
360
+ if (this.__option.category === "xAxis") {
361
+ bar.coordinate.xAxis.data = initBar.category;
362
+ bar.coordinate.yAxis.data = rulerArray;
363
+ categoryLen = this.__option.width;
364
+ valueLen = -1 * this.__option.height;
365
+ }
366
+ else {
367
+ bar.coordinate.xAxis.data = rulerArray;
368
+ bar.coordinate.yAxis.data = initBar.category;
369
+ categoryLen = this.__option.height;
370
+ valueLen = this.__option.width;
371
+ }
372
+ var category = [];
373
+ var categorySingle1Width = categoryLen / initBar.category.length;
374
+ var categorySingle2Width = categorySingle1Width * 0.9;
375
+ var categoryStart = categorySingle1Width * 0.05;
376
+ if (initBar.data) {
377
+ for (var i = 0; i < initBar.data.length; i++) {
378
+ category.push([
379
+ categoryStart + categorySingle1Width * i,
380
+ categorySingle2Width
381
+ ]);
382
+ }
383
+ }
384
+ else {
385
+ var categorySingle3Width = categorySingle2Width / initBar.value.length;
386
+ var categorySingle4Width = categorySingle3Width * 0.9;
387
+ var categoryStartBlance = categorySingle3Width * 0.05;
388
+ for (var i = 0; i < initBar.value[0].data.length; i++) {
389
+ category[i] = [];
390
+ for (var j = 0; j < initBar.value.length; j++) {
391
+ category[i].push([
392
+ categoryStart + categorySingle1Width * i + categorySingle3Width * j + categoryStartBlance,
393
+ categorySingle4Width
394
+ ]);
395
+ }
396
+ }
397
+ }
398
+ var singleValueLen = valueLen / (rulerArray[rulerArray.length - 1] - rulerArray[0]);
399
+ var getLenByValue = function (value) {
400
+ return singleValueLen * (value - rulerArray[0]);
401
+ };
402
+ if (this.__option.category === "xAxis") {
403
+ if (initBar.data) {
404
+ var nodeBar = [];
405
+ for (var i = 0; i < initBar.data.length; i++) {
406
+ nodeBar.push({
407
+ x: this.__option.x + category[i][0],
408
+ y: this.__option.y,
409
+ width: category[i][1],
410
+ height: getLenByValue(initBar.data[i]),
411
+ value: initBar.data[i]
412
+ });
413
+ }
414
+ bar.node.push({
415
+ bar: nodeBar
416
+ });
417
+ }
418
+ else {
419
+ for (var j = 0; j < initBar.value.length; j++) {
420
+ var nodeBar = [];
421
+ for (var i = 0; i < initBar.value[j].data.length; i++) {
422
+ nodeBar.push({
423
+ x: this.__option.x + category[i][j][0],
424
+ y: this.__option.y,
425
+ width: category[i][j][1],
426
+ height: getLenByValue(initBar.value[j].data[i]),
427
+ value: initBar.value[j].data[i]
428
+ });
429
+ }
430
+ bar.node.push({
431
+ name: initBar.value[j].name,
432
+ bar: nodeBar
433
+ });
434
+ }
435
+ }
436
+ }
437
+ else {
438
+ if (initBar.data) {
439
+ var nodeBar = [];
440
+ for (var i = 0; i < initBar.data.length; i++) {
441
+ nodeBar.push({
442
+ x: this.__option.x,
443
+ y: this.__option.y - this.__option.height + category[i][0],
444
+ width: getLenByValue(initBar.data[i]),
445
+ height: category[i][1],
446
+ value: initBar.data[i]
447
+ });
448
+ }
449
+ bar.node.push({
450
+ bar: nodeBar
451
+ });
452
+ }
453
+ else {
454
+ for (var j = 0; j < initBar.value.length; j++) {
455
+ var nodeBar = [];
456
+ for (var i = 0; i < initBar.value[j].data.length; i++) {
457
+ nodeBar.push({
458
+ x: this.__option.x,
459
+ y: this.__option.y - this.__option.height + category[i][j][0],
460
+ width: getLenByValue(initBar.value[j].data[i]),
461
+ height: category[i][j][1],
462
+ value: initBar.value[j].data[i]
463
+ });
464
+ }
465
+ bar.node.push({
466
+ name: initBar.value[j].name,
467
+ bar: nodeBar
468
+ });
469
+ }
470
+ }
471
+ }
472
+ return bar;
473
+ };
474
+ BarLayout.prototype.bind = function (initBar, renderBack) {
475
+ this.__rback = renderBack;
476
+ this.__oralBar = initBar;
477
+ this.__preBar = this.use(this.__oralBar);
478
+ this.__rback(this.__preBar);
479
+ return this;
480
+ };
481
+ BarLayout.prototype.unbind = function () {
482
+ this.__rback = function () { return null; };
483
+ this.__oralBar = null;
484
+ this.__preBar = null;
485
+ return this;
486
+ };
487
+ BarLayout.prototype.doUpdate = function () {
488
+ var _this = this;
489
+ var newBar = this.use(this.__oralBar);
490
+ var cacheBar = JSON.parse(JSON.stringify(newBar));
491
+ animation(function (deep) {
492
+ if (_this.__preBar) ;
493
+ else {
494
+ _this.__rback(cacheBar);
495
+ }
496
+ }, this.__option.duration, function () {
497
+ _this.__preBar = newBar;
498
+ _this.__rback(_this.__preBar);
499
+ });
500
+ return this;
501
+ };
502
+ return BarLayout;
503
503
  }());
504
504
 
505
505
  export { BarLayout as default };