vislite 0.8.0 → 0.8.1-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.
Files changed (79) hide show
  1. package/CHANGELOG +212 -209
  2. package/README.md +136 -144
  3. package/lib/Buffer/index.umd.js +36 -36
  4. package/lib/Buffer/index.umd.min.js +2 -2
  5. package/lib/Canvas/index.umd.js +691 -691
  6. package/lib/Canvas/index.umd.min.js +2 -2
  7. package/lib/Cardinal/index.umd.js +91 -91
  8. package/lib/Cardinal/index.umd.min.js +2 -2
  9. package/lib/Eoap/index.umd.js +34 -34
  10. package/lib/Eoap/index.umd.min.js +2 -2
  11. package/lib/Geometry/index.umd.js +286 -286
  12. package/lib/Geometry/index.umd.min.js +2 -2
  13. package/lib/Hermite/index.umd.js +36 -36
  14. package/lib/Hermite/index.umd.min.js +2 -2
  15. package/lib/Matrix4/index.umd.js +125 -125
  16. package/lib/Matrix4/index.umd.min.js +2 -2
  17. package/lib/Mercator/index.umd.js +20 -20
  18. package/lib/Mercator/index.umd.min.js +2 -2
  19. package/lib/OralCanvas/index.es.js +634 -634
  20. package/lib/OralCanvas/index.es.min.js +2 -2
  21. package/lib/OralWebGL/index.es.js +552 -552
  22. package/lib/OralWebGL/index.es.min.js +2 -2
  23. package/lib/SVG/index.umd.js +471 -471
  24. package/lib/SVG/index.umd.min.js +2 -2
  25. package/lib/Shader/index.umd.js +61 -61
  26. package/lib/Shader/index.umd.min.js +2 -2
  27. package/lib/Texture/index.umd.js +54 -54
  28. package/lib/Texture/index.umd.min.js +2 -2
  29. package/lib/TreeLayout/index.umd.js +368 -368
  30. package/lib/TreeLayout/index.umd.min.js +2 -2
  31. package/lib/WebGL/index.umd.js +599 -599
  32. package/lib/WebGL/index.umd.min.js +2 -2
  33. package/lib/animation/index.umd.js +73 -73
  34. package/lib/animation/index.umd.min.js +2 -2
  35. package/lib/formatColor/index.umd.js +40 -40
  36. package/lib/formatColor/index.umd.min.js +2 -2
  37. package/lib/getLoopColors/index.umd.js +36 -36
  38. package/lib/getLoopColors/index.umd.min.js +2 -2
  39. package/lib/getWebGLContext/index.umd.js +63 -63
  40. package/lib/getWebGLContext/index.umd.min.js +2 -2
  41. package/lib/index.umd.js +2955 -2955
  42. package/lib/index.umd.min.js +2 -2
  43. package/lib/move/index.umd.js +8 -8
  44. package/lib/move/index.umd.min.js +2 -2
  45. package/lib/resizeObserver/index.umd.js +30 -30
  46. package/lib/resizeObserver/index.umd.min.js +2 -2
  47. package/lib/rotate/index.umd.js +8 -8
  48. package/lib/rotate/index.umd.min.js +2 -2
  49. package/lib/ruler/index.umd.js +138 -138
  50. package/lib/ruler/index.umd.min.js +2 -2
  51. package/lib/scale/index.umd.js +7 -7
  52. package/lib/scale/index.umd.min.js +2 -2
  53. package/lib/throttle/index.umd.js +49 -49
  54. package/lib/throttle/index.umd.min.js +2 -2
  55. package/lib/viewHandler/index.umd.js +120 -120
  56. package/lib/viewHandler/index.umd.min.js +2 -2
  57. package/miniprogram/ui-canvas/drawImage.js +34 -0
  58. package/miniprogram/ui-canvas/index.js +10 -2
  59. package/package/getWebGLContext/index.ts +40 -40
  60. package/package.json +70 -70
  61. package/src/Canvas.ts +72 -72
  62. package/src/Geometry.ts +210 -210
  63. package/src/WebGL.ts +66 -66
  64. package/src/common/canvas/index.ts +183 -183
  65. package/src/common/canvas/painter.ts +446 -446
  66. package/src/common/geometry/prism-horizontal.ts +50 -50
  67. package/src/common/geometry/prism-vertical.ts +55 -55
  68. package/src/common/geometry/tool/circle.ts +17 -17
  69. package/src/common/geometry/tool/rotateLine.ts +48 -48
  70. package/src/common/geometry/tool/triangles.ts +23 -23
  71. package/src/common/webgl/getWebGLContext.ts +45 -45
  72. package/src/common/webgl/index.ts +227 -227
  73. package/types/Canvas.d.ts +318 -318
  74. package/types/Geometry.d.ts +132 -132
  75. package/types/WebGLOption.d.ts +14 -14
  76. package/types/getWebGLContext.d.ts +4 -4
  77. package/types/ui-canvas.d.ts +4 -4
  78. package/uni-app/drawImage.js +17 -17
  79. package/uni-app/ui-canvas.vue +290 -290
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.8.0
2
+ * VISLite JavaScript Library v0.8.1-alpha.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Mar 02 2024 12:41:38 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Apr 02 2024 14:46:44 GMT+0800 (China Standard Time)
10
10
  */
