@fc-plot/ts-graph 0.7.4 → 0.9.1
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/assets/style.less +7 -3
- package/dist/BundleReport.html +2 -2
- package/dist/index.css +3 -0
- package/dist/index.css.map +1 -1
- package/dist/index.js +1 -1
- package/examples/index.js +20 -16
- package/package.json +1 -1
- package/src/index.ts +34 -13
- package/src/interface.ts +13 -2
- package/src/legend.ts +5 -0
- package/src/line.ts +48 -41
- package/src/tooltip.ts +2 -1
- package/src/utils.ts +1 -1
package/assets/style.less
CHANGED
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
}
|
|
12
12
|
.ts-graph-tooltip-content {
|
|
13
13
|
font-size: 12px;
|
|
14
|
-
font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica,
|
|
14
|
+
font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica,
|
|
15
|
+
sans-serif;
|
|
15
16
|
font-size: 12px;
|
|
16
17
|
white-space: nowrap;
|
|
17
18
|
color: rgb(51, 51, 51);
|
|
@@ -49,13 +50,16 @@
|
|
|
49
50
|
margin-right: 10px;
|
|
50
51
|
word-break: break-all;
|
|
51
52
|
}
|
|
53
|
+
.ts-graph-legend-item-active {
|
|
54
|
+
color: #999;
|
|
55
|
+
}
|
|
52
56
|
.ts-graph-legend-item-symbol {
|
|
53
57
|
position: relative;
|
|
54
58
|
display: inline-block;
|
|
55
59
|
vertical-align: middle;
|
|
56
60
|
text-align: center;
|
|
57
61
|
width: 20px;
|
|
58
|
-
height: 20px
|
|
62
|
+
height: 20px;
|
|
59
63
|
margin: 0 5px;
|
|
60
64
|
}
|
|
61
65
|
.ts-graph-legend-item-symbol-line {
|
|
@@ -78,7 +82,7 @@
|
|
|
78
82
|
}
|
|
79
83
|
.ts-graph-zoom-marker {
|
|
80
84
|
position: absolute;
|
|
81
|
-
background: rgba(51,92,173,0.25);
|
|
85
|
+
background: rgba(51, 92, 173, 0.25);
|
|
82
86
|
}
|
|
83
87
|
.ts-graph-zoom-resetBtn {
|
|
84
88
|
display: none;
|
package/dist/BundleReport.html
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8"/>
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
6
|
-
<title>@fc-plot/ts-graph [
|
|
6
|
+
<title>@fc-plot/ts-graph [30 Dec 2021 at 11:07]</title>
|
|
7
7
|
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
|
|
8
8
|
|
|
9
9
|
<script>
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
<body>
|
|
47
47
|
<div id="app"></div>
|
|
48
48
|
<script>
|
|
49
|
-
window.chartData = [{"label":"index.js","isAsset":true,"statSize":
|
|
49
|
+
window.chartData = [{"label":"index.js","isAsset":true,"statSize":93518,"parsedSize":44842,"gzipSize":12909,"groups":[{"label":"node_modules","path":"./node_modules","statSize":19473,"groups":[{"label":"@babel/runtime/helpers","path":"./node_modules/@babel/runtime/helpers","statSize":3683,"groups":[{"id":2,"label":"classCallCheck.js","path":"./node_modules/@babel/runtime/helpers/classCallCheck.js","statSize":274,"parsedSize":169,"gzipSize":140},{"id":3,"label":"createClass.js","path":"./node_modules/@babel/runtime/helpers/createClass.js","statSize":752,"parsedSize":349,"gzipSize":228},{"id":4,"label":"defineProperty.js","path":"./node_modules/@babel/runtime/helpers/defineProperty.js","statSize":367,"parsedSize":195,"gzipSize":154},{"id":5,"label":"toConsumableArray.js","path":"./node_modules/@babel/runtime/helpers/toConsumableArray.js","statSize":521,"parsedSize":155,"gzipSize":129},{"id":6,"label":"arrayLikeToArray.js","path":"./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","statSize":312,"parsedSize":181,"gzipSize":150},{"id":9,"label":"arrayWithoutHoles.js","path":"./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","statSize":266,"parsedSize":134,"gzipSize":118},{"id":10,"label":"iterableToArray.js","path":"./node_modules/@babel/runtime/helpers/iterableToArray.js","statSize":274,"parsedSize":189,"gzipSize":153},{"id":11,"label":"unsupportedIterableToArray.js","path":"./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","statSize":609,"parsedSize":374,"gzipSize":271},{"id":12,"label":"nonIterableSpread.js","path":"./node_modules/@babel/runtime/helpers/nonIterableSpread.js","statSize":308,"parsedSize":244,"gzipSize":193}],"parsedSize":1990,"gzipSize":719},{"label":"events","path":"./node_modules/events","statSize":14890,"groups":[{"id":7,"label":"events.js","path":"./node_modules/events/events.js","statSize":14890,"parsedSize":6026,"gzipSize":2003}],"parsedSize":6026,"gzipSize":2003},{"label":"worker-loader/dist/workers","path":"./node_modules/worker-loader/dist/workers","statSize":900,"groups":[{"id":13,"label":"InlineWorker.js","path":"./node_modules/worker-loader/dist/workers/InlineWorker.js","statSize":900,"parsedSize":460,"gzipSize":287}],"parsedSize":460,"gzipSize":287}],"parsedSize":8476,"gzipSize":2748},{"label":"src","path":"./src","statSize":72073,"groups":[{"id":8,"label":"worker.ts","path":"./src/worker.ts","statSize":3909,"parsedSize":3767,"gzipSize":1506},{"id":15,"label":"index.ts + 8 modules (concatenated)","path":"./src/index.ts + 8 modules (concatenated)","statSize":68164,"parsedSize":31182,"gzipSize":9419,"concatenated":true,"groups":[{"label":"src","path":"./src/index.ts + 8 modules (concatenated)/src","statSize":60077,"groups":[{"id":null,"label":"index.ts","path":"./src/index.ts + 8 modules (concatenated)/src/index.ts","statSize":23435,"parsedSize":10720,"gzipSize":3238,"inaccurateSizes":true},{"id":null,"label":"utils.ts","path":"./src/index.ts + 8 modules (concatenated)/src/utils.ts","statSize":1720,"parsedSize":786,"gzipSize":237,"inaccurateSizes":true},{"id":null,"label":"xAxis.ts","path":"./src/index.ts + 8 modules (concatenated)/src/xAxis.ts","statSize":4306,"parsedSize":1969,"gzipSize":595,"inaccurateSizes":true},{"id":null,"label":"yAxis.ts","path":"./src/index.ts + 8 modules (concatenated)/src/yAxis.ts","statSize":5770,"parsedSize":2639,"gzipSize":797,"inaccurateSizes":true},{"id":null,"label":"tooltip.ts","path":"./src/index.ts + 8 modules (concatenated)/src/tooltip.ts","statSize":13624,"parsedSize":6232,"gzipSize":1882,"inaccurateSizes":true},{"id":null,"label":"line.ts","path":"./src/index.ts + 8 modules (concatenated)/src/line.ts","statSize":3363,"parsedSize":1538,"gzipSize":464,"inaccurateSizes":true},{"id":null,"label":"zoom.ts","path":"./src/index.ts + 8 modules (concatenated)/src/zoom.ts","statSize":4120,"parsedSize":1884,"gzipSize":569,"inaccurateSizes":true},{"id":null,"label":"legend.ts","path":"./src/index.ts + 8 modules (concatenated)/src/legend.ts","statSize":3739,"parsedSize":1710,"gzipSize":516,"inaccurateSizes":true}],"parsedSize":27482,"gzipSize":8301,"inaccurateSizes":true},{"label":"node_modules/resize-detector/esm","path":"./src/index.ts + 8 modules (concatenated)/node_modules/resize-detector/esm","statSize":8042,"groups":[{"id":null,"label":"index.js","path":"./src/index.ts + 8 modules (concatenated)/node_modules/resize-detector/esm/index.js","statSize":8042,"parsedSize":3678,"gzipSize":1111,"inaccurateSizes":true}],"parsedSize":3678,"gzipSize":1111,"inaccurateSizes":true}]}],"parsedSize":34949,"gzipSize":10503},{"label":"assets","path":"./assets","statSize":1972,"groups":[{"id":14,"label":"style.less","path":"./assets/style.less","statSize":1972,"parsedSize":17,"gzipSize":37}],"parsedSize":17,"gzipSize":37}]},{"label":"d29ef73184ec1d0e8dbc.worker.js","isAsset":true,"statSize":6014,"parsedSize":3674,"gzipSize":1479,"groups":[{"label":"node_modules/@babel/runtime/helpers","path":"./node_modules/@babel/runtime/helpers","statSize":367,"groups":[{"id":0,"label":"defineProperty.js","path":"./node_modules/@babel/runtime/helpers/defineProperty.js","statSize":367,"parsedSize":195,"gzipSize":154}],"parsedSize":195,"gzipSize":154},{"label":"src","path":"./src","statSize":5647,"groups":[{"id":1,"label":"worker.ts + 1 modules (concatenated)","path":"./src/worker.ts + 1 modules (concatenated)","statSize":5647,"parsedSize":2507,"gzipSize":1066,"concatenated":true,"groups":[{"label":"src","path":"./src/worker.ts + 1 modules (concatenated)/src","statSize":5642,"groups":[{"id":null,"label":"worker.ts","path":"./src/worker.ts + 1 modules (concatenated)/src/worker.ts","statSize":596,"parsedSize":264,"gzipSize":112,"inaccurateSizes":true},{"id":null,"label":"getNearestPoints.ts","path":"./src/worker.ts + 1 modules (concatenated)/src/getNearestPoints.ts","statSize":5046,"parsedSize":2240,"gzipSize":952,"inaccurateSizes":true}],"parsedSize":2504,"gzipSize":1065,"inaccurateSizes":true}]}],"parsedSize":2507,"gzipSize":1066}]}];
|
|
50
50
|
window.defaultSizes = "parsed";
|
|
51
51
|
</script>
|
|
52
52
|
</body>
|
package/dist/index.css
CHANGED
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.css","sources":["webpack:///./assets/style.less","webpack:///style.less"],"sourcesContent":[".d3-graph-container {\n user-select: none;\n}\n\n.ts-graph-tooltip {\n visibility: hidden;\n position: fixed;\n pointer-events: none;\n user-select: none;\n width: 100%;\n}\n.ts-graph-tooltip-content {\n font-size: 12px;\n font-family: \"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica
|
|
1
|
+
{"version":3,"file":"index.css","sources":["webpack:///./assets/style.less","webpack:///style.less"],"sourcesContent":[".d3-graph-container {\n user-select: none;\n}\n\n.ts-graph-tooltip {\n visibility: hidden;\n position: fixed;\n pointer-events: none;\n user-select: none;\n width: 100%;\n}\n.ts-graph-tooltip-content {\n font-size: 12px;\n font-family: \"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica,\n sans-serif;\n font-size: 12px;\n white-space: nowrap;\n color: rgb(51, 51, 51);\n margin-left: 0px;\n margin-top: 0px;\n background: rgba(255, 255, 255, 0.85);\n border: 1px solid silver;\n border-radius: 3px;\n box-shadow: 1px 1px 1px #888;\n white-space: nowrap;\n padding: 5px;\n position: fixed;\n z-index: 9999;\n}\n.ts-graph-tooltip ul {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n.ts-graph-tooltip ul li {\n table-layout: fixed;\n word-wrap: break-word;\n white-space: normal;\n}\n.ts-graph-zoom {\n position: relative;\n}\n.ts-graph-legend {\n position: relative;\n padding: 0 10px;\n}\n.ts-graph-legend-item {\n cursor: pointer;\n display: inline-block;\n margin-right: 10px;\n word-break: break-all;\n}\n.ts-graph-legend-item-active {\n color: #999;\n}\n.ts-graph-legend-item-symbol {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n text-align: center;\n width: 20px;\n height: 20px;\n margin: 0 5px;\n}\n.ts-graph-legend-item-symbol-line {\n position: absolute;\n display: inline-block;\n width: 20px;\n top: 9px;\n left: 0;\n border-width: 1px;\n border-style: solid;\n}\n.ts-graph-legend-item-symbol-point {\n position: absolute;\n display: inline-block;\n width: 10px;\n height: 10px;\n top: 5px;\n left: 5px;\n border-radius: 10px;\n}\n.ts-graph-zoom-marker {\n position: absolute;\n background: rgba(51, 92, 173, 0.25);\n}\n.ts-graph-zoom-resetBtn {\n display: none;\n position: absolute;\n z-index: 1;\n top: 10px;\n right: 10px;\n background: #f7f7f7;\n font-size: 12px;\n text-align: center;\n width: 84px;\n height: 31px;\n line-height: 31px;\n border: 1px solid #ccc;\n cursor: pointer;\n color: #333;\n}\n.ts-graph-zoom-resetBtn:hover {\n background: #e6e6e6;\n}\n\n",".d3-graph-container {\n user-select: none;\n}\n.ts-graph-tooltip {\n visibility: hidden;\n position: fixed;\n pointer-events: none;\n user-select: none;\n width: 100%;\n}\n.ts-graph-tooltip-content {\n font-family: \"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif;\n font-size: 12px;\n color: #333333;\n margin-left: 0px;\n margin-top: 0px;\n background: rgba(255, 255, 255, 0.85);\n border: 1px solid silver;\n border-radius: 3px;\n box-shadow: 1px 1px 1px #888;\n white-space: nowrap;\n padding: 5px;\n position: fixed;\n z-index: 9999;\n}\n.ts-graph-tooltip ul {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n.ts-graph-tooltip ul li {\n table-layout: fixed;\n word-wrap: break-word;\n white-space: normal;\n}\n.ts-graph-zoom {\n position: relative;\n}\n.ts-graph-legend {\n position: relative;\n padding: 0 10px;\n}\n.ts-graph-legend-item {\n cursor: pointer;\n display: inline-block;\n margin-right: 10px;\n word-break: break-all;\n}\n.ts-graph-legend-item-active {\n color: #999;\n}\n.ts-graph-legend-item-symbol {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n text-align: center;\n width: 20px;\n height: 20px;\n margin: 0 5px;\n}\n.ts-graph-legend-item-symbol-line {\n position: absolute;\n display: inline-block;\n width: 20px;\n top: 9px;\n left: 0;\n border-width: 1px;\n border-style: solid;\n}\n.ts-graph-legend-item-symbol-point {\n position: absolute;\n display: inline-block;\n width: 10px;\n height: 10px;\n top: 5px;\n left: 5px;\n border-radius: 10px;\n}\n.ts-graph-zoom-marker {\n position: absolute;\n background: rgba(51, 92, 173, 0.25);\n}\n.ts-graph-zoom-resetBtn {\n display: none;\n position: absolute;\n z-index: 1;\n top: 10px;\n right: 10px;\n background: #f7f7f7;\n font-size: 12px;\n text-align: center;\n width: 84px;\n height: 31px;\n line-height: 31px;\n border: 1px solid #ccc;\n cursor: pointer;\n color: #333;\n}\n.ts-graph-zoom-resetBtn:hover {\n background: #e6e6e6;\n}\n"],"mappings":"AAAA;AACA;ACCA;ADEA;AACA;AACA;AACA;AACA;AACA;ACAA;ADEA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACHA;ADKA;AACA;AACA;AACA;ACHA;ADKA;AACA;AACA;AACA;ACHA;ADKA;AACA;ACHA;ADKA;AACA;AACA;ACHA;ADKA;AACA;AACA;AACA;AACA;ACHA;ADKA;AACA;ACHA;ADKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACHA;ADKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACHA;ADKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACHA;ADKA;AACA;AACA;ACHA;ADKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACHA;ADKA;AACA;ACHA;;","sourceRoot":""}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("d3"),require("lodash"));else if("function"==typeof define&&define.amd)define([,],t);else{var n="object"==typeof exports?t(require("d3"),require("lodash")):t(e.d3,e._);for(var i in n)("object"==typeof exports?exports:e)[i]=n[i]}}(window,(function(e,t){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(i,o,function(t){return e[t]}.bind(null,o));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=15)}([function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}e.exports=function(e,t,i){return t&&n(e.prototype,t),i&&n(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,n){var i=n(8),o=n(9),r=n(10),s=n(11);e.exports=function(e){return i(e)||o(e)||r(e)||s()},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,n){e.exports=function(){return n(13)('!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t){return"X"===t?1e3*e:e}function a(e){var t,r=e.series,n=e.x,o=e.xkey,i=e.ykey,a=e.timestamp,c=e.fillNull,f=(t=function(e,t){return(r=u(e[o],a))<(n=t)?-1:r>n?1:r>=n?0:NaN;var r,n},{left:function(e,r,n,o){for(null==n&&(n=0),null==o&&(o=e.length);n<o;){var i=n+o>>>1;t(e[i],r)<0?n=i+1:o=i}return n},right:function(e,r,n,o){for(null==n&&(n=0),null==o&&(o=e.length);n<o;){var i=n+o>>>1;t(e[i],r)>0?o=i:n=i+1}return n}}).left,s=new Date(n).getTime(),p=[];return"[object Array]"!==Object.prototype.toString.call(r)?[]:(r.forEach((function(e,t){if(!1!==e.visible){var r=e.name,y=e.color,b=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&"[object Function]"===Object.prototype.toString.call(t)&&t(n)&&(r[n]=e[n]);return r}(e,(function(e){return"data"!==e})),d=e.data,v=void 0===d?[]:d;if("[object Array]"===Object.prototype.toString.call(v)&&0!==(v=v.filter((function(e){return"number"==typeof e[i]||"number"==typeof c}))).length){var O,m=f(v,n),j=v[m-1],g=v[m];if(j&&g){var x=u(j[o],a),P=u(g[o],a),h=j[i],S=g[i];null===h&&void 0!==c&&(h=c),null===S&&void 0!==c&&(S=c),O=s-x<P-s?l(l({},j),{},{name:r,color:y,timestamp:x,value:h,serieIndex:t,serieOptions:b}):l(l({},g),{},{name:r,color:y,timestamp:P,value:S,serieIndex:t,serieOptions:b}),p.push(O)}else if(j){var w=u(j[o],a),_=j[i];null===_&&void 0!==c&&(_=c),O=l(l({},j),{},{name:r,color:y,timestamp:w,value:_,serieIndex:t,serieOptions:b}),p.push(O)}else if(g){var k=u(g[o],a),M=g[i];null===M&&void 0!==c&&(M=c),O=l(l({},g),{},{name:r,color:y,timestamp:k,value:M,serieIndex:t,serieOptions:b}),p.push(O)}}}})),p)}var c={},f={},s=self;s.addEventListener("message",(function(e){var t=e.data;t.id&&(c[t.id]&&t.flag||(c[t.id]=t.str,f[t.id]=JSON.parse(t.str)));var r=a({x:t.x,xkey:t.xkey,ykey:t.ykey,timestamp:t.timestamp,series:f[t.id],fillNull:t.fillNull});s.postMessage(r)}));t.default=s}]);\n//# sourceMappingURL=d29ef73184ec1d0e8dbc.worker.js.map',n.p+"d29ef73184ec1d0e8dbc.worker.js")}},function(e,t,n){var i=n(6);e.exports=function(e){if(Array.isArray(e))return i(e)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,n){var i=n(6);e.exports=function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,n){"use strict";var i,o="object"==typeof Reflect?Reflect:null,r=o&&"function"==typeof o.apply?o.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};i=o&&"function"==typeof o.ownKeys?o.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(e,t){return new Promise((function(n,i){function o(n){e.removeListener(t,r),i(n)}function r(){"function"==typeof e.removeListener&&e.removeListener("error",o),n([].slice.call(arguments))}y(e,t,r,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&y(e,"error",t,n)}(e,o,{once:!0})}))},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var c=10;function l(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function u(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function h(e,t,n,i){var o,r,s,a;if(l(n),void 0===(r=e._events)?(r=e._events=Object.create(null),e._eventsCount=0):(void 0!==r.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),r=e._events),s=r[t]),void 0===s)s=r[t]=n,++e._eventsCount;else if("function"==typeof s?s=r[t]=i?[n,s]:[s,n]:i?s.unshift(n):s.push(n),(o=u(e))>0&&s.length>o&&!s.warned){s.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=s.length,a=c,console&&console.warn&&console.warn(a)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},o=d.bind(i);return o.listener=n,i.wrapFn=o,o}function p(e,t,n){var i=e._events;if(void 0===i)return[];var o=i[t];return void 0===o?[]:"function"==typeof o?n?[o.listener||o]:[o]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(o):m(o,o.length)}function v(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function m(e,t){for(var n=new Array(t),i=0;i<t;++i)n[i]=e[i];return n}function y(e,t,n,i){if("function"==typeof e.on)i.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function o(r){i.once&&e.removeEventListener(t,o),n(r)}))}}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return c},set:function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");c=e}}),a.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},a.prototype.getMaxListeners=function(){return u(this)},a.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i="error"===e,o=this._events;if(void 0!==o)i=i&&void 0===o.error;else if(!i)return!1;if(i){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=o[e];if(void 0===c)return!1;if("function"==typeof c)r(c,this,t);else{var l=c.length,u=m(c,l);for(n=0;n<l;++n)r(u[n],this,t)}return!0},a.prototype.addListener=function(e,t){return h(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return h(this,e,t,!0)},a.prototype.once=function(e,t){return l(t),this.on(e,f(this,e,t)),this},a.prototype.prependOnceListener=function(e,t){return l(t),this.prependListener(e,f(this,e,t)),this},a.prototype.removeListener=function(e,t){var n,i,o,r,s;if(l(t),void 0===(i=this._events))return this;if(void 0===(n=i[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(o=-1,r=n.length-1;r>=0;r--)if(n[r]===t||n[r].listener===t){s=n[r].listener,o=r;break}if(o<0)return this;0===o?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,o),1===n.length&&(i[e]=n[0]),void 0!==i.removeListener&&this.emit("removeListener",e,s||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,n,i;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var o,r=Object.keys(n);for(i=0;i<r.length;++i)"removeListener"!==(o=r[i])&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this},a.prototype.listeners=function(e){return p(this,e,!0)},a.prototype.rawListeners=function(e){return p(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):v.call(e,t)},a.prototype.listenerCount=v,a.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},function(e,t,n){"use strict";var i=window.URL||window.webkitURL;e.exports=function(e,t){try{try{var n;try{(n=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder)).append(e),n=n.getBlob()}catch(t){n=new Blob([e])}return new Worker(i.createObjectURL(n))}catch(t){return new Worker("data:application/javascript,"+encodeURIComponent(e))}}catch(e){if(!t)throw Error("Inline worker is not supported");return new Worker(t)}}},function(e,t,n){},function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return F}));var i=n(5),o=n.n(i),r=n(4),s=n.n(r),a=n(2),c=n.n(a),l=n(3),u=n.n(l),h=n(0),d=n(1);let f=null;let p=null;function v(e,t={}){let n=document.createElement(e);return Object.keys(t).forEach(e=>{n[e]=t[e]}),n}function m(e,t,n){return(window.getComputedStyle(e,n||null)||{display:"none"})[t]}function y(e){if(!document.documentElement.contains(e))return{detached:!0,rendered:!1};let t=e;for(;t!==document;){if("none"===m(t,"display"))return{detached:!1,rendered:!1};t=t.parentNode}return{detached:!1,rendered:!0}}let g=0,b=null;function _(e,t){if(e.__resize_mutation_handler__||(e.__resize_mutation_handler__=x.bind(e)),!e.__resize_listeners__)if(e.__resize_listeners__=[],window.ResizeObserver){let{offsetWidth:t,offsetHeight:n}=e,i=new ResizeObserver(()=>{(e.__resize_observer_triggered__||(e.__resize_observer_triggered__=!0,e.offsetWidth!==t||e.offsetHeight!==n))&&k(e)}),{detached:o,rendered:r}=y(e);e.__resize_observer_triggered__=!1===o&&!1===r,e.__resize_observer__=i,i.observe(e)}else if(e.attachEvent&&e.addEventListener)e.__resize_legacy_resize_handler__=function(){k(e)},e.attachEvent("onresize",e.__resize_legacy_resize_handler__),document.addEventListener("DOMSubtreeModified",e.__resize_mutation_handler__);else if(g||(b=function(e){var t=document.createElement("style");return t.type="text/css",t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e)),(document.querySelector("head")||document.body).appendChild(t),t}('.resize-triggers{visibility:hidden;opacity:0;pointer-events:none}.resize-contract-trigger,.resize-contract-trigger:before,.resize-expand-trigger,.resize-triggers{content:"";position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden}.resize-contract-trigger,.resize-expand-trigger{background:#eee;overflow:auto}.resize-contract-trigger:before{width:200%;height:200%}')),function(e){let t=m(e,"position");t&&"static"!==t||(e.style.position="relative");e.__resize_old_position__=t,e.__resize_last__={};let n=v("div",{className:"resize-triggers"}),i=v("div",{className:"resize-expand-trigger"}),o=v("div"),r=v("div",{className:"resize-contract-trigger"});i.appendChild(o),n.appendChild(i),n.appendChild(r),e.appendChild(n),e.__resize_triggers__={triggers:n,expand:i,expandChild:o,contract:r},O(e),e.addEventListener("scroll",w,!0),e.__resize_last__={width:e.offsetWidth,height:e.offsetHeight}}(e),e.__resize_rendered__=y(e).rendered,window.MutationObserver){let t=new MutationObserver(e.__resize_mutation_handler__);t.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0}),e.__resize_mutation_observer__=t}e.__resize_listeners__.push(t),g++}function x(){let{rendered:e,detached:t}=y(this);e!==this.__resize_rendered__&&(!t&&this.__resize_triggers__&&(O(this),this.addEventListener("scroll",w,!0)),this.__resize_rendered__=e,k(this))}function w(){var e,t;O(this),this.__resize_raf__&&(e=this.__resize_raf__,p||(p=(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||function(e){clearTimeout(e)}).bind(window)),p(e)),this.__resize_raf__=(t=()=>{let e=function(e){let{width:t,height:n}=e.__resize_last__,{offsetWidth:i,offsetHeight:o}=e;return i!==t||o!==n?{width:i,height:o}:null}(this);e&&(this.__resize_last__=e,k(this))},f||(f=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(e){return setTimeout(e,16)}).bind(window)),f(t))}function k(e){e&&e.__resize_listeners__&&e.__resize_listeners__.forEach(t=>{t.call(e,e)})}function O(e){let{expand:t,expandChild:n,contract:i}=e.__resize_triggers__,{scrollWidth:o,scrollHeight:r}=i,{offsetWidth:s,offsetHeight:a,scrollWidth:c,scrollHeight:l}=t;i.scrollLeft=o,i.scrollTop=r,n.style.width=s+1+"px",n.style.height=a+1+"px",t.scrollLeft=c,t.scrollTop=l}function C(e,t){var n=e.length;return t<n?e[t]:C(e,t-n)}function S(e,t){return"X"===t?1e3*e:e}function j(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=e.getBoundingClientRect(),o=t.touches[n].clientX,r=t.touches[n].clientY,s=o-i.left,a=r-i.top;return{offsetX:s,offsetY:a,clientX:o,clientY:r}}var L=function(){function e(t,n){c()(this,e),this.options=void 0,this.ctx=void 0,this.options=t,this.ctx=n}return u()(e,[{key:"init",value:function(){var e=this.options,t=e.chart.width,n=e.timestamp,i=e.xmin,o=e.xmax,r=h.scaleTime().range([0,t]);return r.domain([S(o,n)+(i===o?1e3:0),S(i,n)-(i===o?1e3:0)]),r}},{key:"draw",value:function(e){var t=this.ctx,n=this.options,i=n.chart,o=n.xAxis,r=n.time,s=e.ticks(Math.floor(i.width/90));o.ticks&&(s=o.ticks);var a=i.height-o.tickpadding-o.labels.fontSize;t.beginPath(),s.forEach((function(n){var i=e(n);i&&(t.moveTo(i,a),t.lineTo(i,a-o.tickLength))})),t.lineWidth=1,t.strokeStyle=o.tickColor,t.stroke(),t.beginPath(),t.moveTo(0,a-o.tickLength),t.lineTo(i.width,a-o.tickLength),t.lineWidth=1,t.strokeStyle=o.lineColor,t.stroke(),t.textAlign="center",t.textBaseline="bottom",t.fillStyle=o.labels.color,t.font="".concat(o.labels.fontSize,"px Palantino"),s.forEach((function(n,a){var c="%H:%M";0!==n.getSeconds()&&(c="%H:%M:%S"),0===n.getHours()&&0===n.getMinutes()&&0===n.getSeconds()&&(c="%m-%d"),o.labels.timeFormat&&(c=o.labels.timeFormat);var l=n;if(r&&r.timezoneOffset){var u=n.getTimezoneOffset(),d=n.getTime()+60*u*1e3+60*r.timezoneOffset*1e3;l=new Date(d)}if(o.ticks&&o.ticks.length>1){var f=e(n);0===a?f+=c.length*o.labels.fontSize/4+1:a===s.length-1&&(f-=c.length*o.labels.fontSize/4-1),t.fillText(h.timeFormat(c)(l),f,i.height)}else e(n)&&t.fillText(h.timeFormat(c)(l),e(n),i.height)}))}},{key:"drawPlotLines",value:function(e){var t=this.ctx,n=this.options,i=n.chart,o=n.xAxis,r=n.xAxis.plotLines,s=i.height-o.tickpadding-o.labels.fontSize;Array.isArray(r)&&r.forEach((function(n){var i=e(n.value);t.setLineDash([5,3]),t.beginPath(),t.moveTo(i,0),t.lineTo(i,s-o.tickLength),t.strokeStyle=n.color,t.stroke(),t.setLineDash([])}))}}]),e}(),z=function(){function e(t,n){c()(this,e),this.options=void 0,this.ctx=void 0,this.tickLength=void 0,this.ticks=void 0,this.options=t,this.ctx=n,this.tickLength=Math.floor(t.chart.height/50),this.ticks=[]}return u()(e,[{key:"init",value:function(){var e=this.options,t=e.chart,n=e.xAxis,i=h.scaleLinear().range([t.height-(n.labels.fontSize+n.tickpadding+n.tickLength),20]);return this.setDomain(i,this.options),i}},{key:"getRealData",value:function(e){var t=this.options,n=t.yAxis.plotLines,i=t.ykey,o=t.fillNull;return Array.isArray(e)?(Array.isArray(n)&&n.forEach((function(t){"number"==typeof t.value&&e.push(s()({},i,t.value))})),"number"==typeof o&&e.push(s()({},i,o)),e):[]}},{key:"getPlotLinesMaxAbs",value:function(){var e,t=this.options.yAxis.plotLines;return Array.isArray(t)&&t.forEach((function(t){(!e||Math.abs(e)<Math.abs(t.value))&&(e=t.value)})),e}},{key:"setDomain",value:function(e,t){var n=t.ymin,i=t.ymax,o=this.getPlotLinesMaxAbs(),r=this.tickLength;if(n===i){var s=(i-n)/(this.tickLength-1),a=s/2||i||1;r=0===s?1:this.tickLength,n-=a,i+=a}if(n>i){var c=n;n=i,i=c}o&&(o<n&&(n=o),o>i&&(i=o)),e.domain([n,i]),e.nice(r),this.ticks=e.ticks(r)}},{key:"draw",value:function(e){var t=this.ctx,n=this.options.yAxis;t.textAlign="left",t.textBaseline="bottom",t.shadowColor=n.labels.shadowColor,t.shadowBlur=1,t.lineWidth=1,t.fillStyle=n.labels.color,t.font="".concat(n.labels.fontSize,"px Palantino"),this.ticks.forEach((function(n){var i=String(n);if(n>=1e3){i=h.format(".5s")(n);var o=/[kMGTPEZY]$/;if(o.test(i)){var r=i[i.length-1];i=i.replace(o,""),i=parseFloat(i)+r}}var s=e(n);t.strokeText(i,0,s),t.fillText(i,0,s)}))}},{key:"drawGridLine",value:function(e){var t=this.ctx,n=this.options,i=n.chart,o=n.yAxis;t.beginPath(),this.ticks.forEach((function(n){var o=e(n);t.moveTo(0,o),t.lineTo(i.width,o)})),t.strokeStyle=o.gridLineColor,t.stroke()}},{key:"drawPlotLines",value:function(e){var t=this.ctx,n=this.options,i=n.chart,o=n.yAxis,r=n.yAxis.plotLines;Array.isArray(r)&&r.forEach((function(n){var r=e(n.value);t.setLineDash([5,3]),t.beginPath(),t.moveTo(0,r),t.lineTo(i.width,r),t.strokeStyle=n.color,t.stroke(),t.setLineDash([]),t.textAlign="right",t.textBaseline="top",t.shadowColor="#fff",t.shadowBlur=1,t.lineWidth=1,t.fillStyle=n.color,t.font="".concat(o.labels.fontSize,"px Palantino"),t.strokeText(String(n.value),i.width-10,r),t.fillText(String(n.value),i.width-10,r)}))}}]),e}(),E=n(7),A=n.n(E);function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function P(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?T(Object(n),!0).forEach((function(t){s()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):T(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var M=function(){function e(t,n,i,o){c()(this,e),this.options=void 0,this.ctx=void 0,this.flag=void 0,this.container=void 0,this.isMouserover=void 0,this.worker=void 0,this.options=t,this.ctx=n,this.flag=!1,this.container=i,this.init(i,o),this.isMouserover=!1,this.worker=new A.a}return u()(e,[{key:"init",value:function(e,t){var n=this.options.chart.id,i=document.createElement("div");i.id="".concat(n,"-tooltip"),i.className="ts-graph-tooltip",document.getElementById(i.id)||document.body.append(i)}},{key:"clear",value:function(){var e=this.options,t=e.ratio,n=e.chart,i=n.id,o=n.containerWidth,r=n.containerHeight,s=document.getElementById("".concat(i,"-tooltip"));this.isMouserover=!1,this.ctx.save(),this.ctx.setTransform(1*t,0,0,1*t,0,0),this.ctx.clearRect(0,0,o,r),this.ctx.restore(),s.style.top="-99999px",s.lastChild&&s.removeChild(s.lastChild)}},{key:"getNearestPoints",value:function(e,t,n,i){var o=this,r=this.options,s=r.series,a=void 0===s?[]:s,c=r.chart,l=c.id,u=c.colors,h=r.tooltip.shared,f=r.xkey,p=r.ykey,v=r.timestamp,m=r.fillNull,y=t.invert(e.offsetX),g=[],b={x:y,xkey:f,ykey:p,timestamp:v,fillNull:m};this.flag?(b.id=l,b.flag=this.flag,this.worker.postMessage(b)):(b.id=l,b.str=JSON.stringify(a),b.flag=this.flag,this.worker.postMessage(b),this.flag=!0),this.worker.onmessage=function(r){if(!1!==o.isMouserover){"[object Array]"===Object.prototype.toString.call(r.data)&&(g=r.data.map((function(e){return P(P({},e),{},{x:t(e.timestamp),y:n(e.value),color:e.color||C(u,e.serieIndex)})})));var s,a,c=Object(d.groupBy)(g,"x");if(Object(d.keys)(c).length>1){var l=Number.POSITIVE_INFINITY;for(var f in c)if(Object.prototype.hasOwnProperty.call(c,f)){var p=(s=e.offsetX,a=Number(f),Math.sqrt(Math.pow(a-s,2)));p<l&&(l=p,g=c[f])}}if(!h){var v=Number.POSITIVE_INFINITY;g.forEach((function(t){var n,i,o=(n={x:e.offsetX,y:e.offsetY},i=t,Math.sqrt(Math.pow(i.x-n.x,2)+Math.pow(i.y-n.y,2)));o<v&&(v=o,g=[t])}))}i(g)}}}},{key:"draw",value:function(e,t,n,i){var o=this;this.isMouserover=!0,this.getNearestPoints(e,t,n,(function(t){o.clear(),t.length&&(o.drawCrosshair(t[0].x),o.drawSymbol(t),o.drawModal(t,e)),i&&"[object Function]"===Object.prototype.toString.call(i)&&i(t)}))}},{key:"drawModal",value:function(e,t){var n=this.options,i=n.chart,r=i.id,s=i.renderTo,a=n.tooltip,c=n.time,l=s.offsetWidth,u=s.offsetHeight,f=document.getElementById("".concat(r,"-tooltip")),p=document.createElement("div"),v=e,m=((u=window.innerHeight/1.5)-18-100)/15,y=!1;if(a.sharedSortDirection&&(e=Object(d.orderBy)(e,(function(e){return e.value}),a.sharedSortDirection)),e.length>m&&(e=e.slice(0,m),y=!0),p.className="ts-graph-tooltip-content",f.appendChild(p),"[object Function]"===Object.prototype.toString.call(a.formatter))p.innerHTML=a.formatter(o()(e),o()(v));else{var g=e[0],b=document.createDocumentFragment(),_=document.createElement("ul"),x=document.createElement("li"),w=new Date(g.timestamp);if(c&&c.timezoneOffset){var k=w.getTimezoneOffset(),O=w.getTime()+60*k*1e3+60*c.timezoneOffset*1e3;w=new Date(O)}var C=document.createTextNode(h.timeFormat("%Y-%m-%d %H:%M:%S")(w));if(x.appendChild(C),x.style.color="#666",_.style.maxWidth="".concat(window.innerWidth/1.5,"px"),_.appendChild(x),b.appendChild(_),e.forEach((function(e){var t=e.color,n=e.name,i=e.value,o=e.filledNull,r=document.createElement("li");if(t){var s=document.createElement("span"),c=document.createTextNode("● ");s.style.color=t,s.appendChild(c),r.appendChild(s)}if(n){var l=document.createTextNode("".concat(n,": "));r.appendChild(l)}if(Object(d.isNumber)(i)){var u,f=document.createElement("strong");if("origin"===a.precision)u=i;else if("short"===a.precision){u=function(e){e:for(var t,n=e.length,i=1,o=-1;i<n;++i)switch(e[i]){case".":o=t=i;break;case"0":0===o&&(o=i),t=i;break;default:if(o>0){if(!+e[i])break e;o=0}}return o>0?e.slice(0,o)+e.slice(t+1):e}(h.format(".5s")(i))}else u=a.precision>0?h.format(",."+a.precision+"f")(i):h.format(",.3f")(i);u+=o?"(空值填补,仅限看图使用)":"";var p=document.createTextNode(u);f.appendChild(p),r.appendChild(f)}_.appendChild(r)})),y){var S=document.createElement("li"),j=document.createTextNode("......");S.appendChild(j),_.appendChild(S)}p.appendChild(b)}var L=p.offsetWidth,z=p.offsetHeight,E=this.container.getBoundingClientRect(),A=t.layerX+E.left,T=t.layerY+E.top;f.style.left="".concat(A-L-20,"px"),f.style.top="".concat(T+20,"px"),A-L-20<0&&(f.style.left="".concat(A+20,"px"),A+20+L>l&&(f.style.left="0px")),T+20+z>u&&(f.style.top=T-z-20<0?"0px":"".concat(T-z-20,"px")),f.style.zIndex="9999",f.style.visibility="visible"}},{key:"drawSymbol",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=this.ctx;e.forEach((function(e){var n=e.x,i=e.y,o=e.color;t.beginPath(),t.arc(n,i,5,0,360,!1),t.lineWidth=1,t.fillStyle=o,t.fill(),t.beginPath(),t.arc(n,i,3,0,360,!1),t.lineWidth=1,t.fillStyle="white",t.fill()}))}},{key:"drawCrosshair",value:function(e){var t=this.ctx,n=this.options,i=n.chart,o=n.xAxis,r=i.height-o.tickpadding-o.labels.fontSize-o.tickLength;t.beginPath(),t.moveTo(e,0),t.lineTo(e,r),t.lineWidth=1,t.strokeStyle=o.lineColor,t.stroke()}},{key:"destroy",value:function(){var e=this.options.chart.id,t=document.getElementById("".concat(e,"-tooltip"));t&&t.parentNode&&t.parentNode.removeChild(t)}}]),e}(),N=function(){function e(t,n){c()(this,e),this.options=void 0,this.ctx=void 0,this.options=t,this.ctx=n}return u()(e,[{key:"draw",value:function(e,t){var n=this,i=this.options,o=i.type,r=i.series,s=i.chart,a=s.colors,c=(s.width,s.height),l=i.xAxis,u=i.xkey,f=i.ykey,p=i.timestamp,v=i.fillNull,m=i.notDisplayedSeries,y=this.ctx;Object(d.sortBy)(r,"zIndex").forEach((function(i,r){if(!1!==i.visible&&!(m.indexOf(i.name)>-1)){var s=i.color||C(a,r);if(i.color=s,"area"===o||"lineAndArea"===o){y.beginPath(),h.area().x((function(t){var n="X"===p?1e3*t[u]:t[u];return e(new Date(n))})).y0(c-l.tickpadding-l.labels.fontSize-5).y1((function(e){var n=e[f];return"number"==typeof n?t(n):"number"==typeof v?t(v):void 0})).defined((function(e){return"number"==typeof e[f]||"number"==typeof v})).context(y)(i.data||[]);var d=y.createLinearGradient(0,0,0,c);d.addColorStop(0,s),d.addColorStop(.2,s),d.addColorStop(1,"rgb(255,255,255, 0)"),y.fillStyle=d,y.fill(),y.closePath()}if("line"===o||"lineAndArea"===o){y.beginPath();var g=h.line().x((function(t){var n="X"===p?1e3*t[u]:t[u];return e(new Date(n))})).y((function(e){var n=e[f];return"number"==typeof n?t(n):"number"==typeof v?t(v):void 0})).defined((function(e){return"number"==typeof e[f]||"number"==typeof v})).context(y);y.lineTo(0,0),g(i.data||[]),y.lineJoin="round",y.lineWidth=n.options.line.width,y.strokeStyle=s,y.lineCap="round",y.setLineDash(i.lineDash||[]),y.stroke(),y.closePath()}}}))}}]),e}(),I=function(){function e(t,n,i,o){c()(this,e),this.options=void 0,this.reset=void 0,this.options=t,this.init(i,o),this.reset=n}return u()(e,[{key:"init",value:function(e,t){var n=this.options.chart,i=n.id,o=n.containerHeight,r=document.createElement("div"),s=document.createElement("div"),a=document.createElement("a"),c=document.createTextNode("Reset zoom");r.id="".concat(i,"-zoom"),r.className="ts-graph-zoom",s.id="".concat(i,"-zoom-marker"),s.className="ts-graph-zoom-marker",s.style.height="".concat(o,"px"),a.id="".concat(i,"-zoom-resetBtn"),a.className="ts-graph-zoom-resetBtn",a.appendChild(c),r.appendChild(s),r.appendChild(a),e.insertBefore(r,t),this.onReset()}},{key:"onReset",value:function(){var e=this,t=this.options.chart.id;document.getElementById("".concat(t,"-zoom-resetBtn")).addEventListener("click",(function(t){t.stopPropagation(),e.reset(),e.clearResetBtn()}))}},{key:"onZoom",value:function(e,t,n){var i=this.options.chart.width,o=t.offsetX-e.offsetX;if(o){var r=i/Math.abs(o),s=t.offsetX>e.offsetX?e.offsetX:t.offsetX,a=h.zoomIdentity.translate(-s*r,0).scale(r);this.drawResetBtn(),n(a)}}},{key:"clearMarker",value:function(){var e=this.options.chart.id,t=document.getElementById("".concat(e,"-zoom-marker"));t.style.display="none",t.style.width="0px",t.style.left="unset",t.style.right="unset"}},{key:"drawMarker",value:function(e,t){var n=this.options.chart.marginLeft,i=e.offsetX,o=t.offsetX,r=this.options.chart,s=r.id,a=r.containerWidth,c=document.getElementById("".concat(s,"-zoom-marker"));c.style.display="block",c.style.top="0px",i<o?(c.style.right="unset",c.style.left="".concat(i+n,"px"),c.style.width="".concat(o-i,"px")):(c.style.left="unset",c.style.right="".concat(a-i-n,"px"),c.style.width="".concat(i-o,"px"))}},{key:"clearResetBtn",value:function(){var e=this.options.chart.id;document.getElementById("".concat(e,"-zoom-resetBtn")).style.display="none"}},{key:"drawResetBtn",value:function(){var e=this.options.chart.id;document.getElementById("".concat(e,"-zoom-resetBtn")).style.display="block"}}]),e}(),B=function(){function e(t,n,i,o){var r=this;c()(this,e),this.options=void 0,this.onLegendItemClick=void 0,this.handelLegendItemClick=function(e){var t=e.currentTarget;if(t){var n=t.getAttribute("data-serie");n&&r.onLegendItemClick(n)}},this.options=t,this.init(i,o),this.onLegendItemClick=n}return u()(e,[{key:"init",value:function(e,t){var n=this.options.chart.id,i=document.createElement("div");i.id="".concat(n,"-legend"),i.className="ts-graph-legend",document.getElementById(i.id)||e.insertBefore(i,t)}},{key:"initEvent",value:function(){var e=this,t=this.options.chart.id;document.getElementById("".concat(t,"-legend")).querySelectorAll(".ts-graph-legend-item").forEach((function(t){t.removeEventListener("click",e.handelLegendItemClick),t.addEventListener("click",e.handelLegendItemClick)}))}},{key:"updateOptions",value:function(e){this.options=e}},{key:"draw",value:function(){var e=this.options,t=e.chart.id,n=e.series,i=e.legend,o=document.getElementById("".concat(t,"-legend"));if(i.enabled){if("[object Array]"===Object.prototype.toString.call(n)){o.innerHTML="";var r=document.createDocumentFragment();n.forEach((function(e){var t=document.createElement("span"),n=document.createElement("span"),i=document.createElement("span"),o=document.createElement("span"),s=document.createTextNode(e.name);t.className="ts-graph-legend-item",t.setAttribute("data-serie",e.name),n.className="ts-graph-legend-item-symbol",i.className="ts-graph-legend-item-symbol-line",i.style.borderColor=e.color,o.className="ts-graph-legend-item-symbol-point",o.style.backgroundColor=e.color,n.appendChild(i),n.appendChild(o),t.appendChild(n),t.appendChild(s),r.appendChild(t)})),o.appendChild(r)}this.initEvent()}}}]),e}();n(14);function D(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return R(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return R(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,s=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,r=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw r}}}}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function W(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function X(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?W(Object(n),!0).forEach((function(t){s()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):W(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var H=new(n(12)),F=function(){function e(t){var n=this;c()(this,e),this.options=void 0,this.container=void 0,this.frontContext=void 0,this.backContext=void 0,this.eventCanvas=void 0,this.frontCanvas=void 0,this.backCanvas=void 0,this.xAxis=void 0,this.xScales=void 0,this.yAxis=void 0,this.yScales=void 0,this.line=void 0,this.legend=void 0,this.tooltip=void 0,this.zoom=void 0,this.transform=void 0,this.showTooltip=function(e){n.tooltip.draw(e,n.xScales,n.yScales)},this.hideTooltip=function(){n.tooltip.clear()},this.getZoomedSeries=function(){var e=n.options,t=e.chart.renderTo,i=e.series,o=e.timestamp,r=e.xkey,s=t.offsetWidth;return i.map((function(e){if("[object Array]"===Object.prototype.toString.call(e.data)){var t=e.data.filter((function(e){var t="X"===o?1e3*e[r]:e[r],i=n.xScales(new Date(t));return i>=0&&i<=s}));return X(X({},e),{},{data:t})}return e}))},this.handleResize=function(){var e=n.options.chart,t=e.renderTo.offsetWidth,i=e.renderTo.offsetHeight;n.options.chart.width=t-e.marginLeft-e.marginRight,n.options.chart.height=i-e.marginTop-e.marginBottom,n.options.chart.containerWidth=t,n.options.chart.containerHeight=i,n.container.style.width="".concat(t,"px"),n.container.style.height="".concat(i,"px"),n.retinaScaled(n.backCanvas,"back"),n.retinaScaled(n.frontCanvas,"front"),n.retinaScaled(n.eventCanvas,"event"),n.initScales(),n.draw()},this.handleZoom=function(e){var t=n.options,i=t.ykey,o=t.yAxis,r=n.options.series;if(e?(n.transform=e,n.xScales=e.rescaleX(n.xScales),r=n.getZoomedSeries()):(n.transform=void 0,n.xScales=n.xAxis.init()),Array.isArray(r)){var s,a=o.min||-1/0,c=o.max||1/0,l=D(r);try{for(l.s();!(s=l.n()).done;){var u=s.value,h=Array.isArray(u.data)?u.data:[],d=void 0;for(d=0;d<h.length;d++){var f=h[d][i];null!==f&&(a<f&&(a=f),c>f&&(c=f))}}}catch(e){l.e(e)}finally{l.f()}n.yAxis.setDomain(n.yScales,{ymin:a,ymax:c})}n.draw(),n.options.onZoom(n.getZoomedSeries)},this.handleLegendItemClick=function(e){var t=n.options.notDisplayedSeries;-1===t.indexOf(e)?t.push(e):n.options.notDisplayedSeries=t.filter((function(t){return t!==e})),n.update(n.options)};var i={type:"line",ratio:window.devicePixelRatio||1,xkey:0,ykey:1,timestamp:"x",chart:{id:Object(d.uniqueId)("ts-graph-"),colors:["#3399CC","#CC9933","#9966CC","#66CC66","#CC3333","#99CCCC","#CCCC66","#CC99CC","#99CC99","#CC6666","#336699","#996633","#993399","#339966","#993333"],width:t.chart.renderTo.offsetWidth,height:t.chart.renderTo.offsetHeight||350,marginTop:10,marginRight:10,marginBottom:10,marginLeft:10},xAxis:{visible:!0,lineColor:"#ccc",lineWidth:1,tickLength:5,tickpadding:5,tickColor:"#ccc",labels:{color:"#999",fontSize:11}},yAxis:{visible:!0,lineColor:"#ccc",lineWidth:1,tickLength:5,tickpadding:5,tickColor:"#ccc",gridLineColor:"#efefef",labels:{color:"#999",shadowColor:"#fff",fontSize:11,style:{fontSize:11,color:"#999"}}},line:{width:2},tooltip:{shared:!0,cascade:!1,cascadeScope:void 0},series:[],legend:{align:"center",verticalAlign:"top",enabled:!1},fillNull:void 0,onClick:function(){},onZoom:function(){}},o=Object(d.merge)({},i,t);void 0===t.chart.marginTop&&o.legend.enabled&&(o.chart.marginTop=20),this.handleResize=Object(d.debounce)(this.handleResize,300),this.init(o)}return u()(e,[{key:"init",value:function(e){var t=e.chart;this.options=e,this.options.notDisplayedSeries=[],this.options.chart.containerWidth=t.width,this.options.chart.containerHeight=t.height,this.options.chart.width=t.width-t.marginLeft-t.marginRight,this.options.chart.height=t.height-t.marginTop-t.marginBottom,this.createContainer(),this.createCanvas(),this.initEvent(),this.initLine(),this.initLegend(),this.initTooltip(),this.initZoom(),this.initSeries(),this.initScales(),this.draw()}},{key:"clearRect",value:function(e){var t=this.options.chart,n=t.containerWidth,i=t.containerHeight;e.clearRect(0,0,n,i)}},{key:"draw",value:function(){this.clearRect(this.backContext),this.options.xAxis.visible&&this.yAxis.drawGridLine(this.yScales),this.line.draw(this.xScales,this.yScales),this.options.xAxis.visible&&this.xAxis.draw(this.xScales),this.options.yAxis.visible&&this.yAxis.draw(this.yScales),this.xAxis.drawPlotLines(this.xScales),this.yAxis.drawPlotLines(this.yScales),this.legend.draw()}},{key:"update",value:function(e){var t=Object(d.assign)({},this.options,e);e.series&&(t.series=e.series),this.options=t,this.offEvents(),this.initEvent(),this.initSeries(),this.initLine(),this.initTooltip(),this.initScales(),this.legend.updateOptions(t),this.draw()}},{key:"getSeries",value:function(){return o()(this.options.series)}},{key:"initEvent",value:function(){var e,t=this.options.tooltip,n=t.cascade,i=t.cascadeScope,o=i?"plotmove:".concat(i):"plotmove",r=i?"plotleave:".concat(i):"plotleave",s=!1,a={},c={},l=!1,u=this,f=Object(d.debounce)((function(e){l&&(u.tooltip.draw(e,u.xScales,u.yScales),s&&u.zoom.drawMarker(a,e))}),10),p=Object(d.throttle)((function(){u.tooltip.clear()}),10);h.select(this.eventCanvas).on("mousemove",(function(){l=!0,f(h.event),n&&H.emit(o,h.event)})).on("mouseleave",(function(){e=h.event,l=!1,p(),n&&H.emit(r)})).on("mousedown",(function(){s=!0,a=h.event})).on("mouseup",(function(){h.event.stopPropagation();var e=h.event;a&&a.offsetX!==e.offsetX?(u.zoom.clearMarker(),u.zoom.onZoom(a,e,(function(e){u.handleZoom(e)}))):u.options.onClick(h.event),s=!1,a={}})).on("touchstart",(function(){h.event.touches.length>1&&(s=!0)})).on("touchmove",(function(){var e=j(u.eventCanvas,h.event);1===h.event.touches.length&&u.tooltip.draw(e,u.xScales,u.yScales),s&&(a=e,c=j(u.eventCanvas,h.event,1),u.zoom.drawMarker(a,c))})).on("touchend",(function(){l=!1,p(),a&&a.offsetX!==c.offsetX?(u.zoom.clearMarker(),u.zoom.onZoom(a,c,(function(e){u.handleZoom(e)}))):u.options.onClick(h.event),s=!1,a={},c={}})),n&&(H.on(o,this.showTooltip),H.on(r,this.hideTooltip)),window.addEventListener("mouseup",(function(){if(!Object(d.isEmpty)(a)){var t=e;s=!1,u.zoom.clearMarker(),u.zoom.onZoom(a,t,(function(e){u.handleZoom(e)})),a={}}})),_(this.options.chart.renderTo,this.handleResize)}},{key:"retinaScaled",value:function(e,t){var n=this.options,i=n.chart,o=n.ratio,r=e.getContext("2d"),s="front"===t?i.containerWidth:i.width,a="front"===t?i.containerHeight:i.height,c="front"===t?"0px":"".concat(i.marginLeft,"px"),l="front"===t?"0px":"".concat(i.marginTop,"px");e.width=s*o,e.height=a*o,e.style.width="".concat(s,"px"),e.style.height="".concat(a,"px"),e.style.position="absolute",e.style.left=c,e.style.top=l,"front"===t&&r.translate(i.marginLeft*o,i.marginTop*o),r.scale(o,o)}},{key:"createContainer",value:function(){var e=this.options.chart,t=document.createElement("div");t.style.position="relative",t.style.width="".concat(e.containerWidth,"px"),t.style.height="".concat(e.containerHeight,"px"),t.style.overflow="hidden",t.className="d3-graph-container",e.renderTo.appendChild(t),this.container=t}},{key:"createCanvas",value:function(){var e=this.options.chart.id;function t(t){var n=document.createElement("canvas"),i=n.getContext("2d");n.setAttribute("id","".concat(e,"-").concat(t,"Canvas")),this.container.appendChild(n),this["".concat(t,"Canvas")]=n,this["".concat(t,"Context")]=i,this.retinaScaled(n,t)}t.call(this,"back"),t.call(this,"front"),t.call(this,"event")}},{key:"initSeries",value:function(){var e=this.options,t=e.fillNull,n=e.series,i=e.xkey,o=e.ykey,r=e.yAxis,s=-1/0,a=1/0,c=r.min,l=r.max;if(Array.isArray(n)){var u,h=[],d=D(n);try{for(d.s();!(u=d.n()).done;){var f=u.value,p=Array.isArray(f.data)?f.data:[],v=[],m=!1,y=void 0;for(y=0;y<p.length;y++){var g=p[y],b=g[i],_=g[o];void 0===t?0===y||y===p.length-1||y>0&&y<p.length-1&&"number"==typeof _?(v.push(g),m=!0):m&&(v.push(g),m=!1):v.push(g),s<b&&(s=b),a>b&&(a=b),"number"==typeof _?(("number"!=typeof c||_<c)&&(c=_),("number"!=typeof l||_>l)&&(l=_)):"number"==typeof t&&(t<c&&(c=t),t>l&&(l=t))}h.push(X(X({},f),{},{data:v}))}}catch(e){d.e(e)}finally{d.f()}this.options.series=h,this.options.xmin=s,this.options.xmax=a,this.options.ymin=c,this.options.ymax=l}}},{key:"initLine",value:function(){this.line=new N(this.options,this.backContext)}},{key:"initTooltip",value:function(){this.tooltip=new M(this.options,this.frontContext,this.container,this.eventCanvas)}},{key:"initZoom",value:function(){this.zoom=new I(this.options,this.handleZoom,this.container,this.eventCanvas)}},{key:"initLegend",value:function(){this.legend=new B(this.options,this.handleLegendItemClick,this.container,this.eventCanvas)}},{key:"initScales",value:function(){var e=new L(this.options,this.backContext),t=new z(this.options,this.backContext);this.xAxis=e;var n=e.init();this.transform&&(n=this.transform.rescaleX(n)),this.xScales=n,this.yAxis=t,this.yScales=t.init()}},{key:"offEvents",value:function(){var e=this.options.tooltip,t=e.cascade,n=e.cascadeScope,i=n?"plotmove:".concat(n):"plotmove",o=n?"plotleave:".concat(n):"plotleave";h.select(this.eventCanvas).on("mousemove",null).on("mouseleave",null).on("mousedown",null).on("mouseup",null).on("touchmove",null),function(e,t){let n=e.__resize_listeners__;if(n){if(t&&n.splice(n.indexOf(t),1),!n.length||!t){if(e.detachEvent&&e.removeEventListener)return e.detachEvent("onresize",e.__resize_legacy_resize_handler__),void document.removeEventListener("DOMSubtreeModified",e.__resize_mutation_handler__);e.__resize_observer__?(e.__resize_observer__.unobserve(e),e.__resize_observer__.disconnect(),e.__resize_observer__=null):(e.__resize_mutation_observer__&&(e.__resize_mutation_observer__.disconnect(),e.__resize_mutation_observer__=null),e.removeEventListener("scroll",w),e.removeChild(e.__resize_triggers__.triggers),e.__resize_triggers__=null),e.__resize_listeners__=null}!--g&&b&&b.parentNode.removeChild(b)}}(this.options.chart.renderTo,this.handleResize),t&&(H.off(i,this.showTooltip),H.off(o,this.hideTooltip))}},{key:"destroy",value:function(){this.tooltip.destroy(),this.offEvents(),h.select(this.container).remove()}}]),e}()}])}));
|
|
1
|
+
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("d3"),require("lodash"));else if("function"==typeof define&&define.amd)define([,],t);else{var n="object"==typeof exports?t(require("d3"),require("lodash")):t(e.d3,e._);for(var i in n)("object"==typeof exports?exports:e)[i]=n[i]}}(window,(function(e,t){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(i,o,function(t){return e[t]}.bind(null,o));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=15)}([function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}e.exports=function(e,t,i){return t&&n(e.prototype,t),i&&n(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,n){var i=n(9),o=n(10),r=n(11),s=n(12);e.exports=function(e){return i(e)||o(e)||r(e)||s()},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,n){"use strict";var i,o="object"==typeof Reflect?Reflect:null,r=o&&"function"==typeof o.apply?o.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};i=o&&"function"==typeof o.ownKeys?o.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(e,t){return new Promise((function(n,i){function o(n){e.removeListener(t,r),i(n)}function r(){"function"==typeof e.removeListener&&e.removeListener("error",o),n([].slice.call(arguments))}y(e,t,r,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&y(e,"error",t,n)}(e,o,{once:!0})}))},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var c=10;function l(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function u(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function h(e,t,n,i){var o,r,s,a;if(l(n),void 0===(r=e._events)?(r=e._events=Object.create(null),e._eventsCount=0):(void 0!==r.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),r=e._events),s=r[t]),void 0===s)s=r[t]=n,++e._eventsCount;else if("function"==typeof s?s=r[t]=i?[n,s]:[s,n]:i?s.unshift(n):s.push(n),(o=u(e))>0&&s.length>o&&!s.warned){s.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=s.length,a=c,console&&console.warn&&console.warn(a)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(e,t,n){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},o=d.bind(i);return o.listener=n,i.wrapFn=o,o}function p(e,t,n){var i=e._events;if(void 0===i)return[];var o=i[t];return void 0===o?[]:"function"==typeof o?n?[o.listener||o]:[o]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(o):m(o,o.length)}function v(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function m(e,t){for(var n=new Array(t),i=0;i<t;++i)n[i]=e[i];return n}function y(e,t,n,i){if("function"==typeof e.on)i.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function o(r){i.once&&e.removeEventListener(t,o),n(r)}))}}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return c},set:function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");c=e}}),a.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},a.prototype.getMaxListeners=function(){return u(this)},a.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i="error"===e,o=this._events;if(void 0!==o)i=i&&void 0===o.error;else if(!i)return!1;if(i){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=o[e];if(void 0===c)return!1;if("function"==typeof c)r(c,this,t);else{var l=c.length,u=m(c,l);for(n=0;n<l;++n)r(u[n],this,t)}return!0},a.prototype.addListener=function(e,t){return h(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return h(this,e,t,!0)},a.prototype.once=function(e,t){return l(t),this.on(e,f(this,e,t)),this},a.prototype.prependOnceListener=function(e,t){return l(t),this.prependListener(e,f(this,e,t)),this},a.prototype.removeListener=function(e,t){var n,i,o,r,s;if(l(t),void 0===(i=this._events))return this;if(void 0===(n=i[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(o=-1,r=n.length-1;r>=0;r--)if(n[r]===t||n[r].listener===t){s=n[r].listener,o=r;break}if(o<0)return this;0===o?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,o),1===n.length&&(i[e]=n[0]),void 0!==i.removeListener&&this.emit("removeListener",e,s||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,n,i;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var o,r=Object.keys(n);for(i=0;i<r.length;++i)"removeListener"!==(o=r[i])&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this},a.prototype.listeners=function(e){return p(this,e,!0)},a.prototype.rawListeners=function(e){return p(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):v.call(e,t)},a.prototype.listenerCount=v,a.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]}},function(e,t,n){e.exports=function(){return n(13)('!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n);function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t){return"X"===t?1e3*e:e}function a(e){var t,r=e.series,n=e.x,o=e.xkey,i=e.ykey,a=e.timestamp,c=e.fillNull,f=(t=function(e,t){return(r=u(e[o],a))<(n=t)?-1:r>n?1:r>=n?0:NaN;var r,n},{left:function(e,r,n,o){for(null==n&&(n=0),null==o&&(o=e.length);n<o;){var i=n+o>>>1;t(e[i],r)<0?n=i+1:o=i}return n},right:function(e,r,n,o){for(null==n&&(n=0),null==o&&(o=e.length);n<o;){var i=n+o>>>1;t(e[i],r)>0?o=i:n=i+1}return n}}).left,s=new Date(n).getTime(),p=[];return"[object Array]"!==Object.prototype.toString.call(r)?[]:(r.forEach((function(e,t){if(!1!==e.visible){var r=e.name,y=e.color,b=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&"[object Function]"===Object.prototype.toString.call(t)&&t(n)&&(r[n]=e[n]);return r}(e,(function(e){return"data"!==e})),d=e.data,v=void 0===d?[]:d;if("[object Array]"===Object.prototype.toString.call(v)&&0!==(v=v.filter((function(e){return"number"==typeof e[i]||"number"==typeof c}))).length){var O,m=f(v,n),j=v[m-1],g=v[m];if(j&&g){var x=u(j[o],a),P=u(g[o],a),h=j[i],S=g[i];null===h&&void 0!==c&&(h=c),null===S&&void 0!==c&&(S=c),O=s-x<P-s?l(l({},j),{},{name:r,color:y,timestamp:x,value:h,serieIndex:t,serieOptions:b}):l(l({},g),{},{name:r,color:y,timestamp:P,value:S,serieIndex:t,serieOptions:b}),p.push(O)}else if(j){var w=u(j[o],a),_=j[i];null===_&&void 0!==c&&(_=c),O=l(l({},j),{},{name:r,color:y,timestamp:w,value:_,serieIndex:t,serieOptions:b}),p.push(O)}else if(g){var k=u(g[o],a),M=g[i];null===M&&void 0!==c&&(M=c),O=l(l({},g),{},{name:r,color:y,timestamp:k,value:M,serieIndex:t,serieOptions:b}),p.push(O)}}}})),p)}var c={},f={},s=self;s.addEventListener("message",(function(e){var t=e.data;t.id&&(c[t.id]&&t.flag||(c[t.id]=t.str,f[t.id]=JSON.parse(t.str)));var r=a({x:t.x,xkey:t.xkey,ykey:t.ykey,timestamp:t.timestamp,series:f[t.id],fillNull:t.fillNull});s.postMessage(r)}));t.default=s}]);\n//# sourceMappingURL=d29ef73184ec1d0e8dbc.worker.js.map',n.p+"d29ef73184ec1d0e8dbc.worker.js")}},function(e,t,n){var i=n(6);e.exports=function(e){if(Array.isArray(e))return i(e)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,n){var i=n(6);e.exports=function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,n){"use strict";var i=window.URL||window.webkitURL;e.exports=function(e,t){try{try{var n;try{(n=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder)).append(e),n=n.getBlob()}catch(t){n=new Blob([e])}return new Worker(i.createObjectURL(n))}catch(t){return new Worker("data:application/javascript,"+encodeURIComponent(e))}}catch(e){if(!t)throw Error("Inline worker is not supported");return new Worker(t)}}},function(e,t,n){},function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return q}));var i=n(5),o=n.n(i),r=n(4),s=n.n(r),a=n(2),c=n.n(a),l=n(3),u=n.n(l),h=n(0),d=n(1);let f=null;let p=null;function v(e,t={}){let n=document.createElement(e);return Object.keys(t).forEach(e=>{n[e]=t[e]}),n}function m(e,t,n){return(window.getComputedStyle(e,n||null)||{display:"none"})[t]}function y(e){if(!document.documentElement.contains(e))return{detached:!0,rendered:!1};let t=e;for(;t!==document;){if("none"===m(t,"display"))return{detached:!1,rendered:!1};t=t.parentNode}return{detached:!1,rendered:!0}}let g=0,b=null;function _(e,t){if(e.__resize_mutation_handler__||(e.__resize_mutation_handler__=x.bind(e)),!e.__resize_listeners__)if(e.__resize_listeners__=[],window.ResizeObserver){let{offsetWidth:t,offsetHeight:n}=e,i=new ResizeObserver(()=>{(e.__resize_observer_triggered__||(e.__resize_observer_triggered__=!0,e.offsetWidth!==t||e.offsetHeight!==n))&&k(e)}),{detached:o,rendered:r}=y(e);e.__resize_observer_triggered__=!1===o&&!1===r,e.__resize_observer__=i,i.observe(e)}else if(e.attachEvent&&e.addEventListener)e.__resize_legacy_resize_handler__=function(){k(e)},e.attachEvent("onresize",e.__resize_legacy_resize_handler__),document.addEventListener("DOMSubtreeModified",e.__resize_mutation_handler__);else if(g||(b=function(e){var t=document.createElement("style");return t.type="text/css",t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e)),(document.querySelector("head")||document.body).appendChild(t),t}('.resize-triggers{visibility:hidden;opacity:0;pointer-events:none}.resize-contract-trigger,.resize-contract-trigger:before,.resize-expand-trigger,.resize-triggers{content:"";position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden}.resize-contract-trigger,.resize-expand-trigger{background:#eee;overflow:auto}.resize-contract-trigger:before{width:200%;height:200%}')),function(e){let t=m(e,"position");t&&"static"!==t||(e.style.position="relative");e.__resize_old_position__=t,e.__resize_last__={};let n=v("div",{className:"resize-triggers"}),i=v("div",{className:"resize-expand-trigger"}),o=v("div"),r=v("div",{className:"resize-contract-trigger"});i.appendChild(o),n.appendChild(i),n.appendChild(r),e.appendChild(n),e.__resize_triggers__={triggers:n,expand:i,expandChild:o,contract:r},O(e),e.addEventListener("scroll",w,!0),e.__resize_last__={width:e.offsetWidth,height:e.offsetHeight}}(e),e.__resize_rendered__=y(e).rendered,window.MutationObserver){let t=new MutationObserver(e.__resize_mutation_handler__);t.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0}),e.__resize_mutation_observer__=t}e.__resize_listeners__.push(t),g++}function x(){let{rendered:e,detached:t}=y(this);e!==this.__resize_rendered__&&(!t&&this.__resize_triggers__&&(O(this),this.addEventListener("scroll",w,!0)),this.__resize_rendered__=e,k(this))}function w(){var e,t;O(this),this.__resize_raf__&&(e=this.__resize_raf__,p||(p=(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||function(e){clearTimeout(e)}).bind(window)),p(e)),this.__resize_raf__=(t=()=>{let e=function(e){let{width:t,height:n}=e.__resize_last__,{offsetWidth:i,offsetHeight:o}=e;return i!==t||o!==n?{width:i,height:o}:null}(this);e&&(this.__resize_last__=e,k(this))},f||(f=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(e){return setTimeout(e,16)}).bind(window)),f(t))}function k(e){e&&e.__resize_listeners__&&e.__resize_listeners__.forEach(t=>{t.call(e,e)})}function O(e){let{expand:t,expandChild:n,contract:i}=e.__resize_triggers__,{scrollWidth:o,scrollHeight:r}=i,{offsetWidth:s,offsetHeight:a,scrollWidth:c,scrollHeight:l}=t;i.scrollLeft=o,i.scrollTop=r,n.style.width=s+1+"px",n.style.height=a+1+"px",t.scrollLeft=c,t.scrollTop=l}var C=n(7),S=n.n(C);function j(e,t){var n=e.length;return t<n?e[t]:j(e,t-n)}function L(e,t){return"X"===t?1e3*e:e}function z(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=e.getBoundingClientRect(),o=t.touches[n].clientX,r=t.touches[n].clientY,s=o-i.left,a=r-i.top;return{offsetX:s,offsetY:a,clientX:o,clientY:r}}var E=function(){function e(t,n){c()(this,e),this.options=void 0,this.ctx=void 0,this.options=t,this.ctx=n}return u()(e,[{key:"init",value:function(){var e=this.options,t=e.chart.width,n=e.timestamp,i=e.xmin,o=e.xmax,r=h.scaleTime().range([0,t]);return r.domain([L(o,n)+(i===o?1e3:0),L(i,n)-(i===o?1e3:0)]),r}},{key:"draw",value:function(e){var t=this.ctx,n=this.options,i=n.chart,o=n.xAxis,r=n.time,s=e.ticks(Math.floor(i.width/90));o.ticks&&(s=o.ticks);var a=i.height-o.tickpadding-o.labels.fontSize;t.beginPath(),s.forEach((function(n){var i=e(n);i&&(t.moveTo(i,a),t.lineTo(i,a-o.tickLength))})),t.lineWidth=1,t.strokeStyle=o.tickColor,t.stroke(),t.beginPath(),t.moveTo(0,a-o.tickLength),t.lineTo(i.width,a-o.tickLength),t.lineWidth=1,t.strokeStyle=o.lineColor,t.stroke(),t.textAlign="center",t.textBaseline="bottom",t.fillStyle=o.labels.color,t.font="".concat(o.labels.fontSize,"px Palantino"),s.forEach((function(n,a){var c="%H:%M";0!==n.getSeconds()&&(c="%H:%M:%S"),0===n.getHours()&&0===n.getMinutes()&&0===n.getSeconds()&&(c="%m-%d"),o.labels.timeFormat&&(c=o.labels.timeFormat);var l=n;if(r&&r.timezoneOffset){var u=n.getTimezoneOffset(),d=n.getTime()+60*u*1e3+60*r.timezoneOffset*1e3;l=new Date(d)}if(o.ticks&&o.ticks.length>1){var f=e(n);0===a?f+=c.length*o.labels.fontSize/4+1:a===s.length-1&&(f-=c.length*o.labels.fontSize/4-1),t.fillText(h.timeFormat(c)(l),f,i.height)}else e(n)&&t.fillText(h.timeFormat(c)(l),e(n),i.height)}))}},{key:"drawPlotLines",value:function(e){var t=this.ctx,n=this.options,i=n.chart,o=n.xAxis,r=n.xAxis.plotLines,s=i.height-o.tickpadding-o.labels.fontSize;Array.isArray(r)&&r.forEach((function(n){var i=e(n.value);t.setLineDash([5,3]),t.beginPath(),t.moveTo(i,0),t.lineTo(i,s-o.tickLength),t.strokeStyle=n.color,t.stroke(),t.setLineDash([])}))}}]),e}(),A=function(){function e(t,n){c()(this,e),this.options=void 0,this.ctx=void 0,this.tickLength=void 0,this.ticks=void 0,this.options=t,this.ctx=n,this.tickLength=Math.floor(t.chart.height/50),this.ticks=[]}return u()(e,[{key:"init",value:function(){var e=this.options,t=e.chart,n=e.xAxis,i=h.scaleLinear().range([t.height-(n.labels.fontSize+n.tickpadding+n.tickLength),20]);return this.setDomain(i,this.options),i}},{key:"getRealData",value:function(e){var t=this.options,n=t.yAxis.plotLines,i=t.ykey,o=t.fillNull;return Array.isArray(e)?(Array.isArray(n)&&n.forEach((function(t){"number"==typeof t.value&&e.push(s()({},i,t.value))})),"number"==typeof o&&e.push(s()({},i,o)),e):[]}},{key:"getPlotLinesMaxAbs",value:function(){var e,t=this.options.yAxis.plotLines;return Array.isArray(t)&&t.forEach((function(t){(!e||Math.abs(e)<Math.abs(t.value))&&(e=t.value)})),e}},{key:"setDomain",value:function(e,t){var n=t.ymin,i=t.ymax,o=this.getPlotLinesMaxAbs(),r=this.tickLength;if(n===i){var s=(i-n)/(this.tickLength-1),a=s/2||i||1;r=0===s?1:this.tickLength,n-=a,i+=a}if(n>i){var c=n;n=i,i=c}o&&(o<n&&(n=o),o>i&&(i=o)),e.domain([n,i]),e.nice(r),this.ticks=e.ticks(r)}},{key:"draw",value:function(e){var t=this.ctx,n=this.options.yAxis;t.textAlign="left",t.textBaseline="bottom",t.shadowColor=n.labels.shadowColor,t.shadowBlur=1,t.lineWidth=1,t.fillStyle=n.labels.color,t.font="".concat(n.labels.fontSize,"px Palantino"),this.ticks.forEach((function(n){var i=String(n);if(n>=1e3){i=h.format(".5s")(n);var o=/[kMGTPEZY]$/;if(o.test(i)){var r=i[i.length-1];i=i.replace(o,""),i=parseFloat(i)+r}}var s=e(n);t.strokeText(i,0,s),t.fillText(i,0,s)}))}},{key:"drawGridLine",value:function(e){var t=this.ctx,n=this.options,i=n.chart,o=n.yAxis;t.beginPath(),this.ticks.forEach((function(n){var o=e(n);t.moveTo(0,o),t.lineTo(i.width,o)})),t.strokeStyle=o.gridLineColor,t.stroke()}},{key:"drawPlotLines",value:function(e){var t=this.ctx,n=this.options,i=n.chart,o=n.yAxis,r=n.yAxis.plotLines;Array.isArray(r)&&r.forEach((function(n){var r=e(n.value);t.setLineDash([5,3]),t.beginPath(),t.moveTo(0,r),t.lineTo(i.width,r),t.strokeStyle=n.color,t.stroke(),t.setLineDash([]),t.textAlign="right",t.textBaseline="top",t.shadowColor="#fff",t.shadowBlur=1,t.lineWidth=1,t.fillStyle=n.color,t.font="".concat(o.labels.fontSize,"px Palantino"),t.strokeText(String(n.value),i.width-10,r),t.fillText(String(n.value),i.width-10,r)}))}}]),e}(),T=n(8),P=n.n(T);function M(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function N(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?M(Object(n),!0).forEach((function(t){s()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):M(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var I=function(){function e(t,n,i,o){c()(this,e),this.options=void 0,this.ctx=void 0,this.flag=void 0,this.container=void 0,this.isMouserover=void 0,this.worker=void 0,this.options=t,this.ctx=n,this.flag=!1,this.container=i,this.init(i,o),this.isMouserover=!1,this.worker=new P.a}return u()(e,[{key:"init",value:function(e,t){var n=this.options.chart.id,i=document.createElement("div");i.id="".concat(n,"-tooltip"),i.className="ts-graph-tooltip",document.getElementById(i.id)||document.body.append(i)}},{key:"clear",value:function(){var e=this.options,t=e.ratio,n=e.chart,i=n.id,o=n.containerWidth,r=n.containerHeight,s=document.getElementById("".concat(i,"-tooltip"));this.isMouserover=!1,this.ctx.save(),this.ctx.setTransform(1*t,0,0,1*t,0,0),this.ctx.clearRect(0,0,o,r),this.ctx.restore(),s.style.top="-99999px",s.lastChild&&s.removeChild(s.lastChild)}},{key:"getNearestPoints",value:function(e,t,n,i){var o=this,r=this.options,s=r.series,a=void 0===s?[]:s,c=r.chart,l=c.id,u=c.colors,h=r.tooltip.shared,f=r.xkey,p=r.ykey,v=r.oykey,m=r.timestamp,y=r.fillNull,g=t.invert(e.offsetX),b=[],_={x:g,xkey:f,ykey:p,oykey:v,timestamp:m,fillNull:y};this.flag?(_.id=l,_.flag=this.flag,this.worker.postMessage(_)):(_.id=l,_.str=JSON.stringify(a),_.flag=this.flag,this.worker.postMessage(_),this.flag=!0),this.worker.onmessage=function(r){if(!1!==o.isMouserover){"[object Array]"===Object.prototype.toString.call(r.data)&&(b=r.data.map((function(e){return N(N({},e),{},{x:t(e.timestamp),y:n(e.value),color:e.color||j(u,e.serieIndex)})})));var s,a,c=Object(d.groupBy)(b,"x");if(Object(d.keys)(c).length>1){var l=Number.POSITIVE_INFINITY;for(var f in c)if(Object.prototype.hasOwnProperty.call(c,f)){var p=(s=e.offsetX,a=Number(f),Math.sqrt(Math.pow(a-s,2)));p<l&&(l=p,b=c[f])}}if(!h){var v=Number.POSITIVE_INFINITY;b.forEach((function(t){var n,i,o=(n={x:e.offsetX,y:e.offsetY},i=t,Math.sqrt(Math.pow(i.x-n.x,2)+Math.pow(i.y-n.y,2)));o<v&&(v=o,b=[t])}))}i(b)}}}},{key:"draw",value:function(e,t,n,i){var o=this;this.isMouserover=!0,this.getNearestPoints(e,t,n,(function(t){o.clear(),t.length&&(o.drawCrosshair(t[0].x),o.drawSymbol(t),o.drawModal(t,e)),i&&"[object Function]"===Object.prototype.toString.call(i)&&i(t)}))}},{key:"drawModal",value:function(e,t){var n=this.options,i=n.chart,r=i.id,s=i.renderTo,a=n.tooltip,c=n.time,l=s.offsetWidth,u=s.offsetHeight,f=document.getElementById("".concat(r,"-tooltip")),p=document.createElement("div"),v=e,m=((u=window.innerHeight/1.5)-18-100)/15,y=!1;if(a.sharedSortDirection&&(e=Object(d.orderBy)(e,(function(e){return e.value}),a.sharedSortDirection)),e.length>m&&(e=e.slice(0,m),y=!0),p.className="ts-graph-tooltip-content",f.appendChild(p),"[object Function]"===Object.prototype.toString.call(a.formatter))p.innerHTML=a.formatter(o()(e),o()(v));else{var g=e[0],b=document.createDocumentFragment(),_=document.createElement("ul"),x=document.createElement("li"),w=new Date(g.timestamp);if(c&&c.timezoneOffset){var k=w.getTimezoneOffset(),O=w.getTime()+60*k*1e3+60*c.timezoneOffset*1e3;w=new Date(O)}var C=document.createTextNode(h.timeFormat("%Y-%m-%d %H:%M:%S")(w));if(x.appendChild(C),x.style.color="#666",_.style.maxWidth="".concat(window.innerWidth/1.5,"px"),_.appendChild(x),b.appendChild(_),e.forEach((function(e){var t=e.color,n=e.name,i=e.value,o=e.filledNull,r=document.createElement("li");if(t){var s=document.createElement("span"),c=document.createTextNode("● ");s.style.color=t,s.appendChild(c),r.appendChild(s)}if(n){var l=document.createTextNode("".concat(n,": "));r.appendChild(l)}if(Object(d.isNumber)(i)){var u,f=document.createElement("strong");if("origin"===a.precision)u=i;else if("short"===a.precision){u=function(e){e:for(var t,n=e.length,i=1,o=-1;i<n;++i)switch(e[i]){case".":o=t=i;break;case"0":0===o&&(o=i),t=i;break;default:if(o>0){if(!+e[i])break e;o=0}}return o>0?e.slice(0,o)+e.slice(t+1):e}(h.format(".5s")(i))}else u=a.precision>0?h.format(",."+a.precision+"f")(i):h.format(",.3f")(i);u+=o?"(空值填补,仅限看图使用)":"";var p=document.createTextNode(u);f.appendChild(p),r.appendChild(f)}_.appendChild(r)})),y){var S=document.createElement("li"),j=document.createTextNode("......");S.appendChild(j),_.appendChild(S)}p.appendChild(b)}var L=p.offsetWidth,z=p.offsetHeight,E=this.container.getBoundingClientRect(),A=t.layerX+E.left,T=t.layerY+E.top;f.style.left="".concat(A-L-20,"px"),f.style.top="".concat(T+20,"px"),A-L-20<0&&(f.style.left="".concat(A+20,"px"),A+20+L>l&&(f.style.left="0px")),T+20+z>u&&(f.style.top=T-z-20<0?"0px":"".concat(T-z-20,"px")),f.style.zIndex="9999",f.style.visibility="visible"}},{key:"drawSymbol",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=this.ctx;e.forEach((function(e){var n=e.x,i=e.y,o=e.color;t.beginPath(),t.arc(n,i,5,0,360,!1),t.lineWidth=1,t.fillStyle=o,t.fill(),t.beginPath(),t.arc(n,i,3,0,360,!1),t.lineWidth=1,t.fillStyle="white",t.fill()}))}},{key:"drawCrosshair",value:function(e){var t=this.ctx,n=this.options,i=n.chart,o=n.xAxis,r=i.height-o.tickpadding-o.labels.fontSize-o.tickLength;t.beginPath(),t.moveTo(e,0),t.lineTo(e,r),t.lineWidth=1,t.strokeStyle=o.lineColor,t.stroke()}},{key:"destroy",value:function(){var e=this.options.chart.id,t=document.getElementById("".concat(e,"-tooltip"));t&&t.parentNode&&t.parentNode.removeChild(t)}}]),e}(),B=function(){function e(t,n){c()(this,e),this.options=void 0,this.ctx=void 0,this.options=t,this.ctx=n}return u()(e,[{key:"draw",value:function(e,t){var n=this.options,i=n.series,o=n.chart,r=o.colors,s=o.height,a=n.xAxis,c=n.xkey,l=n.ykey,u=n.timestamp,f=n.fillNull,p=n.notDisplayedSeries,v=n.curve,m=this.options.line.width,y=this.options.area.opacity,g=this.ctx,b=function(t){var n="X"===u?1e3*t[c]:t[c];return e(new Date(n))},_=function(e){var n=e[l];return"number"==typeof n?t(n):"number"==typeof f?t(f):void 0},x=function(e){return"number"==typeof e[l]||"number"==typeof f};Object(d.sortBy)(i,"zIndex").forEach((function(e,t){if(!1!==e.visible&&!(p.indexOf(e.name)>-1)){var n=e.color||j(r,t);if(e.color=n,y>0){g.beginPath();var i=h.area().x(b).y0(s-a.tickpadding-a.labels.fontSize-5).y1(_).defined(x).context(g);v.enabled&&"smooth"===v.mode&&i.curve(h.curveMonotoneX),i(e.data||[]),g.fillStyle=n,g.globalAlpha=y,g.fill(),g.closePath()}if(m>0){g.beginPath();var o=h.line().x(b).y(_).defined(x).context(g);v.enabled&&"smooth"===v.mode&&o.curve(h.curveMonotoneX),g.lineTo(0,0),o(e.data||[]),g.lineJoin="round",g.lineWidth=m,g.strokeStyle=n,g.lineCap="round",g.globalAlpha=1,g.setLineDash(e.lineDash||[]),g.stroke(),g.closePath()}}}))}}]),e}(),R=function(){function e(t,n,i,o){c()(this,e),this.options=void 0,this.reset=void 0,this.options=t,this.init(i,o),this.reset=n}return u()(e,[{key:"init",value:function(e,t){var n=this.options.chart,i=n.id,o=n.containerHeight,r=document.createElement("div"),s=document.createElement("div"),a=document.createElement("a"),c=document.createTextNode("Reset zoom");r.id="".concat(i,"-zoom"),r.className="ts-graph-zoom",s.id="".concat(i,"-zoom-marker"),s.className="ts-graph-zoom-marker",s.style.height="".concat(o,"px"),a.id="".concat(i,"-zoom-resetBtn"),a.className="ts-graph-zoom-resetBtn",a.appendChild(c),r.appendChild(s),r.appendChild(a),e.insertBefore(r,t),this.onReset()}},{key:"onReset",value:function(){var e=this,t=this.options.chart.id;document.getElementById("".concat(t,"-zoom-resetBtn")).addEventListener("click",(function(t){t.stopPropagation(),e.reset(),e.clearResetBtn()}))}},{key:"onZoom",value:function(e,t,n){var i=this.options.chart.width,o=t.offsetX-e.offsetX;if(o){var r=i/Math.abs(o),s=t.offsetX>e.offsetX?e.offsetX:t.offsetX,a=h.zoomIdentity.translate(-s*r,0).scale(r);this.drawResetBtn(),n(a)}}},{key:"clearMarker",value:function(){var e=this.options.chart.id,t=document.getElementById("".concat(e,"-zoom-marker"));t.style.display="none",t.style.width="0px",t.style.left="unset",t.style.right="unset"}},{key:"drawMarker",value:function(e,t){var n=this.options.chart.marginLeft,i=e.offsetX,o=t.offsetX,r=this.options.chart,s=r.id,a=r.containerWidth,c=document.getElementById("".concat(s,"-zoom-marker"));c.style.display="block",c.style.top="0px",i<o?(c.style.right="unset",c.style.left="".concat(i+n,"px"),c.style.width="".concat(o-i,"px")):(c.style.left="unset",c.style.right="".concat(a-i-n,"px"),c.style.width="".concat(i-o,"px"))}},{key:"clearResetBtn",value:function(){var e=this.options.chart.id;document.getElementById("".concat(e,"-zoom-resetBtn")).style.display="none"}},{key:"drawResetBtn",value:function(){var e=this.options.chart.id;document.getElementById("".concat(e,"-zoom-resetBtn")).style.display="block"}}]),e}(),D=function(){function e(t,n,i,o){var r=this;c()(this,e),this.options=void 0,this.onLegendItemClick=void 0,this.handelLegendItemClick=function(e){var t=e.currentTarget;if(t){t.classList.contains("ts-graph-legend-item-active")?t.classList.remove("ts-graph-legend-item-active"):t.classList.add("ts-graph-legend-item-active");var n=t.getAttribute("data-serie");n&&r.onLegendItemClick(n)}},this.options=t,this.init(i,o),this.onLegendItemClick=n}return u()(e,[{key:"init",value:function(e,t){var n=this.options.chart.id,i=document.createElement("div");i.id="".concat(n,"-legend"),i.className="ts-graph-legend",document.getElementById(i.id)||e.insertBefore(i,t)}},{key:"initEvent",value:function(){var e=this,t=this.options.chart.id;document.getElementById("".concat(t,"-legend")).querySelectorAll(".ts-graph-legend-item").forEach((function(t){t.removeEventListener("click",e.handelLegendItemClick),t.addEventListener("click",e.handelLegendItemClick)}))}},{key:"updateOptions",value:function(e){this.options=e}},{key:"draw",value:function(){var e=this.options,t=e.chart.id,n=e.series,i=e.legend,o=document.getElementById("".concat(t,"-legend"));if(i.enabled){if("[object Array]"===Object.prototype.toString.call(n)){o.innerHTML="";var r=document.createDocumentFragment();n.forEach((function(e){var t=document.createElement("span"),n=document.createElement("span"),i=document.createElement("span"),o=document.createElement("span"),s=document.createTextNode(e.name);t.className="ts-graph-legend-item",t.setAttribute("data-serie",e.name),n.className="ts-graph-legend-item-symbol",i.className="ts-graph-legend-item-symbol-line",i.style.borderColor=e.color,o.className="ts-graph-legend-item-symbol-point",o.style.backgroundColor=e.color,n.appendChild(i),n.appendChild(o),t.appendChild(n),t.appendChild(s),r.appendChild(t)})),o.appendChild(r)}this.initEvent()}}}]),e}();n(14);function W(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return X(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return X(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,s=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,r=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw r}}}}function X(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function H(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function F(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?H(Object(n),!0).forEach((function(t){s()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):H(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Z=new S.a,q=function(){function e(t){var n=this;c()(this,e),this.options=void 0,this.container=void 0,this.frontContext=void 0,this.backContext=void 0,this.eventCanvas=void 0,this.frontCanvas=void 0,this.backCanvas=void 0,this.xAxis=void 0,this.xScales=void 0,this.yAxis=void 0,this.yScales=void 0,this.line=void 0,this.legend=void 0,this.tooltip=void 0,this.zoom=void 0,this.transform=void 0,this.showTooltip=function(e){n.tooltip.draw(e,n.xScales,n.yScales)},this.hideTooltip=function(){n.tooltip.clear()},this.getZoomedSeries=function(){var e=n.options,t=e.chart.renderTo,i=e.series,o=e.timestamp,r=e.xkey,s=t.offsetWidth;return i.map((function(e){if("[object Array]"===Object.prototype.toString.call(e.data)){var t=e.data.filter((function(e){var t="X"===o?1e3*e[r]:e[r],i=n.xScales(new Date(t));return i>=0&&i<=s}));return F(F({},e),{},{data:t})}return e}))},this.handleResize=function(){var e=n.options.chart,t=e.renderTo.offsetWidth,i=e.renderTo.offsetHeight;n.options.chart.width=t-e.marginLeft-e.marginRight,n.options.chart.height=i-e.marginTop-e.marginBottom,n.options.chart.containerWidth=t,n.options.chart.containerHeight=i,n.container.style.width="".concat(t,"px"),n.container.style.height="".concat(i,"px"),n.retinaScaled(n.backCanvas,"back"),n.retinaScaled(n.frontCanvas,"front"),n.retinaScaled(n.eventCanvas,"event"),n.initScales(),n.draw(!1)},this.handleZoom=function(e){var t=n.options,i=t.ykey,o=t.yAxis,r=n.options.series;if(e?(n.transform=e,n.xScales=e.rescaleX(n.xScales),r=n.getZoomedSeries()):(n.transform=void 0,n.xScales=n.xAxis.init()),Array.isArray(r)){var s,a=o.min||-1/0,c=o.max||1/0,l=W(r);try{for(l.s();!(s=l.n()).done;){var u=s.value,h=Array.isArray(u.data)?u.data:[],d=void 0;for(d=0;d<h.length;d++){var f=h[d][i];null!==f&&(a<f&&(a=f),c>f&&(c=f))}}}catch(e){l.e(e)}finally{l.f()}n.yAxis.setDomain(n.yScales,{ymin:a,ymax:c})}n.draw(!1),n.options.onZoom(n.getZoomedSeries)},this.handleLegendItemClick=function(e){var t=n.options.notDisplayedSeries;-1===t.indexOf(e)?t.push(e):n.options.notDisplayedSeries=t.filter((function(t){return t!==e})),n.draw(!1)};var i={ratio:window.devicePixelRatio||1,xkey:0,ykey:1,oykey:"__originValue",timestamp:"x",chart:{id:Object(d.uniqueId)("ts-graph-"),colors:["#3399CC","#CC9933","#9966CC","#66CC66","#CC3333","#99CCCC","#CCCC66","#CC99CC","#99CC99","#CC6666","#336699","#996633","#993399","#339966","#993333"],width:t.chart.renderTo.offsetWidth,height:t.chart.renderTo.offsetHeight||350,marginTop:10,marginRight:10,marginBottom:10,marginLeft:10},xAxis:{visible:!0,lineColor:"#ccc",lineWidth:1,tickLength:5,tickpadding:5,tickColor:"#ccc",labels:{color:"#999",fontSize:11}},yAxis:{visible:!0,lineColor:"#ccc",lineWidth:1,tickLength:5,tickpadding:5,tickColor:"#ccc",gridLineColor:"#efefef",labels:{color:"#999",shadowColor:"#fff",fontSize:11,style:{fontSize:11,color:"#999"}}},line:{width:2},area:{opacity:0},stack:{enabled:!1},curve:{enabled:!1},tooltip:{shared:!0,cascade:!1,cascadeScope:void 0},series:[],legend:{align:"center",verticalAlign:"top",enabled:!1},fillNull:void 0,onClick:function(){},onZoom:function(){}},o=Object(d.merge)({},i,t);void 0===t.chart.marginTop&&o.legend.enabled&&(o.chart.marginTop=20),this.handleResize=Object(d.debounce)(this.handleResize,300),this.init(o)}return u()(e,[{key:"init",value:function(e){var t=e.chart;this.options=e,this.options.notDisplayedSeries=[],this.options.chart.containerWidth=t.width,this.options.chart.containerHeight=t.height,this.options.chart.width=t.width-t.marginLeft-t.marginRight,this.options.chart.height=t.height-t.marginTop-t.marginBottom,this.createContainer(),this.createCanvas(),this.initEvent(),this.initLine(),this.initLegend(),this.initTooltip(),this.initZoom(),this.initSeries(),this.initScales(),this.draw()}},{key:"clearRect",value:function(e){var t=this.options.chart,n=t.containerWidth,i=t.containerHeight;e.clearRect(0,0,n,i)}},{key:"draw",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.clearRect(this.backContext),this.options.xAxis.visible&&this.yAxis.drawGridLine(this.yScales),this.line.draw(this.xScales,this.yScales),this.options.xAxis.visible&&this.xAxis.draw(this.xScales),this.options.yAxis.visible&&this.yAxis.draw(this.yScales),this.xAxis.drawPlotLines(this.xScales),this.yAxis.drawPlotLines(this.yScales),e&&this.legend.draw()}},{key:"update",value:function(e){var t=Object(d.assign)({},this.options,e);e.series&&(t.series=e.series),this.options=t,this.offEvents(),this.initEvent(),this.initSeries(),this.initLine(),this.initTooltip(),this.initScales(),this.legend.updateOptions(t),this.draw()}},{key:"getSeries",value:function(){return o()(this.options.series)}},{key:"initEvent",value:function(){var e,t=this.options.tooltip,n=t.cascade,i=t.cascadeScope,o=i?"plotmove:".concat(i):"plotmove",r=i?"plotleave:".concat(i):"plotleave",s=!1,a={},c={},l=!1,u=this,f=Object(d.debounce)((function(e){l&&(u.tooltip.draw(e,u.xScales,u.yScales),s&&u.zoom.drawMarker(a,e))}),10),p=Object(d.throttle)((function(){u.tooltip.clear()}),10);h.select(this.eventCanvas).on("mousemove",(function(){l=!0,f(h.event),n&&Z.emit(o,h.event)})).on("mouseleave",(function(){e=h.event,l=!1,p(),n&&Z.emit(r)})).on("mousedown",(function(){s=!0,a=h.event})).on("mouseup",(function(){h.event.stopPropagation();var e=h.event;a&&a.offsetX!==e.offsetX?(u.zoom.clearMarker(),u.zoom.onZoom(a,e,(function(e){u.handleZoom(e)}))):u.options.onClick(h.event,u.xScales.invert(h.event.offsetX)),s=!1,a={}})).on("touchstart",(function(){h.event.touches.length>1&&(s=!0)})).on("touchmove",(function(){var e=z(u.eventCanvas,h.event);1===h.event.touches.length&&u.tooltip.draw(e,u.xScales,u.yScales),s&&(a=e,c=z(u.eventCanvas,h.event,1),u.zoom.drawMarker(a,c))})).on("touchend",(function(){l=!1,p(),a&&a.offsetX!==c.offsetX?(u.zoom.clearMarker(),u.zoom.onZoom(a,c,(function(e){u.handleZoom(e)}))):u.options.onClick(h.event,u.xScales.invert(h.event.offsetX)),s=!1,a={},c={}})),n&&(Z.on(o,this.showTooltip),Z.on(r,this.hideTooltip)),window.addEventListener("mouseup",(function(){if(!Object(d.isEmpty)(a)){var t=e;s=!1,u.zoom.clearMarker(),u.zoom.onZoom(a,t,(function(e){u.handleZoom(e)})),a={}}})),_(this.options.chart.renderTo,this.handleResize)}},{key:"retinaScaled",value:function(e,t){var n=this.options,i=n.chart,o=n.ratio,r=e.getContext("2d"),s="front"===t?i.containerWidth:i.width,a="front"===t?i.containerHeight:i.height,c="front"===t?"0px":"".concat(i.marginLeft,"px"),l="front"===t?"0px":"".concat(i.marginTop,"px");e.width=s*o,e.height=a*o,e.style.width="".concat(s,"px"),e.style.height="".concat(a,"px"),e.style.position="absolute",e.style.left=c,e.style.top=l,"front"===t&&r.translate(i.marginLeft*o,i.marginTop*o),r.scale(o,o)}},{key:"createContainer",value:function(){var e=this.options.chart,t=document.createElement("div");t.style.position="relative",t.style.width="".concat(e.containerWidth,"px"),t.style.height="".concat(e.containerHeight,"px"),t.style.overflow="hidden",t.className="d3-graph-container",e.renderTo.appendChild(t),this.container=t}},{key:"createCanvas",value:function(){var e=this.options.chart.id;function t(t){var n=document.createElement("canvas"),i=n.getContext("2d");n.setAttribute("id","".concat(e,"-").concat(t,"Canvas")),this.container.appendChild(n),this["".concat(t,"Canvas")]=n,this["".concat(t,"Context")]=i,this.retinaScaled(n,t)}t.call(this,"back"),t.call(this,"front"),t.call(this,"event")}},{key:"initSeries",value:function(){var e=this.options,t=e.fillNull,n=e.series,i=e.xkey,o=e.ykey,r=e.oykey,s=e.yAxis,a=e.stack,c=-1/0,l=1/0,u=s.min,h=s.max;if(Array.isArray(n)){var d=[];n.forEach((function(e,s){var f,p=Array.isArray(e.data)?e.data:[],v=[],m=!1;for(f=0;f<p.length;f++){var y=p[f];if(a.enabled&&(y[r]=y[o],s>0)){var g=(Array.isArray(n[s-1].data)?n[s-1].data:[])[f];y[o]=g[r]+y[o]}var b=y[i],_=y[o];void 0===t?0===f||f===p.length-1||f>0&&f<p.length-1&&"number"==typeof _?(v.push(y),m=!0):m&&(v.push(y),m=!1):v.push(y),c<b&&(c=b),l>b&&(l=b),"number"==typeof _?(("number"!=typeof u||_<u)&&(u=_),("number"!=typeof h||_>h)&&(h=_)):"number"==typeof t&&(t<u&&(u=t),t>h&&(h=t))}d.push(F(F({},e),{},{data:v,zIndex:a.enabled?n.length-s:s}))})),this.options.series=d,this.options.xmin=c,this.options.xmax=l,this.options.ymin=u,this.options.ymax=h}}},{key:"initLine",value:function(){this.line=new B(this.options,this.backContext)}},{key:"initTooltip",value:function(){this.tooltip=new I(this.options,this.frontContext,this.container,this.eventCanvas)}},{key:"initZoom",value:function(){this.zoom=new R(this.options,this.handleZoom,this.container,this.eventCanvas)}},{key:"initLegend",value:function(){this.legend=new D(this.options,this.handleLegendItemClick,this.container,this.eventCanvas)}},{key:"initScales",value:function(){var e=new E(this.options,this.backContext),t=new A(this.options,this.backContext);this.xAxis=e;var n=e.init();this.transform&&(n=this.transform.rescaleX(n)),this.xScales=n,this.yAxis=t,this.yScales=t.init()}},{key:"offEvents",value:function(){var e=this.options.tooltip,t=e.cascade,n=e.cascadeScope,i=n?"plotmove:".concat(n):"plotmove",o=n?"plotleave:".concat(n):"plotleave";h.select(this.eventCanvas).on("mousemove",null).on("mouseleave",null).on("mousedown",null).on("mouseup",null).on("touchmove",null),function(e,t){let n=e.__resize_listeners__;if(n){if(t&&n.splice(n.indexOf(t),1),!n.length||!t){if(e.detachEvent&&e.removeEventListener)return e.detachEvent("onresize",e.__resize_legacy_resize_handler__),void document.removeEventListener("DOMSubtreeModified",e.__resize_mutation_handler__);e.__resize_observer__?(e.__resize_observer__.unobserve(e),e.__resize_observer__.disconnect(),e.__resize_observer__=null):(e.__resize_mutation_observer__&&(e.__resize_mutation_observer__.disconnect(),e.__resize_mutation_observer__=null),e.removeEventListener("scroll",w),e.removeChild(e.__resize_triggers__.triggers),e.__resize_triggers__=null),e.__resize_listeners__=null}!--g&&b&&b.parentNode.removeChild(b)}}(this.options.chart.renderTo,this.handleResize),t&&(Z.off(i,this.showTooltip),Z.off(o,this.hideTooltip))}},{key:"destroy",value:function(){this.tooltip.destroy(),this.offEvents(),h.select(this.container).remove()}}]),e}()}])}));
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/examples/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { random } from 'lodash';
|
|
|
2
2
|
import TsGraph from '../src/index';
|
|
3
3
|
import '../assets/style.less';
|
|
4
4
|
|
|
5
|
-
function generateSeries(idx, seriesCount =
|
|
5
|
+
function generateSeries(idx, seriesCount = 1) {
|
|
6
6
|
const series = [];
|
|
7
7
|
|
|
8
8
|
for (let n = 1; n <= seriesCount; n++) {
|
|
@@ -12,14 +12,15 @@ function generateSeries(idx, seriesCount = 2) {
|
|
|
12
12
|
for (let m = 1; m <= seriesDataCount; m++) {
|
|
13
13
|
seriesData.push({
|
|
14
14
|
timestamp: 1609430399000 + (m * 7776000000),
|
|
15
|
-
value:
|
|
15
|
+
// value: m < 20 ? 0 : m > 40 && m < 50 ? 100 : 0,
|
|
16
|
+
value: Math.ceil(Math.random()*1000),
|
|
16
17
|
});
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
series.push({
|
|
20
21
|
name: `cpu.idle${idx}${n}`,
|
|
21
22
|
data: seriesData,
|
|
22
|
-
color: '#D8DAE5'
|
|
23
|
+
// color: '#D8DAE5'
|
|
23
24
|
// lineDash: [4, 4],
|
|
24
25
|
});
|
|
25
26
|
}
|
|
@@ -27,20 +28,19 @@ function generateSeries(idx, seriesCount = 2) {
|
|
|
27
28
|
return series;
|
|
28
29
|
}
|
|
29
30
|
|
|
30
|
-
const graphsCount =
|
|
31
|
+
const graphsCount = 1;
|
|
31
32
|
const charts = [];
|
|
32
33
|
|
|
33
34
|
for (let i = 0; i < graphsCount; i++) {
|
|
34
35
|
const id = `c${i}`;
|
|
35
36
|
const renderTo = document.createElement('div');
|
|
36
37
|
renderTo.id = id;
|
|
37
|
-
renderTo.style.width = '300px'
|
|
38
|
-
renderTo.style.height = '100px';
|
|
38
|
+
// renderTo.style.width = '300px'
|
|
39
|
+
// renderTo.style.height = '100px';
|
|
39
40
|
renderTo.style.margin = '50px';
|
|
40
41
|
// renderTo.style.border = '1px solid #ccc';
|
|
41
42
|
document.body.appendChild(renderTo);
|
|
42
43
|
const graph = new TsGraph({
|
|
43
|
-
type: 'lineAndArea',
|
|
44
44
|
timestamp: 'x',
|
|
45
45
|
xkey: 'timestamp',
|
|
46
46
|
ykey: 'value',
|
|
@@ -57,23 +57,27 @@ for (let i = 0; i < graphsCount; i++) {
|
|
|
57
57
|
line: {
|
|
58
58
|
width: 1,
|
|
59
59
|
},
|
|
60
|
+
area: {
|
|
61
|
+
opacity: 0.5,
|
|
62
|
+
},
|
|
63
|
+
stack: {
|
|
64
|
+
enabled: true,
|
|
65
|
+
},
|
|
60
66
|
xAxis: {
|
|
61
|
-
visible: false,
|
|
67
|
+
// visible: false,
|
|
62
68
|
labels: {
|
|
63
|
-
timeFormat: '%Y
|
|
69
|
+
timeFormat: '%Y/%m/%d'
|
|
64
70
|
},
|
|
65
|
-
ticks: [
|
|
66
|
-
// new Date(1617206399000),
|
|
67
|
-
// new Date(1625068799000),
|
|
68
|
-
// new Date(1633017599000),
|
|
69
|
-
new Date(1640966399000)
|
|
70
|
-
],
|
|
71
71
|
},
|
|
72
72
|
yAxis: {
|
|
73
|
-
visible: false,
|
|
73
|
+
// visible: false,
|
|
74
74
|
},
|
|
75
75
|
legend: {
|
|
76
76
|
enabled: true
|
|
77
|
+
},
|
|
78
|
+
curve: {
|
|
79
|
+
enabled: true,
|
|
80
|
+
mode: 'catmullRom'
|
|
77
81
|
}
|
|
78
82
|
});
|
|
79
83
|
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as d3 from 'd3';
|
|
2
2
|
import { assign, merge, debounce, throttle, uniqueId, isEmpty } from 'lodash';
|
|
3
3
|
import { addListener, removeListener } from 'resize-detector';
|
|
4
|
-
|
|
5
|
-
const eventEmitter = new EventEmitter()
|
|
4
|
+
import EventEmitter from 'events';
|
|
6
5
|
import XAxis from './xAxis';
|
|
7
6
|
import YAxis from './yAxis';
|
|
8
7
|
import Tooltip from './tooltip';
|
|
@@ -13,6 +12,7 @@ import { TsGraphType, Options, EventPosition, Transform, Serie, SerieDataItem, X
|
|
|
13
12
|
import { getTouchPosition } from './utils';
|
|
14
13
|
import '../assets/style.less';
|
|
15
14
|
|
|
15
|
+
const eventEmitter = new EventEmitter();
|
|
16
16
|
export default class TsGraph {
|
|
17
17
|
options!: Options;
|
|
18
18
|
container!: HTMLElement;
|
|
@@ -32,10 +32,10 @@ export default class TsGraph {
|
|
|
32
32
|
transform!: Transform;
|
|
33
33
|
constructor(userOptions: Options) {
|
|
34
34
|
const defaultOptions = {
|
|
35
|
-
type: 'line',
|
|
36
35
|
ratio: window.devicePixelRatio || 1,
|
|
37
36
|
xkey: 0,
|
|
38
37
|
ykey: 1,
|
|
38
|
+
oykey: '__originValue', // stack area 用于缓存原始值
|
|
39
39
|
timestamp: 'x',
|
|
40
40
|
chart: {
|
|
41
41
|
id: uniqueId('ts-graph-'),
|
|
@@ -82,6 +82,15 @@ export default class TsGraph {
|
|
|
82
82
|
line: {
|
|
83
83
|
width: 2,
|
|
84
84
|
},
|
|
85
|
+
area: {
|
|
86
|
+
opacity: 0,
|
|
87
|
+
},
|
|
88
|
+
stack: {
|
|
89
|
+
enabled: false,
|
|
90
|
+
},
|
|
91
|
+
curve: {
|
|
92
|
+
enabled: false,
|
|
93
|
+
},
|
|
85
94
|
tooltip: {
|
|
86
95
|
shared: true,
|
|
87
96
|
cascade: false, // tooltip 联动
|
|
@@ -133,7 +142,7 @@ export default class TsGraph {
|
|
|
133
142
|
ctx.clearRect(0, 0, containerWidth, containerHeight);
|
|
134
143
|
}
|
|
135
144
|
|
|
136
|
-
draw() {
|
|
145
|
+
draw(redrawLegend = true) {
|
|
137
146
|
this.clearRect(this.backContext);
|
|
138
147
|
if (this.options.xAxis.visible) {
|
|
139
148
|
this.yAxis.drawGridLine(this.yScales);
|
|
@@ -147,7 +156,9 @@ export default class TsGraph {
|
|
|
147
156
|
}
|
|
148
157
|
this.xAxis.drawPlotLines(this.xScales);
|
|
149
158
|
this.yAxis.drawPlotLines(this.yScales);
|
|
150
|
-
|
|
159
|
+
if (redrawLegend) {
|
|
160
|
+
this.legend.draw();
|
|
161
|
+
}
|
|
151
162
|
}
|
|
152
163
|
|
|
153
164
|
update(newOptions: Options) {
|
|
@@ -225,7 +236,7 @@ export default class TsGraph {
|
|
|
225
236
|
_this.handleZoom(transform);
|
|
226
237
|
});
|
|
227
238
|
} else {
|
|
228
|
-
_this.options.onClick(d3.event);
|
|
239
|
+
_this.options.onClick(d3.event, _this.xScales.invert(d3.event.offsetX));
|
|
229
240
|
}
|
|
230
241
|
mousedownStatus = false;
|
|
231
242
|
mousedownPos = {} as EventPosition;
|
|
@@ -259,7 +270,7 @@ export default class TsGraph {
|
|
|
259
270
|
_this.handleZoom(transform);
|
|
260
271
|
});
|
|
261
272
|
} else {
|
|
262
|
-
_this.options.onClick(d3.event);
|
|
273
|
+
_this.options.onClick(d3.event, _this.xScales.invert(d3.event.offsetX));
|
|
263
274
|
}
|
|
264
275
|
mousedownStatus = false;
|
|
265
276
|
mousedownPos = {} as EventPosition;
|
|
@@ -321,7 +332,7 @@ export default class TsGraph {
|
|
|
321
332
|
this.retinaScaled(this.frontCanvas, 'front');
|
|
322
333
|
this.retinaScaled(this.eventCanvas, 'event');
|
|
323
334
|
this.initScales();
|
|
324
|
-
this.draw();
|
|
335
|
+
this.draw(false);
|
|
325
336
|
}
|
|
326
337
|
|
|
327
338
|
handleZoom = (transform?: Transform) => {
|
|
@@ -357,7 +368,7 @@ export default class TsGraph {
|
|
|
357
368
|
}
|
|
358
369
|
this.yAxis.setDomain(this.yScales, { ymin, ymax });
|
|
359
370
|
}
|
|
360
|
-
this.draw();
|
|
371
|
+
this.draw(false);
|
|
361
372
|
this.options.onZoom(this.getZoomedSeries);
|
|
362
373
|
}
|
|
363
374
|
|
|
@@ -371,7 +382,7 @@ export default class TsGraph {
|
|
|
371
382
|
return serie !== serieName;
|
|
372
383
|
});
|
|
373
384
|
}
|
|
374
|
-
this.
|
|
385
|
+
this.draw(false);
|
|
375
386
|
}
|
|
376
387
|
|
|
377
388
|
retinaScaled(canvas: HTMLCanvasElement, name: string) {
|
|
@@ -427,7 +438,7 @@ export default class TsGraph {
|
|
|
427
438
|
}
|
|
428
439
|
|
|
429
440
|
initSeries() {
|
|
430
|
-
const { fillNull, series, xkey, ykey, yAxis } = this.options;
|
|
441
|
+
const { fillNull, series, xkey, ykey, oykey, yAxis, stack } = this.options;
|
|
431
442
|
let xmin = -Infinity;
|
|
432
443
|
let xmax = Infinity;
|
|
433
444
|
let ymin = yAxis.min;
|
|
@@ -435,13 +446,22 @@ export default class TsGraph {
|
|
|
435
446
|
|
|
436
447
|
if (Array.isArray(series)) {
|
|
437
448
|
const newSeries: Serie[] = [];
|
|
438
|
-
|
|
449
|
+
series.forEach((serie, idx) => {
|
|
439
450
|
const data = Array.isArray(serie.data) ? serie.data : [];
|
|
440
451
|
const newData: SerieDataItem[] = [];
|
|
441
452
|
let flag = false; // 起始标记,后面有连续空值即丢掉
|
|
442
453
|
let dataIdx;
|
|
443
454
|
for (dataIdx = 0; dataIdx < data.length; dataIdx++) {
|
|
444
455
|
const item = data[dataIdx];
|
|
456
|
+
if (stack.enabled) {
|
|
457
|
+
item[oykey] = item[ykey];
|
|
458
|
+
if (idx > 0) {
|
|
459
|
+
const preData = Array.isArray(series[idx - 1].data) ? series[idx - 1].data : [];
|
|
460
|
+
const preItem = preData[dataIdx];
|
|
461
|
+
item[ykey] = preItem[oykey] + item[ykey];
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
|
|
445
465
|
const x = item[xkey];
|
|
446
466
|
const y = item[ykey];
|
|
447
467
|
|
|
@@ -488,8 +508,9 @@ export default class TsGraph {
|
|
|
488
508
|
newSeries.push({
|
|
489
509
|
...serie,
|
|
490
510
|
data: newData,
|
|
511
|
+
zIndex: stack.enabled ? series.length - idx : idx,
|
|
491
512
|
});
|
|
492
|
-
}
|
|
513
|
+
});
|
|
493
514
|
// TODO: 这里不能直接 set,应该保留用户的 options
|
|
494
515
|
this.options.series = newSeries;
|
|
495
516
|
this.options.xmin = xmin;
|
package/src/interface.ts
CHANGED
|
@@ -7,6 +7,7 @@ export type Timestamp = 'x' | 'X';
|
|
|
7
7
|
export type BaseOptions = {
|
|
8
8
|
xkey: number | string,
|
|
9
9
|
ykey: number | string,
|
|
10
|
+
oykey: string,
|
|
10
11
|
timestamp: Timestamp,
|
|
11
12
|
}
|
|
12
13
|
|
|
@@ -86,6 +87,7 @@ export interface Serie {
|
|
|
86
87
|
visible: boolean,
|
|
87
88
|
data: SerieDataItem[],
|
|
88
89
|
lineDash?: number[],
|
|
90
|
+
zIndex?: number,
|
|
89
91
|
}
|
|
90
92
|
|
|
91
93
|
export type Series = Serie[]
|
|
@@ -138,7 +140,6 @@ export interface GetNearestPointsFnParam extends BaseOptions {
|
|
|
138
140
|
}
|
|
139
141
|
|
|
140
142
|
export interface Options extends BaseOptions {
|
|
141
|
-
type: 'line' | 'area' | 'lineAndArea',
|
|
142
143
|
ratio: number,
|
|
143
144
|
chart: Chart,
|
|
144
145
|
xAxis: XAxis,
|
|
@@ -147,6 +148,16 @@ export interface Options extends BaseOptions {
|
|
|
147
148
|
line: {
|
|
148
149
|
width: number,
|
|
149
150
|
},
|
|
151
|
+
area: {
|
|
152
|
+
opacity: number,
|
|
153
|
+
},
|
|
154
|
+
stack: {
|
|
155
|
+
enabled: boolean,
|
|
156
|
+
},
|
|
157
|
+
curve: {
|
|
158
|
+
enabled: boolean,
|
|
159
|
+
mode: 'smooth' // 'step' | 'stepAfter' | 'stepBefore'
|
|
160
|
+
},
|
|
150
161
|
series: Serie[],
|
|
151
162
|
notDisplayedSeries: string[],
|
|
152
163
|
legend: Legend,
|
|
@@ -156,7 +167,7 @@ export interface Options extends BaseOptions {
|
|
|
156
167
|
xmax: number,
|
|
157
168
|
ymin: number,
|
|
158
169
|
ymax: number,
|
|
159
|
-
onClick: (d3Event: any) => any,
|
|
170
|
+
onClick: (d3Event: any, date: Date) => any,
|
|
160
171
|
onZoom: (getZoomedSeries: () => Series) => any,
|
|
161
172
|
}
|
|
162
173
|
|
package/src/legend.ts
CHANGED
|
@@ -39,6 +39,11 @@ export default class Legend {
|
|
|
39
39
|
handelLegendItemClick = (e: MouseEvent) => {
|
|
40
40
|
const currentTarget = e.currentTarget as HTMLElement;
|
|
41
41
|
if (currentTarget) {
|
|
42
|
+
if (currentTarget.classList.contains('ts-graph-legend-item-active')) {
|
|
43
|
+
currentTarget.classList.remove('ts-graph-legend-item-active');
|
|
44
|
+
} else {
|
|
45
|
+
currentTarget.classList.add('ts-graph-legend-item-active');
|
|
46
|
+
}
|
|
42
47
|
const serieName = currentTarget.getAttribute('data-serie');
|
|
43
48
|
if (serieName) {
|
|
44
49
|
this.onLegendItemClick(serieName);
|
package/src/line.ts
CHANGED
|
@@ -12,9 +12,30 @@ export default class Line {
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
draw(xScales: XScales, yScales: YScales) {
|
|
15
|
-
const {
|
|
15
|
+
const { series, chart: { colors, height }, xAxis, xkey, ykey, timestamp, fillNull, notDisplayedSeries, curve } = this.options;
|
|
16
|
+
const { width: lineWidth } = this.options.line;
|
|
17
|
+
const { opacity: areaOpacity } = this.options.area;
|
|
16
18
|
const { ctx } = this;
|
|
17
19
|
|
|
20
|
+
const xAccessor = (d: SerieDataItem) => {
|
|
21
|
+
const xVal = timestamp === 'X' ? d[xkey] * 1000 : d[xkey];
|
|
22
|
+
const x = xScales(new Date(xVal));
|
|
23
|
+
return x;
|
|
24
|
+
};
|
|
25
|
+
const yAccessor = (d: SerieDataItem) => {
|
|
26
|
+
const val = d[ykey];
|
|
27
|
+
if (typeof val === 'number') {
|
|
28
|
+
return yScales(val);
|
|
29
|
+
} else if (typeof fillNull === 'number') {
|
|
30
|
+
return yScales(fillNull);
|
|
31
|
+
}
|
|
32
|
+
return undefined;
|
|
33
|
+
};
|
|
34
|
+
const definedAccessor = (d: SerieDataItem) => {
|
|
35
|
+
const val = d[ykey];
|
|
36
|
+
return typeof val === 'number' || typeof fillNull === 'number';
|
|
37
|
+
};
|
|
38
|
+
|
|
18
39
|
sortBy(series, 'zIndex').forEach((serie: Serie, i: number) => {
|
|
19
40
|
if (serie.visible === false) return;
|
|
20
41
|
if (notDisplayedSeries.indexOf(serie.name) > -1) return;
|
|
@@ -23,66 +44,52 @@ export default class Line {
|
|
|
23
44
|
|
|
24
45
|
serie.color = color;
|
|
25
46
|
|
|
26
|
-
if (
|
|
47
|
+
if (areaOpacity > 0) {
|
|
27
48
|
ctx.beginPath();
|
|
28
|
-
const area = d3.area()
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return yScales(fillNull);
|
|
49
|
+
const area = d3.area()
|
|
50
|
+
.x(xAccessor)
|
|
51
|
+
.y0(height - xAxis.tickpadding - xAxis.labels.fontSize - 5)
|
|
52
|
+
.y1(yAccessor)
|
|
53
|
+
.defined(definedAccessor)
|
|
54
|
+
.context(ctx);
|
|
55
|
+
|
|
56
|
+
if (curve.enabled) {
|
|
57
|
+
if (curve.mode === 'smooth') {
|
|
58
|
+
area.curve(d3.curveMonotoneX)
|
|
39
59
|
}
|
|
40
|
-
|
|
41
|
-
}).defined((d: SerieDataItem) => {
|
|
42
|
-
const val = d[ykey];
|
|
43
|
-
return typeof val === 'number' || typeof fillNull === 'number';
|
|
44
|
-
}).context(ctx);
|
|
60
|
+
}
|
|
45
61
|
|
|
46
62
|
area(serie.data || [])
|
|
47
63
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
grd.addColorStop(0, color);
|
|
51
|
-
grd.addColorStop(0.2, color);
|
|
52
|
-
grd.addColorStop(1, 'rgb(255,255,255, 0)');
|
|
53
|
-
ctx.fillStyle = grd;
|
|
64
|
+
ctx.fillStyle = color;
|
|
65
|
+
ctx.globalAlpha = areaOpacity;
|
|
54
66
|
ctx.fill();
|
|
55
67
|
ctx.closePath();
|
|
56
68
|
}
|
|
57
69
|
|
|
58
|
-
if (
|
|
70
|
+
if (lineWidth > 0) {
|
|
59
71
|
ctx.beginPath();
|
|
60
|
-
const line = d3.line()
|
|
61
|
-
|
|
62
|
-
|
|
72
|
+
const line = d3.line()
|
|
73
|
+
.x(xAccessor)
|
|
74
|
+
.y(yAccessor)
|
|
75
|
+
.defined(definedAccessor)
|
|
76
|
+
.context(ctx);
|
|
63
77
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if (typeof val === 'number') {
|
|
68
|
-
return yScales(val);
|
|
69
|
-
} else if (typeof fillNull === 'number') {
|
|
70
|
-
return yScales(fillNull);
|
|
78
|
+
if (curve.enabled) {
|
|
79
|
+
if (curve.mode === 'smooth') {
|
|
80
|
+
line.curve(d3.curveMonotoneX)
|
|
71
81
|
}
|
|
72
|
-
|
|
73
|
-
}).defined((d: SerieDataItem) => {
|
|
74
|
-
const val = d[ykey];
|
|
75
|
-
return typeof val === 'number' || typeof fillNull === 'number';
|
|
76
|
-
}).context(ctx);
|
|
82
|
+
}
|
|
77
83
|
|
|
78
84
|
ctx.lineTo(0, 0); // TODO: fix don't draw the first single point
|
|
79
85
|
|
|
80
86
|
line(serie.data || []);
|
|
81
87
|
|
|
82
88
|
ctx.lineJoin = 'round';
|
|
83
|
-
ctx.lineWidth =
|
|
89
|
+
ctx.lineWidth = lineWidth;
|
|
84
90
|
ctx.strokeStyle = color;
|
|
85
91
|
ctx.lineCap = 'round';
|
|
92
|
+
ctx.globalAlpha = 1;
|
|
86
93
|
ctx.setLineDash(serie.lineDash || []);
|
|
87
94
|
ctx.stroke();
|
|
88
95
|
ctx.closePath();
|
package/src/tooltip.ts
CHANGED
|
@@ -51,13 +51,14 @@ export default class Tooltip {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
getNearestPoints(eventPosition: EventPosition, xScales: XScales, yScales: YScales, cbk: (nearestPoints: Point[]) => void) {
|
|
54
|
-
const { series = [], chart: { id, colors }, tooltip: { shared }, xkey, ykey, timestamp, fillNull } = this.options;
|
|
54
|
+
const { series = [], chart: { id, colors }, tooltip: { shared }, xkey, ykey, oykey, timestamp, fillNull } = this.options;
|
|
55
55
|
const x = xScales.invert(eventPosition.offsetX);
|
|
56
56
|
let nearestPoints: Point[] = [];
|
|
57
57
|
const message: WorkerPostMessage = {
|
|
58
58
|
x,
|
|
59
59
|
xkey,
|
|
60
60
|
ykey,
|
|
61
|
+
oykey,
|
|
61
62
|
timestamp,
|
|
62
63
|
fillNull,
|
|
63
64
|
};
|