11
11
  (function (global, factory) {
12
12
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -14,142 +14,142 @@
14
14
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.VISLite_ruler = factory());
15
15
  })(this, (function () { 'use strict';
16
16
 
17
- function ruler (maxValue, minValue, num, option) {
18
- if (maxValue < minValue) {
19
- var temp = minValue;
20
- minValue = maxValue;
21
- maxValue = temp;
22
- }
23
- else if (maxValue == minValue) {
24
- return [maxValue];
25
- }
26
- var times100 = (function (_value) {
27
- var _times100_base = (_value < 100 && _value > -100) ? 10 : 0.1;
28
- var _times100 = -1, _tiemsValue = _value;
29
- while (_times100_base == 10 ?
30
- (_tiemsValue >= -100 && _tiemsValue <= 100)
31
- :
32
- (_tiemsValue <= -100 || _tiemsValue >= 100)) {
33
- _times100 += 1;
34
- _tiemsValue *= _times100_base;
35
- }
36
- if (_times100_base == 10) {
37
- return Math.pow(10, _times100);
38
- }
39
- else {
40
- var temp = "0.";
41
- for (var i = 1; i < _times100; i++) {
42
- temp += "0";
43
- }
44
- return +(temp + "1");
45
- }
46
- })(maxValue - minValue);
47
- var distance100_oral = Math.ceil((maxValue - minValue) * times100 / num);
48
- var getResult = function (changValue) {
49
- var distance100 = {
50
- 3: 2,
51
- 4: 5,
52
- 6: 5,
53
- 7: 5,
54
- 8: 10,
55
- 9: 10,
56
- 11: 10,
57
- 12: 10,
58
- 13: 15,
59
- 14: 15,
60
- 16: 15,
61
- 17: 15,
62
- 18: 20,
63
- 19: 20,
64
- 21: 20,
65
- 22: 20,
66
- 23: 25,
67
- 24: 25,
68
- 26: 25,
69
- 27: 25
70
- }[distance100_oral + changValue] || (distance100_oral + changValue);
71
- var distance = distance100 / times100;
72
- var begin = Math.floor(minValue / distance) * distance;
73
- var rulerArray = [];
74
- rulerArray.push(begin);
75
- for (var index = 1; rulerArray[rulerArray.length - 1] < maxValue; index++) {
76
- rulerArray.push(begin + distance * index);
77
- }
78
- return rulerArray;
79
- };
80
- var rulerArray = getResult(0);
81
- var balanceMax = function () {
82
- var rulerArray_temp = [];
83
- var changeDist = rulerArray[rulerArray.length - 1] - (option === null || option === void 0 ? void 0 : option.max);
84
- for (var index = 0; index < rulerArray.length; index++) {
85
- if (index + 1 < rulerArray.length && rulerArray[index + 1] - changeDist < minValue) ;
86
- else {
87
- rulerArray_temp.push(rulerArray[index] - changeDist);
88
- }
89
- }
90
- return rulerArray_temp;
91
- };
92
- var balanceMin = function () {
93
- var rulerArray_temp = [];
94
- var changeDist = rulerArray[0] - (option === null || option === void 0 ? void 0 : option.min);
95
- for (var index = 0; index < rulerArray.length; index++) {
96
- rulerArray_temp[index] = rulerArray[index] - changeDist;
97
- if (maxValue <= rulerArray_temp[index])
98
- break;
99
- }
100
- return rulerArray_temp;
101
- };
102
- if (option) {
103
- if ('max' in option && 'min' in option && option.max >= maxValue && option.min <= minValue) {
104
- var isAnswer = function () {
105
- if (rulerArray[0] >= option.min && rulerArray[rulerArray.length - 1] <= option.max)
106
- return true;
107
- var rulerArray_max = balanceMax();
108
- if (rulerArray_max[0] >= option.min && rulerArray_max[rulerArray_max.length - 1] <= option.max) {
109
- rulerArray = rulerArray_max;
110
- return true;
111
- }
112
- var rulerArray_min = balanceMin();
113
- if (rulerArray_min[0] >= option.min && rulerArray_min[rulerArray_max.length - 1] <= option.max) {
114
- rulerArray = rulerArray_min;
115
- return true;
116
- }
117
- };
118
- if (isAnswer())
119
- return rulerArray;
120
- for (var changValue = 1; changValue < 100; changValue++) {
121
- rulerArray = getResult(changValue);
122
- if (isAnswer())
123
- return rulerArray;
124
- rulerArray = getResult(-changValue);
125
- if (isAnswer())
126
- return rulerArray;
127
- }
128
- }
129
- if ('max' in option && option.max >= maxValue) {
130
- if (option.max < rulerArray[rulerArray.length - 1]) {
131
- rulerArray = balanceMax();
132
- }
133
- }
134
- else if ('min' in option && option.min <= minValue) {
135
- if (option.min > rulerArray[0]) {
136
- rulerArray = balanceMin();
137
- }
138
- }
139
- }
140
- for (var index = 0; index < rulerArray.length; index++) {
141
- var valStr = rulerArray[index] + "";
142
- if (/\./.test(valStr)) {
143
- if (/9{7,}$/.test(valStr)) {
144
- valStr = valStr.replace(/9{7,}$/, '');
145
- rulerArray[index] = +(valStr.substring(0, valStr.length - 1) + ((+valStr[valStr.length - 1]) + 1));
146
- }
147
- else if (/0{7,}\d$/.test(valStr)) {
148
- rulerArray[index] = +(valStr.replace(/0{7,}\d$/, ''));
149
- }
150
- }
151
- }
152
- return rulerArray;
17
+ function ruler (maxValue, minValue, num, option) {
18
+ if (maxValue < minValue) {
19
+ var temp = minValue;
20
+ minValue = maxValue;
21
+ maxValue = temp;
22
+ }
23
+ else if (maxValue == minValue) {
24
+ return [maxValue];
25
+ }
26
+ var times100 = (function (_value) {
27
+ var _times100_base = (_value < 100 && _value > -100) ? 10 : 0.1;
28
+ var _times100 = -1, _tiemsValue = _value;
29
+ while (_times100_base == 10 ?
30
+ (_tiemsValue >= -100 && _tiemsValue <= 100)
31
+ :
32
+ (_tiemsValue <= -100 || _tiemsValue >= 100)) {
33
+ _times100 += 1;
34
+ _tiemsValue *= _times100_base;
35
+ }
36
+ if (_times100_base == 10) {
37
+ return Math.pow(10, _times100);
38
+ }
39
+ else {
40
+ var temp = "0.";
41
+ for (var i = 1; i < _times100; i++) {
42
+ temp += "0";
43
+ }
44
+ return +(temp + "1");
45
+ }
46
+ })(maxValue - minValue);
47
+ var distance100_oral = Math.ceil((maxValue - minValue) * times100 / num);
48
+ var getResult = function (changValue) {
49
+ var distance100 = {
50
+ 3: 2,
51
+ 4: 5,
52
+ 6: 5,
53
+ 7: 5,
54
+ 8: 10,
55
+ 9: 10,
56
+ 11: 10,
57
+ 12: 10,
58
+ 13: 15,
59
+ 14: 15,
60
+ 16: 15,
61
+ 17: 15,
62
+ 18: 20,
63
+ 19: 20,
64
+ 21: 20,
65
+ 22: 20,
66
+ 23: 25,
67
+ 24: 25,
68
+ 26: 25,
69
+ 27: 25
70
+ }[distance100_oral + changValue] || (distance100_oral + changValue);
71
+ var distance = distance100 / times100;
72
+ var begin = Math.floor(minValue / distance) * distance;
73
+ var rulerArray = [];
74
+ rulerArray.push(begin);
75
+ for (var index = 1; rulerArray[rulerArray.length - 1] < maxValue; index++) {
76
+ rulerArray.push(begin + distance * index);
77
+ }
78
+ return rulerArray;
79
+ };
80
+ var rulerArray = getResult(0);
81
+ var balanceMax = function () {
82
+ var rulerArray_temp = [];
83
+ var changeDist = rulerArray[rulerArray.length - 1] - (option === null || option === void 0 ? void 0 : option.max);
84
+ for (var index = 0; index < rulerArray.length; index++) {
85
+ if (index + 1 < rulerArray.length && rulerArray[index + 1] - changeDist < minValue) ;
86
+ else {
87
+ rulerArray_temp.push(rulerArray[index] - changeDist);
88
+ }
89
+ }
90
+ return rulerArray_temp;
91
+ };
92
+ var balanceMin = function () {
93
+ var rulerArray_temp = [];
94
+ var changeDist = rulerArray[0] - (option === null || option === void 0 ? void 0 : option.min);
95
+ for (var index = 0; index < rulerArray.length; index++) {
96
+ rulerArray_temp[index] = rulerArray[index] - changeDist;
97
+ if (maxValue <= rulerArray_temp[index])
98
+ break;
99
+ }
100
+ return rulerArray_temp;
101
+ };
102
+ if (option) {
103
+ if ('max' in option && 'min' in option && option.max >= maxValue && option.min <= minValue) {
104
+ var isAnswer = function () {
105
+ if (rulerArray[0] >= option.min && rulerArray[rulerArray.length - 1] <= option.max)
106
+ return true;
107
+ var rulerArray_max = balanceMax();
108
+ if (rulerArray_max[0] >= option.min && rulerArray_max[rulerArray_max.length - 1] <= option.max) {
109
+ rulerArray = rulerArray_max;
110
+ return true;
111
+ }
112
+ var rulerArray_min = balanceMin();
113
+ if (rulerArray_min[0] >= option.min && rulerArray_min[rulerArray_max.length - 1] <= option.max) {
114
+ rulerArray = rulerArray_min;
115
+ return true;
116
+ }
117
+ };
118
+ if (isAnswer())
119
+ return rulerArray;
120
+ for (var changValue = 1; changValue < 100; changValue++) {
121
+ rulerArray = getResult(changValue);
122
+ if (isAnswer())
123
+ return rulerArray;
124
+ rulerArray = getResult(-changValue);
125
+ if (isAnswer())
126
+ return rulerArray;
127
+ }
128
+ }
129
+ if ('max' in option && option.max >= maxValue) {
130
+ if (option.max < rulerArray[rulerArray.length - 1]) {
131
+ rulerArray = balanceMax();
132
+ }
133
+ }
134
+ else if ('min' in option && option.min <= minValue) {
135
+ if (option.min > rulerArray[0]) {
136
+ rulerArray = balanceMin();
137
+ }
138
+ }
139
+ }
140
+ for (var index = 0; index < rulerArray.length; index++) {
141
+ var valStr = rulerArray[index] + "";
142
+ if (/\./.test(valStr)) {
143
+ if (/9{7,}$/.test(valStr)) {
144
+ valStr = valStr.replace(/9{7,}$/, '');
145
+ rulerArray[index] = +(valStr.substring(0, valStr.length - 1) + ((+valStr[valStr.length - 1]) + 1));
146
+ }
147
+ else if (/0{7,}\d$/.test(valStr)) {
148
+ rulerArray[index] = +(valStr.replace(/0{7,}\d$/, ''));
149
+ }
150
+ }
151
+ }
152
+ return rulerArray;
153
153
  }
154
154
 
155
155
  return ruler;
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.8.0
2
+ * VISLite JavaScript Library v0.8.1-alpha.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Mar 02 2024 12:41:38 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Apr 02 2024 14:46:44 GMT+0800 (China Standard Time)
10
10
  */
11
11
  var n,e;n=this,e=function(){"use strict";return function(n,e,r,t){if(n<e){var i=e;e=n,n=i}else if(n==e)return[n];var f=function(n){for(var e=n<100&&n>-100?10:.1,r=-1,t=n;10==e?t>=-100&&t<=100:t<=-100||t>=100;)r+=1,t*=e;if(10==e)return Math.pow(10,r);for(var i="0.",f=1;f<r;f++)i+="0";return+(i+"1")}(n-e),u=Math.ceil((n-e)*f/r),a=function(r){var t=({3:2,4:5,6:5,7:5,8:10,9:10,11:10,12:10,13:15,14:15,16:15,17:15,18:20,19:20,21:20,22:20,23:25,24:25,26:25,27:25}[u+r]||u+r)/f,i=Math.floor(e/t)*t,a=[];a.push(i);for(var o=1;a[a.length-1]<n;o++)a.push(i+t*o);return a},o=a(0),l=function(){for(var n=[],r=o[o.length-1]-(null==t?void 0:t.max),i=0;i<o.length;i++)i+1<o.length&&o[i+1]-r<e||n.push(o[i]-r);return n},h=function(){for(var e=[],r=o[0]-(null==t?void 0:t.min),i=0;i<o.length&&(e[i]=o[i]-r,!(n<=e[i]));i++);return e};if(t){if("max"in t&&"min"in t&&t.max>=n&&t.min<=e){var m=function(){if(o[0]>=t.min&&o[o.length-1]<=t.max)return!0;var n=l();if(n[0]>=t.min&&n[n.length-1]<=t.max)return o=n,!0;var e=h();return e[0]>=t.min&&e[n.length-1]<=t.max?(o=e,!0):void 0};if(m())return o;for(var v=1;v<100;v++){if(o=a(v),m())return o;if(o=a(-v),m())return o}}"max"in t&&t.max>=n?t.max<o[o.length-1]&&(o=l()):"min"in t&&t.min<=e&&t.min>o[0]&&(o=h())}for(var s=0;s<o.length;s++){var d=o[s]+"";/\./.test(d)&&(/9{7,}$/.test(d)?(d=d.replace(/9{7,}$/,""),o[s]=+(d.substring(0,d.length-1)+(+d[d.length-1]+1))):/0{7,}\d$/.test(d)&&(o[s]=+d.replace(/0{7,}\d$/,"")))}return o}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(n="undefined"!=typeof globalThis?globalThis:n||self).VISLite_ruler=e();
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.8.0
2
+ * VISLite JavaScript Library v0.8.1-alpha.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Mar 02 2024 12:41:38 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Apr 02 2024 14:46:44 GMT+0800 (China Standard Time)
10
10
  */
11
11
  (function (global, factory) {
12
12
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -14,11 +14,11 @@
14
14
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.VISLite_scale = factory());
15
15
  })(this, (function () { 'use strict';
16
16
 
17
- function scale (cx, cy, times, x, y) {
18
- return [
19
- times * (x - cx) + cx,
20
- times * (y - cy) + cy
21
- ];
17
+ function scale (cx, cy, times, x, y) {
18
+ return [
19
+ times * (x - cx) + cx,
20
+ times * (y - cy) + cy
21
+ ];
22
22
  }
23
23
 
24
24
  return scale;
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.8.0
2
+ * VISLite JavaScript Library v0.8.1-alpha.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Mar 02 2024 12:41:38 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Apr 02 2024 14:46:44 GMT+0800 (China Standard Time)
10
10
  */
11
11
  var e,t;e=this,t=function(){"use strict";return function(e,t,n,o,f){return[n*(o-e)+e,n*(f-t)+t]}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).VISLite_scale=t();
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.8.0
2
+ * VISLite JavaScript Library v0.8.1-alpha.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Mar 02 2024 12:41:38 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Apr 02 2024 14:46:44 GMT+0800 (China Standard Time)
10
10
  */
11
11
  (function (global, factory) {
12
12
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -14,55 +14,55 @@
14
14
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.VISLite_throttle = factory());
15
15
  })(this, (function () { 'use strict';
16
16
 
17
- function mergeOption (option, defaultOption) {
18
- for (var key in option) {
19
- defaultOption[key] = option[key];
20
- }
21
- return defaultOption;
17
+ function mergeOption (option, defaultOption) {
18
+ for (var key in option) {
19
+ defaultOption[key] = option[key];
20
+ }
21
+ return defaultOption;
22
22
  }
23
23
 
24
- function throttle (callback, option) {
25
- if (option === void 0) { option = {}; }
26
- option = mergeOption(option, {
27
- time: 200,
28
- keep: false,
29
- opportunity: "end"
30
- });
31
- var hadInterval = false;
32
- var hadClick = false;
33
- var oneClick = false;
34
- var arg;
35
- return function () {
36
- var _this = this;
37
- arg = arguments;
38
- if (!hadInterval) {
39
- if (option.opportunity != 'end') {
40
- callback.apply(_this, arg);
41
- }
42
- hadInterval = true;
43
- var interval_1 = setInterval(function () {
44
- if (hadClick) {
45
- if (!option.keep) {
46
- callback.apply(_this, arg);
47
- }
48
- }
49
- else {
50
- if (option.opportunity != 'begin') {
51
- if (oneClick || option.opportunity == 'end')
52
- callback.apply(_this, arg);
53
- }
54
- hadInterval = false;
55
- oneClick = false;
56
- clearInterval(interval_1);
57
- }
58
- hadClick = false;
59
- }, option.time);
60
- }
61
- else {
62
- hadClick = true;
63
- oneClick = true;
64
- }
65
- };
24
+ function throttle (callback, option) {
25
+ if (option === void 0) { option = {}; }
26
+ option = mergeOption(option, {
27
+ time: 200,
28
+ keep: false,
29
+ opportunity: "end"
30
+ });
31
+ var hadInterval = false;
32
+ var hadClick = false;
33
+ var oneClick = false;
34
+ var arg;
35
+ return function () {
36
+ var _this = this;
37
+ arg = arguments;
38
+ if (!hadInterval) {
39
+ if (option.opportunity != 'end') {
40
+ callback.apply(_this, arg);
41
+ }
42
+ hadInterval = true;
43
+ var interval_1 = setInterval(function () {
44
+ if (hadClick) {
45
+ if (!option.keep) {
46
+ callback.apply(_this, arg);
47
+ }
48
+ }
49
+ else {
50
+ if (option.opportunity != 'begin') {
51
+ if (oneClick || option.opportunity == 'end')
52
+ callback.apply(_this, arg);
53
+ }
54
+ hadInterval = false;
55
+ oneClick = false;
56
+ clearInterval(interval_1);
57
+ }
58
+ hadClick = false;
59
+ }, option.time);
60
+ }
61
+ else {
62
+ hadClick = true;
63
+ oneClick = true;
64
+ }
65
+ };
66
66
  }
67
67
 
68
68
  return throttle;
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.8.0
2
+ * VISLite JavaScript Library v0.8.1-alpha.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Mar 02 2024 12:41:38 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Apr 02 2024 14:46:44 GMT+0800 (China Standard Time)
10
10
  */
11
11
  var e,t;e=this,t=function(){"use strict";return function(e,t){void 0===t&&(t={}),t=function(e,t){for(var n in e)t[n]=e[n];return t}(t,{time:200,keep:!1,opportunity:"end"});var n,o=!1,i=!1,r=!1;return function(){var p=this;if(n=arguments,o)i=!0,r=!0;else{"end"!=t.opportunity&&e.apply(p,n),o=!0;var f=setInterval((function(){i?t.keep||e.apply(p,n):("begin"!=t.opportunity&&(r||"end"==t.opportunity)&&e.apply(p,n),o=!1,r=!1,clearInterval(f)),i=!1}),t.time)}}}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).VISLite_throttle=t();