@fc-plot/ts-graph 0.15.2 → 0.16.2
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/dist/BundleReport.html +2 -2
- package/dist/index.js +1 -1
- package/examples/edit-maker.png +0 -0
- package/examples/index.js +39 -4
- package/package.json +1 -1
- package/src/index.ts +26 -8
- package/src/interface.ts +15 -1
- package/src/shapes.ts +76 -0
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 [11 May 2022 at 17:08]</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":104261,"parsedSize":47359,"gzipSize":13586,"groups":[{"label":"node_modules","path":"./node_modules","statSize":18573,"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":230},{"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":154,"gzipSize":128},{"id":6,"label":"arrayLikeToArray.js","path":"./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","statSize":312,"parsedSize":181,"gzipSize":151},{"id":8,"label":"arrayWithoutHoles.js","path":"./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","statSize":266,"parsedSize":134,"gzipSize":117},{"id":9,"label":"iterableToArray.js","path":"./node_modules/@babel/runtime/helpers/iterableToArray.js","statSize":274,"parsedSize":189,"gzipSize":153},{"id":10,"label":"unsupportedIterableToArray.js","path":"./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","statSize":609,"parsedSize":374,"gzipSize":270},{"id":11,"label":"nonIterableSpread.js","path":"./node_modules/@babel/runtime/helpers/nonIterableSpread.js","statSize":308,"parsedSize":244,"gzipSize":193}],"parsedSize":1989,"gzipSize":720},{"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}],"parsedSize":8015,"gzipSize":2554},{"label":"assets","path":"./assets","statSize":1972,"groups":[{"id":12,"label":"style.less","path":"./assets/style.less","statSize":1972,"parsedSize":17,"gzipSize":37}],"parsedSize":17,"gzipSize":37},{"label":"src","path":"./src","statSize":83716,"groups":[{"id":13,"label":"index.ts + 11 modules (concatenated)","path":"./src/index.ts + 11 modules (concatenated)","statSize":83716,"parsedSize":37929,"gzipSize":11096,"concatenated":true,"groups":[{"label":"src","path":"./src/index.ts + 11 modules (concatenated)/src","statSize":75634,"groups":[{"id":null,"label":"index.ts","path":"./src/index.ts + 11 modules (concatenated)/src/index.ts","statSize":26765,"parsedSize":12126,"gzipSize":3547,"inaccurateSizes":true},{"id":null,"label":"utils.ts","path":"./src/index.ts + 11 modules (concatenated)/src/utils.ts","statSize":2695,"parsedSize":1221,"gzipSize":357,"inaccurateSizes":true},{"id":null,"label":"xAxis.ts","path":"./src/index.ts + 11 modules (concatenated)/src/xAxis.ts","statSize":4482,"parsedSize":2030,"gzipSize":594,"inaccurateSizes":true},{"id":null,"label":"yAxis.ts","path":"./src/index.ts + 11 modules (concatenated)/src/yAxis.ts","statSize":6282,"parsedSize":2846,"gzipSize":832,"inaccurateSizes":true},{"id":null,"label":"tooltip.ts","path":"./src/index.ts + 11 modules (concatenated)/src/tooltip.ts","statSize":13658,"parsedSize":6187,"gzipSize":1810,"inaccurateSizes":true},{"id":null,"label":"line.ts","path":"./src/index.ts + 11 modules (concatenated)/src/line.ts","statSize":3378,"parsedSize":1530,"gzipSize":447,"inaccurateSizes":true},{"id":null,"label":"bar.ts","path":"./src/index.ts + 11 modules (concatenated)/src/bar.ts","statSize":2181,"parsedSize":988,"gzipSize":289,"inaccurateSizes":true},{"id":null,"label":"zoom.ts","path":"./src/index.ts + 11 modules (concatenated)/src/zoom.ts","statSize":4242,"parsedSize":1921,"gzipSize":562,"inaccurateSizes":true},{"id":null,"label":"legend.ts","path":"./src/index.ts + 11 modules (concatenated)/src/legend.ts","statSize":3739,"parsedSize":1694,"gzipSize":495,"inaccurateSizes":true},{"id":null,"label":"shapes.ts","path":"./src/index.ts + 11 modules (concatenated)/src/shapes.ts","statSize":3011,"parsedSize":1364,"gzipSize":399,"inaccurateSizes":true},{"id":null,"label":"getNearestPoints.ts","path":"./src/index.ts + 11 modules (concatenated)/src/getNearestPoints.ts","statSize":5201,"parsedSize":2356,"gzipSize":689,"inaccurateSizes":true}],"parsedSize":34267,"gzipSize":10024,"inaccurateSizes":true},{"label":"node_modules/resize-detector/esm","path":"./src/index.ts + 11 modules (concatenated)/node_modules/resize-detector/esm","statSize":8042,"groups":[{"id":null,"label":"index.js","path":"./src/index.ts + 11 modules (concatenated)/node_modules/resize-detector/esm/index.js","statSize":8042,"parsedSize":3643,"gzipSize":1065,"inaccurateSizes":true}],"parsedSize":3643,"gzipSize":1065,"inaccurateSizes":true}]}],"parsedSize":37929,"gzipSize":11096}]}];
|
|
50
50
|
window.defaultSizes = "parsed";
|
|
51
51
|
</script>
|
|
52
52
|
</body>
|
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 i="object"==typeof exports?t(require("d3"),require("lodash")):t(e.d3,e._);for(var n in i)("object"==typeof exports?exports:e)[n]=i[n]}}(window,(function(e,t){return function(e){var t={};function i(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,i),o.l=!0,o.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)i.d(n,o,function(t){return e[t]}.bind(null,o));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=13)}([function(t,i){t.exports=e},function(e,i){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 i(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,i){var n=i(8),o=i(9),r=i(10),s=i(11);e.exports=function(e){return n(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 i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,i){"use strict";var n,o="object"==typeof Reflect?Reflect:null,r=o&&"function"==typeof o.apply?o.apply:function(e,t,i){return Function.prototype.apply.call(e,t,i)};n=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(i,n){function o(i){e.removeListener(t,r),n(i)}function r(){"function"==typeof e.removeListener&&e.removeListener("error",o),i([].slice.call(arguments))}y(e,t,r,{once:!0}),"error"!==t&&function(e,t,i){"function"==typeof e.on&&y(e,"error",t,i)}(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 h(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function u(e,t,i,n){var o,r,s,a;if(l(i),void 0===(r=e._events)?(r=e._events=Object.create(null),e._eventsCount=0):(void 0!==r.newListener&&(e.emit("newListener",t,i.listener?i.listener:i),r=e._events),s=r[t]),void 0===s)s=r[t]=i,++e._eventsCount;else if("function"==typeof s?s=r[t]=n?[i,s]:[s,i]:n?s.unshift(i):s.push(i),(o=h(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,i){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:i},o=d.bind(n);return o.listener=i,n.wrapFn=o,o}function p(e,t,i){var n=e._events;if(void 0===n)return[];var o=n[t];return void 0===o?[]:"function"==typeof o?i?[o.listener||o]:[o]:i?function(e){for(var t=new Array(e.length),i=0;i<t.length;++i)t[i]=e[i].listener||e[i];return t}(o):m(o,o.length)}function v(e){var t=this._events;if(void 0!==t){var i=t[e];if("function"==typeof i)return 1;if(void 0!==i)return i.length}return 0}function m(e,t){for(var i=new Array(t),n=0;n<t;++n)i[n]=e[n];return i}function y(e,t,i,n){if("function"==typeof e.on)n.once?e.once(t,i):e.on(t,i);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){n.once&&e.removeEventListener(t,o),i(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 h(this)},a.prototype.emit=function(e){for(var t=[],i=1;i<arguments.length;i++)t.push(arguments[i]);var n="error"===e,o=this._events;if(void 0!==o)n=n&&void 0===o.error;else if(!n)return!1;if(n){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,h=m(c,l);for(i=0;i<l;++i)r(h[i],this,t)}return!0},a.prototype.addListener=function(e,t){return u(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return u(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 i,n,o,r,s;if(l(t),void 0===(n=this._events))return this;if(void 0===(i=n[e]))return this;if(i===t||i.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,i.listener||t));else if("function"!=typeof i){for(o=-1,r=i.length-1;r>=0;r--)if(i[r]===t||i[r].listener===t){s=i[r].listener,o=r;break}if(o<0)return this;0===o?i.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(i,o),1===i.length&&(n[e]=i[0]),void 0!==n.removeListener&&this.emit("removeListener",e,s||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,i,n;if(void 0===(i=this._events))return this;if(void 0===i.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==i[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete i[e]),this;if(0===arguments.length){var o,r=Object.keys(i);for(n=0;n<r.length;++n)"removeListener"!==(o=r[n])&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=i[e]))this.removeListener(e,t);else if(void 0!==t)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);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?n(this._events):[]}},function(e,t,i){var n=i(6);e.exports=function(e){if(Array.isArray(e))return n(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,i){var n=i(6);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?n(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,i){},function(e,t,i){"use strict";i.r(t),i.d(t,"default",(function(){return $}));var n=i(5),o=i.n(n),r=i(4),s=i.n(r),a=i(2),c=i.n(a),l=i(3),h=i.n(l),u=i(0),d=i(1);let f=null;let p=null;function v(e,t={}){let i=document.createElement(e);return Object.keys(t).forEach(e=>{i[e]=t[e]}),i}function m(e,t,i){return(window.getComputedStyle(e,i||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:i}=e,n=new ResizeObserver(()=>{(e.__resize_observer_triggered__||(e.__resize_observer_triggered__=!0,e.offsetWidth!==t||e.offsetHeight!==i))&&k(e)}),{detached:o,rendered:r}=y(e);e.__resize_observer_triggered__=!1===o&&!1===r,e.__resize_observer__=n,n.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 i=v("div",{className:"resize-triggers"}),n=v("div",{className:"resize-expand-trigger"}),o=v("div"),r=v("div",{className:"resize-contract-trigger"});n.appendChild(o),i.appendChild(n),i.appendChild(r),e.appendChild(i),e.__resize_triggers__={triggers:i,expand:n,expandChild:o,contract:r},C(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__&&(C(this),this.addEventListener("scroll",w,!0)),this.__resize_rendered__=e,k(this))}function w(){var e,t;C(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:i}=e.__resize_last__,{offsetWidth:n,offsetHeight:o}=e;return n!==t||o!==i?{width:n,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 C(e){let{expand:t,expandChild:i,contract:n}=e.__resize_triggers__,{scrollWidth:o,scrollHeight:r}=n,{offsetWidth:s,offsetHeight:a,scrollWidth:c,scrollHeight:l}=t;n.scrollLeft=o,n.scrollTop=r,i.style.width=s+1+"px",i.style.height=a+1+"px",t.scrollLeft=c,t.scrollTop=l}var O=i(7),S=i.n(O);function z(e,t){var i=e.length;return t<i?e[t]:z(e,t-i)}function L(e,t){return"X"===t?1e3*e:e}function E(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=e.getBoundingClientRect(),o=t.touches[i].clientX,r=t.touches[i].clientY,s=o-n.left,a=r-n.top;return{offsetX:s,offsetY:a,clientX:o,clientY:r}}function j(e){var t=String(e);if(e>=1e3){t=u.format(".5s")(e);var i=/[kMGTPEZY]$/;if(i.test(t)){var n=t[t.length-1];t=t.replace(i,""),t=parseFloat(t)+n}}return t}function A(e,t){var i=e;return"function"==typeof t&&(i=t(e)),i}var T=function(){function e(t,i,n){c()(this,e),this.options=void 0,this.ctx=void 0,this.yAxis=void 0,this.options=t,this.ctx=i,this.yAxis=n}return h()(e,[{key:"init",value:function(){var e=this.options,t=e.chart.width,i=e.timestamp,n=e.xmin,o=e.xmax,r=u.scaleTime().range([this.yAxis.tickMaxWidth,t]);return r.domain([L(o,i)+(n===o?1e3:0),L(n,i)-(n===o?1e3:0)]),r}},{key:"draw",value:function(e){var t=this.ctx,i=this.options,n=i.chart,o=i.xAxis,r=i.time,s=e.ticks(Math.floor(n.width/90));o.ticks&&(s=o.ticks);var a=n.height-o.tickpadding-o.labels.fontSize;t.beginPath(),s.forEach((function(i){var n=e(i);n&&(t.moveTo(n,a),t.lineTo(n,a-o.tickLength))})),t.lineWidth=1,t.strokeStyle=o.tickColor,t.stroke(),t.closePath(),t.beginPath(),t.moveTo(0,a-o.tickLength),t.lineTo(n.width,a-o.tickLength),t.lineWidth=1,t.strokeStyle=o.lineColor,t.stroke(),t.closePath(),t.textAlign="center",t.textBaseline="bottom",t.fillStyle=o.labels.color,t.font="".concat(o.labels.fontSize,"px Palantino"),s.forEach((function(i,a){var c="%H:%M";0!==i.getSeconds()&&(c="%H:%M:%S"),0===i.getHours()&&0===i.getMinutes()&&0===i.getSeconds()&&(c="%m-%d"),o.labels.timeFormat&&(c=o.labels.timeFormat);var l=i;if(r&&r.timezoneOffset){var h=i.getTimezoneOffset(),d=i.getTime()+60*h*1e3+60*r.timezoneOffset*1e3;l=new Date(d)}if(o.ticks&&o.ticks.length>1){var f=e(i);0===a?f+=c.length*o.labels.fontSize/4+1:a===s.length-1&&(f-=c.length*o.labels.fontSize/4-1),t.fillText(u.timeFormat(c)(l),f,n.height)}else e(i)&&t.fillText(u.timeFormat(c)(l),e(i),n.height)}))}},{key:"drawPlotLines",value:function(e){var t=this.ctx,i=this.options,n=i.chart,o=i.xAxis,r=i.xAxis.plotLines,s=n.height-o.tickpadding-o.labels.fontSize;Array.isArray(r)&&r.forEach((function(n){var r=e("X"===i.timestamp?1e3*n.value:n.value);t.setLineDash([5,3]),t.beginPath(),t.moveTo(r,0),t.lineTo(r,s-o.tickLength),t.strokeStyle=n.color,t.stroke(),t.setLineDash([])}))}}]),e}(),P=function(){function e(t,i){c()(this,e),this.options=void 0,this.ctx=void 0,this.tickLength=void 0,this.ticks=void 0,this.tickMaxWidth=void 0,this.options=t;var n=t.yAxis;i.font="".concat(n.labels.fontSize,"px Palantino"),this.ctx=i,this.tickLength=Math.floor(t.chart.height/50),this.ticks=[],this.tickMaxWidth=0}return h()(e,[{key:"init",value:function(){var e=this.options,t=e.chart,i=e.xAxis,n=u.scaleLinear().range([t.height-(i.labels.fontSize+i.tickpadding+i.tickLength),20]);return this.setDomain(n,this.options),n}},{key:"getRealData",value:function(e){var t=this.options,i=t.yAxis.plotLines,n=t.ykey,o=t.fillNull;return Array.isArray(e)?(Array.isArray(i)&&i.forEach((function(t){"number"==typeof t.value&&e.push(s()({},n,t.value))})),"number"==typeof o&&e.push(s()({},n,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 i=t.ymin,n=t.ymax,o=this.options.yAxis,r=this.getPlotLinesMaxAbs(),s=this.tickLength;if(i===n){var a=(n-i)/(this.tickLength-1),c=a/2||n||1;s=0===a?1:this.tickLength,i-=c,n+=c}if(i>n){var l=i;i=n,n=l}r&&(r<i&&(i=r),r>n&&(n=r)),e.domain([i,n]),e.nice(s);var h=e.ticks(s),u=function(e,t,i){var n=e.map((function(e){var n;return n="function"==typeof i?i(e):j(e),t.measureText(n).width}));return Object(d.max)(n)}(h,this.ctx,o.tickValueFormatter)+5;this.ticks=h,this.tickMaxWidth=u}},{key:"draw",value:function(e){var t=this,i=this.ctx,n=this.options,o=n.yAxis,r=n.chart;i.beginPath(),i.fillStyle="#fff",i.fillRect(0,0,this.tickMaxWidth,r.height),i.stroke(),i.closePath(),i.textAlign="right",i.textBaseline="middle",i.strokeStyle=o.labels.color,i.lineWidth=1,i.fillStyle=o.labels.color,this.ticks.forEach((function(n){var r;r="function"==typeof o.tickValueFormatter?o.tickValueFormatter(n):j(n);var s=e(n);i.fillText(r,t.tickMaxWidth-5,s)}))}},{key:"drawGridLine",value:function(e){var t=this.ctx,i=this.options,n=i.chart,o=i.yAxis;t.beginPath(),this.ticks.forEach((function(i){var o=e(i);t.moveTo(0,o),t.lineTo(n.width,o)})),t.strokeStyle=o.gridLineColor,t.stroke(),t.closePath()}},{key:"drawPlotLines",value:function(e){var t=this.ctx,i=this.options,n=i.chart,o=i.yAxis,r=i.yAxis.plotLines;Array.isArray(r)&&r.forEach((function(i){var r=e(i.value);t.setLineDash([5,3]),t.beginPath(),t.moveTo(0,r),t.lineTo(n.width,r),t.strokeStyle=i.color,t.stroke(),t.setLineDash([]),t.textAlign="right",t.textBaseline="top",t.shadowColor="#fff",t.shadowBlur=1,t.lineWidth=1,t.fillStyle=i.color,t.font="".concat(o.labels.fontSize,"px Palantino"),t.strokeText(String(i.value),n.width-10,r),t.fillText(String(i.value),n.width-10,r)}))}}]),e}();function M(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function N(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?M(Object(i),!0).forEach((function(t){s()(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):M(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function I(e,t){return"X"===t?1e3*e:e}function D(e){var t,i=e.series,n=e.x,o=e.xkey,r=e.ykey,s=e.oykey,a=e.timestamp,c=e.fillNull,l=(t=function(e,t){return(i=I(e[o],a))<(n=t)?-1:i>n?1:i>=n?0:NaN;var i,n},{left:function(e,i,n,o){for(null==n&&(n=0),null==o&&(o=e.length);n<o;){var r=n+o>>>1;t(e[r],i)<0?n=r+1:o=r}return n},right:function(e,i,n,o){for(null==n&&(n=0),null==o&&(o=e.length);n<o;){var r=n+o>>>1;t(e[r],i)>0?o=r:n=r+1}return n}}).left,h=new Date(n).getTime(),u=[];return"[object Array]"!==Object.prototype.toString.call(i)?[]:(i.forEach((function(e,t){if(!1!==e.visible){var i=e.name,d=e.color,f=function(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&"[object Function]"===Object.prototype.toString.call(t)&&t(n)&&(i[n]=e[n]);return i}(e,(function(e){return"data"!==e})),p=e.data,v=void 0===p?[]:p;if("[object Array]"===Object.prototype.toString.call(v)&&0!==(v=v.filter((function(e){return"number"==typeof e[r]||"number"==typeof c}))).length){var m,y=l(v,n),g=v[y-1],b=v[y];if(g&&b){var _=I(g[o],a),x=I(b[o],a),w=g[r],k=b[r];null===w&&void 0!==c&&(w=c),null===k&&void 0!==c&&(k=c),m=h-_<x-h?N(N({},g),{},{name:i,color:d,timestamp:_,value:w,origin:g[s],serieIndex:t,serieOptions:f}):N(N({},b),{},{name:i,color:d,timestamp:x,value:k,origin:b[s],serieIndex:t,serieOptions:f}),u.push(m)}else if(g){var C=I(g[o],a),O=g[r];null===O&&void 0!==c&&(O=c),m=N(N({},g),{},{name:i,color:d,timestamp:C,value:O,origin:g[s],serieIndex:t,serieOptions:f}),u.push(m)}else if(b){var S=I(b[o],a),z=b[r];null===z&&void 0!==c&&(z=c),m=N(N({},b),{},{name:i,color:d,timestamp:S,value:z,origin:b[s],serieIndex:t,serieOptions:f}),u.push(m)}}}})),u)}function B(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function W(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?B(Object(i),!0).forEach((function(t){s()(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):B(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}var R=function(){function e(t,i,n,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.options=t,this.ctx=i,this.flag=!1,this.container=n,this.init(n,o),this.isMouserover=!1}return h()(e,[{key:"init",value:function(e,t){var i=this.options.chart.id,n=document.createElement("div");n.id="".concat(i,"-tooltip"),n.className="ts-graph-tooltip",document.getElementById(n.id)||document.body.append(n)}},{key:"clear",value:function(){var e=this.options,t=e.ratio,i=e.chart,n=i.id,o=i.containerWidth,r=i.containerHeight,s=document.getElementById("".concat(n,"-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,i,n){var o=this.options,r=o.series,s=void 0===r?[]:r,a=o.chart.colors,c=o.tooltip.shared,l=o.xkey,h=o.ykey,u=o.oykey,f=o.timestamp,p=o.fillNull,v=this.container.getBoundingClientRect(),m=e.offsetX||e.clientX-v.left,y=t.invert(m),g=[];if(!1!==this.isMouserover){g=D({x:y,xkey:l,ykey:h,oykey:u,timestamp:f,series:s,fillNull:p}).map((function(e){return W(W({},e),{},{x:t(e.timestamp),y:i(e.value),color:e.color||z(a,e.serieIndex)})}));var b,_,x=Object(d.groupBy)(g,"x");if(Object(d.keys)(x).length>1){var w=Number.POSITIVE_INFINITY;for(var k in x)if(Object.prototype.hasOwnProperty.call(x,k)){var C=(b=e.offsetX,_=Number(k),Math.sqrt(Math.pow(_-b,2)));C<w&&(w=C,g=x[k])}}if(!c){var O=Number.POSITIVE_INFINITY;g.forEach((function(t){var i,n,o=(i={x:e.offsetX,y:e.offsetY},n=t,Math.sqrt(Math.pow(n.x-i.x,2)+Math.pow(n.y-i.y,2)));o<O&&(O=o,g=[t])}))}n(g)}}},{key:"draw",value:function(e,t,i){var n=this,o=t.xScales,r=t.yScales,s=t.yAxis;this.isMouserover=!0,this.getNearestPoints(e,o,r,(function(t){if(n.clear(),t.length){if(t[0].x<s.tickMaxWidth)return;n.drawCrosshair(t[0].x),n.drawSymbol(t),n.drawModal(t,e)}i&&"[object Function]"===Object.prototype.toString.call(i)&&i(t)}))}},{key:"drawModal",value:function(e,t){var i=this.options,n=i.chart,r=n.id,s=n.renderTo,a=i.tooltip,c=i.time,l=i.notDisplayedSeries,h=s.offsetWidth,f=s.offsetHeight,p=document.getElementById("".concat(r,"-tooltip")),v=document.createElement("div"),m=e,y=((f=window.innerHeight/1.5)-18-100)/15,g=!1;if(a.sharedSortDirection&&(e=Object(d.orderBy)(e,(function(e){return e.value}),a.sharedSortDirection)),e.length>y&&(e=e.slice(0,y),g=!0),v.className="ts-graph-tooltip-content",p.appendChild(v),"[object Function]"===Object.prototype.toString.call(a.formatter))v.innerHTML=a.formatter(o()(e),o()(m));else{var b=e[0],_=document.createDocumentFragment(),x=document.createElement("ul"),w=document.createElement("li"),k=new Date(b.timestamp);if(c&&c.timezoneOffset){var C=k.getTimezoneOffset(),O=k.getTime()+60*C*1e3+60*c.timezoneOffset*1e3;k=new Date(O)}var S=document.createTextNode(u.timeFormat(a.timeFormat)(k));if(w.appendChild(S),w.style.color="#666",x.style.maxWidth="".concat(window.innerWidth/1.5,"px"),x.appendChild(w),_.appendChild(x),e.forEach((function(e){var t=e.color,i=e.name,n=e.origin,o=e.filledNull;if(!(l.indexOf(i)>-1)){var 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(i){var h=document.createTextNode("".concat(i,": "));r.appendChild(h)}var f=n;if(Object(d.isNumber)(f)){var p,v=document.createElement("strong");if("function"==typeof a.pointValueformatter)p=a.pointValueformatter(f);else if("origin"===a.precision)p=f;else if("short"===a.precision){p=function(e){e:for(var t,i=e.length,n=1,o=-1;n<i;++n)switch(e[n]){case".":o=t=n;break;case"0":0===o&&(o=n),t=n;break;default:if(o>0){if(!+e[n])break e;o=0}}return o>0?e.slice(0,o)+e.slice(t+1):e}(u.format(".5s")(f))}else p=a.precision>0?u.format(",."+a.precision+"f")(f):u.format(",.3f")(f);p+=o?"(空值填补,仅限看图使用)":"";var m=document.createTextNode(p);v.appendChild(m),r.appendChild(v)}x.appendChild(r)}})),g){var z=document.createElement("li"),L=document.createTextNode("......");z.appendChild(L),x.appendChild(z)}v.appendChild(_)}var E=v.offsetWidth,j=v.offsetHeight,A=this.container.getBoundingClientRect(),T=t.layerX+A.left,P=t.layerY+A.top;p.style.left="".concat(T-E-20,"px"),p.style.top="".concat(P+20,"px"),T-E-20<0&&(p.style.left="".concat(T+20,"px"),T+20+E>h&&(p.style.left="0px")),P+20+j>f&&(p.style.top=P-j-20<0?"0px":"".concat(P-j-20,"px")),p.style.zIndex="9999",p.style.visibility="visible"}},{key:"drawSymbol",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=this.ctx,i=this.options;e.forEach((function(e){var n=e.x,o=e.y,r=e.color,s=e.name;i.notDisplayedSeries.indexOf(s)>-1||(t.beginPath(),t.arc(n,o,5,0,360,!1),t.lineWidth=1,t.fillStyle=r,t.fill(),t.beginPath(),t.arc(n,o,3,0,360,!1),t.lineWidth=1,t.fillStyle="white",t.fill())}))}},{key:"drawCrosshair",value:function(e){var t=this.ctx,i=this.options,n=i.chart,o=i.xAxis,r=n.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}(),X=function(){function e(t,i){c()(this,e),this.options=void 0,this.ctx=void 0,this.options=t,this.ctx=i}return h()(e,[{key:"draw",value:function(e,t){var i=this.options,n=i.series,o=i.chart,r=o.colors,s=o.height,a=i.xAxis,c=i.xkey,l=i.ykey,h=i.timestamp,f=i.fillNull,p=i.notDisplayedSeries,v=i.curve,m=this.options.line.width,y=this.options.area.opacity,g=this.ctx,b=function(t){var i="X"===h?1e3*t[c]:t[c];return e(new Date(i))},_=function(e){var i=e[l];return"number"!=typeof i||isNaN(i)?"number"==typeof f?t(f):void 0:t(i)},x=function(e){return"number"==typeof e[l]||"number"==typeof f};Object(d.sortBy)(n,"zIndex").forEach((function(e,t){if(!1!==e.visible&&!(p.indexOf(e.name)>-1)){var i=e.color||z(r,t);if(e.color=i,y>0){g.beginPath();var n=u.area().x(b).y0(s-a.tickpadding-a.labels.fontSize-5).y1(_).defined(x).context(g);v.enabled&&"smooth"===v.mode&&n.curve(u.curveMonotoneX),n(e.data||[]),g.fillStyle=i,g.globalAlpha=y,g.fill(),g.closePath()}if(m>0){g.beginPath();var o=u.line().x(b).y(_).defined(x).context(g);v.enabled&&"smooth"===v.mode&&o.curve(u.curveMonotoneX),g.lineTo(0,0),o(e.data||[]),g.lineJoin="round",g.lineWidth=m,g.strokeStyle=i,g.lineCap="round",g.globalAlpha=1,g.setLineDash(e.lineDash||[]),g.stroke(),g.closePath()}}}))}}]),e}(),F=function(){function e(t,i){c()(this,e),this.options=void 0,this.ctx=void 0,this.options=t,this.ctx=i}return h()(e,[{key:"draw",value:function(e,t,i){var n=this.options,o=n.series,r=n.chart,s=r.colors,a=r.height,c=r.width,l=n.xAxis,h=n.timestamp,f=n.xkey,p=n.ykey,v=n.notDisplayedSeries,m=this.ctx,y=this.options.area.opacity;Object(d.sortBy)(o,"zIndex").forEach((function(n,o){if(!1!==n.visible&&!(v.indexOf(n.name)>-1)){var r=n.color||z(s,o);n.color=r,m.fillStyle=r,m.globalAlpha=y;var d=u.scaleBand().domain(n.data.map((function(e){return"X"===h?1e3*e[f]:e[f]}))).range([0,c]).padding(.3),g=(null==i?void 0:i.k)||1;n.data.forEach((function(i){var n="X"===h?1e3*i[f]:i[f];m.fillRect(e(n)-d.bandwidth()*g/2,t(i[p]),d.bandwidth()*g,a-t(i[p])-l.tickpadding-l.labels.fontSize-5)})),m.globalAlpha=1}}))}}]),e}(),H=function(){function e(t,i,n,o){c()(this,e),this.options=void 0,this.reset=void 0,this.options=t,this.init(n,o),this.reset=i}return h()(e,[{key:"init",value:function(e,t){var i=this.options.chart,n=i.id,o=i.containerHeight,r=document.getElementById("".concat(n,"-zoom"));r&&r.remove(),r=document.createElement("div");var s=document.createElement("div"),a=document.createElement("a"),c=document.createTextNode("Reset zoom");r.id="".concat(n,"-zoom"),r.className="ts-graph-zoom",s.id="".concat(n,"-zoom-marker"),s.className="ts-graph-zoom-marker",s.style.height="".concat(o,"px"),a.id="".concat(n,"-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,i){var n=this.options.chart.width,o=t.offsetX-e.offsetX;if(o){var r=n/Math.abs(o),s=t.offsetX>e.offsetX?e.offsetX:t.offsetX,a=u.zoomIdentity.translate(-s*r,0).scale(r);this.drawResetBtn(),i(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 i=this.options.chart.marginLeft,n=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",n<o?(c.style.right="unset",c.style.left="".concat(n+i,"px"),c.style.width="".concat(o-n,"px")):(c.style.left="unset",c.style.right="".concat(a-n-i,"px"),c.style.width="".concat(n-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}(),Z=function(){function e(t,i,n,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 i=t.getAttribute("data-serie");i&&r.onLegendItemClick(i)}},this.options=t,this.init(n,o),this.onLegendItemClick=i}return h()(e,[{key:"init",value:function(e,t){var i=this.options.chart.id,n=document.createElement("div");n.id="".concat(i,"-legend"),n.className="ts-graph-legend",document.getElementById(n.id)||e.insertBefore(n,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,i=e.series,n=e.legend,o=document.getElementById("".concat(t,"-legend"));if(n.enabled){if("[object Array]"===Object.prototype.toString.call(i)){o.innerHTML="";var r=document.createDocumentFragment();i.forEach((function(e){var t=document.createElement("span"),i=document.createElement("span"),n=document.createElement("span"),o=document.createElement("span"),s=document.createTextNode(e.name);t.className="ts-graph-legend-item",t.setAttribute("data-serie",e.name),i.className="ts-graph-legend-item-symbol",n.className="ts-graph-legend-item-symbol-line",n.style.borderColor=e.color,o.className="ts-graph-legend-item-symbol-point",o.style.backgroundColor=e.color,i.appendChild(n),i.appendChild(o),t.appendChild(i),t.appendChild(s),r.appendChild(t)})),o.appendChild(r)}this.initEvent()}}}]),e}();i(12);function q(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=function(e,t){if(!e)return;if("string"==typeof e)return Y(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);"Object"===i&&e.constructor&&(i=e.constructor.name);if("Map"===i||"Set"===i)return Array.from(e);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return Y(e,t)}(e))||t&&e&&"number"==typeof e.length){i&&(e=i);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},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(){i=i.call(e)},n:function(){var e=i.next();return s=e.done,e},e:function(e){a=!0,r=e},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function Y(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}function V(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function U(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?V(Object(i),!0).forEach((function(t){s()(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):V(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}var G=new S.a,$=function(){function e(t){var i=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.bar=void 0,this.legend=void 0,this.tooltip=void 0,this.zoom=void 0,this.transform=void 0,this.showTooltip=function(e){i.tooltip.draw(e,i)},this.hideTooltip=function(){i.tooltip.clear()},this.getZoomedSeries=function(){var e=i.options,t=e.chart.renderTo,n=e.series,o=e.timestamp,r=e.xkey,s=t.offsetWidth;return n.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],n=i.xScales(new Date(t));return n>=0&&n<=s}));return U(U({},e),{},{data:t})}return e}))},this.handleResize=function(){var e=i.options.chart,t=e.renderTo.offsetWidth,n=e.renderTo.offsetHeight;i.options.chart.width=t-e.marginLeft-e.marginRight,i.options.chart.height=n-e.marginTop-e.marginBottom,i.options.chart.containerWidth=t,i.options.chart.containerHeight=n,i.container.style.width="".concat(t,"px"),i.container.style.height="".concat(n,"px"),i.retinaScaled(i.backCanvas,"back"),i.retinaScaled(i.frontCanvas,"front"),i.retinaScaled(i.eventCanvas,"event"),i.initScales(),i.initZoom(),i.draw(!1)},this.handleZoom=function(e,t){if(i.options.onZoomWithoutDefult){var n;t&&(n=Object(d.sortBy)(t,"offsetX").map((function(e){return i.xScales.invert(e.offsetX)}))),i.options.onZoomWithoutDefult(n)}else{var o=i.options,r=o.ykey,s=o.yAxis,a=o.ykeyFormatter,c=i.options.series;if(e?(i.transform=e,i.xScales=e.rescaleX(i.xScales),c=i.getZoomedSeries()):(i.transform=void 0,i.xScales=i.xAxis.init()),Array.isArray(c)){var l,h=s.min||-1/0,u=s.max||1/0,f=q(c);try{for(f.s();!(l=f.n()).done;){var p=l.value,v=Array.isArray(p.data)?p.data:[],m=void 0;for(m=0;m<v.length;m++){var y=A(v[m][r],a);null!==y&&(h<y&&(h=y),u>y&&(u=y))}}}catch(e){f.e(e)}finally{f.f()}i.yAxis.setDomain(i.yScales,{ymin:h,ymax:u})}i.options.onZoom(i.getZoomedSeries)}i.draw(!1)},this.handleLegendItemClick=function(e){var t=i.options.notDisplayedSeries;-1===t.indexOf(e)?t.push(e):i.options.notDisplayedSeries=t.filter((function(t){return t!==e})),i.draw(!1)};var n={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",fontSize:11}},type:"line",line:{enable:!0,width:2},area:{opacity:0},bars:{},stack:{enabled:!1},curve:{enabled:!1},tooltip:{shared:!0,cascade:!1,cascadeScope:void 0,timeFormat:"%Y-%m-%d %H:%M:%S"},series:[],legend:{align:"center",verticalAlign:"top",enabled:!1},fillNull:void 0,onClick:function(){},onZoom:function(){}},o=Object(d.merge)({},n,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 h()(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.initSeries(),this.initScales(),this.initEvent(),"line"===this.options.type&&this.initLine(),"bar"===this.options.type&&this.initBar(),this.initLegend(),this.initTooltip(),this.initZoom(),this.draw()}},{key:"clearRect",value:function(e){var t=this.options.chart,i=t.containerWidth,n=t.containerHeight;e.clearRect(0,0,i,n)}},{key:"draw",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.transform;this.clearRect(this.backContext),this.options.xAxis.visible&&this.yAxis.drawGridLine(this.yScales),"line"===this.options.type&&this.line.draw(this.xScales,this.yScales),"bar"===this.options.type&&this.bar.draw(this.xScales,this.yScales,t),this.options.xAxis.visible&&this.xAxis.draw(this.xScales),this.xAxis.drawPlotLines(this.xScales),this.yAxis.drawPlotLines(this.yScales),this.options.yAxis.visible&&this.yAxis.draw(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.initSeries(),this.initScales(),this.initEvent(),"line"===this.options.type&&this.initLine(),"bar"===this.options.type&&this.initBar(),this.initTooltip(),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,i=t.cascade,n=t.cascadeScope,o=n?"plotmove:".concat(n):"plotmove",r=n?"plotleave:".concat(n):"plotleave",s=!1,a={},c={},l=!1,h=this,f=Object(d.debounce)((function(e){l&&(h.tooltip.draw(e,h),s&&h.zoom.drawMarker(a,e))}),5),p=Object(d.throttle)((function(){h.tooltip.clear()}),5);u.select(this.eventCanvas).on("mousemove",(function(){l=!0,f(u.event),i&&G.emit(o,u.event)})).on("mouseleave",(function(){e=u.event,l=!1,p(),i&&G.emit(r)})).on("mousedown",(function(){s=!0,a=u.event})).on("mouseup",(function(){u.event.stopPropagation();var e=u.event;a&&a.offsetX!==e.offsetX?(h.zoom.clearMarker(),h.zoom.onZoom(a,e,(function(t){h.handleZoom(t,[a,e])}))):h.options.onClick(u.event,h.xScales.invert(u.event.offsetX)),s=!1,a={}})).on("touchstart",(function(){u.event.touches.length>1&&(s=!0)})).on("touchmove",(function(){var e=E(h.eventCanvas,u.event);1===u.event.touches.length&&h.tooltip.draw(e,h),s&&(a=e,c=E(h.eventCanvas,u.event,1),h.zoom.drawMarker(a,c))})).on("touchend",(function(){l=!1,p(),a&&a.offsetX!==c.offsetX?(h.zoom.clearMarker(),h.zoom.onZoom(a,c,(function(e){h.handleZoom(e,[a,c])}))):h.options.onClick(u.event,h.xScales.invert(u.event.offsetX)),s=!1,a={},c={}})),i&&(G.on(o,this.showTooltip),G.on(r,this.hideTooltip)),window.addEventListener("mouseup",(function(){if(!Object(d.isEmpty)(a)){var t=e;s=!1,h.zoom.clearMarker(),h.zoom.onZoom(a,t,(function(e){h.handleZoom(e,[a,t])})),a={}}})),_(this.options.chart.renderTo,this.handleResize)}},{key:"retinaScaled",value:function(e,t){var i=this.options,n=i.chart,o=i.ratio,r=e.getContext("2d"),s="front"===t?n.containerWidth:n.width,a="front"===t?n.containerHeight:n.height,c="front"===t?"0px":"".concat(n.marginLeft,"px"),l="front"===t?"0px":"".concat(n.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(n.marginLeft*o,n.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 i=document.createElement("canvas"),n=i.getContext("2d");i.setAttribute("id","".concat(e,"-").concat(t,"Canvas")),this.container.appendChild(i),this["".concat(t,"Canvas")]=i,this["".concat(t,"Context")]=n,this.retinaScaled(i,t)}t.call(this,"back"),t.call(this,"front"),t.call(this,"event")}},{key:"initSeries",value:function(){var e=this.options,t=e.fillNull,i=e.series,n=e.xkey,o=e.ykey,r=e.ykeyFormatter,a=e.oykey,c=e.yAxis,l=e.stack,h=-1/0,u=1/0,f=c.min,p=c.max;if(Array.isArray(i)){var v=[];i.forEach((function(e,c){var m,y=Array.isArray(e.data)?e.data:[],g=[],b=!1,_=function(){var e,v=y[m][a]?y[m][a]:A(y[m][o],r),_=(e={},s()(e,n,y[m][n]),s()(e,o,v),s()(e,a,v),e);if(l.enabled){void 0===_[a]&&(_[a]=A(_[o],r));var x=c;if(x>0)for(;x>0;){var w=Array.isArray(i[x-1].data)?i[x-1].data:[],k=Object(d.find)(w,(function(e){return e[n]===_[n]}));if(k){var C=isNaN(_[a])?0:_[a],O=A(k[o],r);O=isNaN(O)?0:O,_[o]=O+C;break}1===x&&(_[o]=_[a]),x--}else _[o]=_[a]}y[m]=_;var S=_[n],z=_[o];void 0===t?0===m||m===y.length-1||m>0&&m<y.length-1&&"number"==typeof z&&!isNaN(z)?(g.push(_),b=!0):b&&(g.push(_),b=!1):g.push(_),h<S&&(h=S),u>S&&(u=S),"number"!=typeof z||isNaN(z)?"number"==typeof t&&(t<f&&(f=t),t>p&&(p=t)):(("number"!=typeof f||z<f)&&(f=z),("number"!=typeof p||z>p)&&(p=z))};for(m=0;m<y.length;m++)_();v.push(U(U({},e),{},{data:g,zIndex:l.enabled?i.length-c:c}))})),this.options.series=v,this.options.xmin=h,this.options.xmax=u,this.options.ymin=f,this.options.ymax=p}}},{key:"initLine",value:function(){this.line=new X(this.options,this.backContext)}},{key:"initBar",value:function(){this.bar=new F(this.options,this.backContext)}},{key:"initTooltip",value:function(){this.tooltip=new R(this.options,this.frontContext,this.container,this.eventCanvas)}},{key:"initZoom",value:function(){this.zoom=new H(this.options,this.handleZoom,this.container,this.eventCanvas)}},{key:"initLegend",value:function(){this.legend=new Z(this.options,this.handleLegendItemClick,this.container,this.eventCanvas)}},{key:"initScales",value:function(){var e=new P(this.options,this.backContext);this.yAxis=e,this.yScales=e.init();var t=new T(this.options,this.backContext,this.yAxis);this.xAxis=t;var i=t.init();this.transform&&(i=this.transform.rescaleX(i)),this.xScales=i}},{key:"offEvents",value:function(){var e=this.options.tooltip,t=e.cascade,i=e.cascadeScope,n=i?"plotmove:".concat(i):"plotmove",o=i?"plotleave:".concat(i):"plotleave";u.select(this.eventCanvas).on("mousemove",null).on("mouseleave",null).on("mousedown",null).on("mouseup",null).on("touchmove",null),function(e,t){let i=e.__resize_listeners__;if(i){if(t&&i.splice(i.indexOf(t),1),!i.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&&(G.off(n,this.showTooltip),G.off(o,this.hideTooltip))}},{key:"destroy",value:function(){this.tooltip.destroy(),this.offEvents(),u.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 i="object"==typeof exports?t(require("d3"),require("lodash")):t(e.d3,e._);for(var n in i)("object"==typeof exports?exports:e)[n]=i[n]}}(window,(function(e,t){return function(e){var t={};function i(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,i),o.l=!0,o.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)i.d(n,o,function(t){return e[t]}.bind(null,o));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=13)}([function(t,i){t.exports=e},function(e,i){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 i(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,i){var n=i(8),o=i(9),r=i(10),s=i(11);e.exports=function(e){return n(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 i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,i){"use strict";var n,o="object"==typeof Reflect?Reflect:null,r=o&&"function"==typeof o.apply?o.apply:function(e,t,i){return Function.prototype.apply.call(e,t,i)};n=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(i,n){function o(i){e.removeListener(t,r),n(i)}function r(){"function"==typeof e.removeListener&&e.removeListener("error",o),i([].slice.call(arguments))}y(e,t,r,{once:!0}),"error"!==t&&function(e,t,i){"function"==typeof e.on&&y(e,"error",t,i)}(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 h(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function u(e,t,i,n){var o,r,s,a;if(l(i),void 0===(r=e._events)?(r=e._events=Object.create(null),e._eventsCount=0):(void 0!==r.newListener&&(e.emit("newListener",t,i.listener?i.listener:i),r=e._events),s=r[t]),void 0===s)s=r[t]=i,++e._eventsCount;else if("function"==typeof s?s=r[t]=n?[i,s]:[s,i]:n?s.unshift(i):s.push(i),(o=h(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,i){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:i},o=d.bind(n);return o.listener=i,n.wrapFn=o,o}function p(e,t,i){var n=e._events;if(void 0===n)return[];var o=n[t];return void 0===o?[]:"function"==typeof o?i?[o.listener||o]:[o]:i?function(e){for(var t=new Array(e.length),i=0;i<t.length;++i)t[i]=e[i].listener||e[i];return t}(o):m(o,o.length)}function v(e){var t=this._events;if(void 0!==t){var i=t[e];if("function"==typeof i)return 1;if(void 0!==i)return i.length}return 0}function m(e,t){for(var i=new Array(t),n=0;n<t;++n)i[n]=e[n];return i}function y(e,t,i,n){if("function"==typeof e.on)n.once?e.once(t,i):e.on(t,i);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){n.once&&e.removeEventListener(t,o),i(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 h(this)},a.prototype.emit=function(e){for(var t=[],i=1;i<arguments.length;i++)t.push(arguments[i]);var n="error"===e,o=this._events;if(void 0!==o)n=n&&void 0===o.error;else if(!n)return!1;if(n){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,h=m(c,l);for(i=0;i<l;++i)r(h[i],this,t)}return!0},a.prototype.addListener=function(e,t){return u(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return u(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 i,n,o,r,s;if(l(t),void 0===(n=this._events))return this;if(void 0===(i=n[e]))return this;if(i===t||i.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,i.listener||t));else if("function"!=typeof i){for(o=-1,r=i.length-1;r>=0;r--)if(i[r]===t||i[r].listener===t){s=i[r].listener,o=r;break}if(o<0)return this;0===o?i.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(i,o),1===i.length&&(n[e]=i[0]),void 0!==n.removeListener&&this.emit("removeListener",e,s||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,i,n;if(void 0===(i=this._events))return this;if(void 0===i.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==i[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete i[e]),this;if(0===arguments.length){var o,r=Object.keys(i);for(n=0;n<r.length;++n)"removeListener"!==(o=r[n])&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=i[e]))this.removeListener(e,t);else if(void 0!==t)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);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?n(this._events):[]}},function(e,t,i){var n=i(6);e.exports=function(e){if(Array.isArray(e))return n(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,i){var n=i(6);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?n(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,i){},function(e,t,i){"use strict";i.r(t),i.d(t,"default",(function(){return K}));var n=i(5),o=i.n(n),r=i(4),s=i.n(r),a=i(2),c=i.n(a),l=i(3),h=i.n(l),u=i(0),d=i(1);let f=null;let p=null;function v(e,t={}){let i=document.createElement(e);return Object.keys(t).forEach(e=>{i[e]=t[e]}),i}function m(e,t,i){return(window.getComputedStyle(e,i||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:i}=e,n=new ResizeObserver(()=>{(e.__resize_observer_triggered__||(e.__resize_observer_triggered__=!0,e.offsetWidth!==t||e.offsetHeight!==i))&&w(e)}),{detached:o,rendered:r}=y(e);e.__resize_observer_triggered__=!1===o&&!1===r,e.__resize_observer__=n,n.observe(e)}else if(e.attachEvent&&e.addEventListener)e.__resize_legacy_resize_handler__=function(){w(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 i=v("div",{className:"resize-triggers"}),n=v("div",{className:"resize-expand-trigger"}),o=v("div"),r=v("div",{className:"resize-contract-trigger"});n.appendChild(o),i.appendChild(n),i.appendChild(r),e.appendChild(i),e.__resize_triggers__={triggers:i,expand:n,expandChild:o,contract:r},C(e),e.addEventListener("scroll",k,!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__&&(C(this),this.addEventListener("scroll",k,!0)),this.__resize_rendered__=e,w(this))}function k(){var e,t;C(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:i}=e.__resize_last__,{offsetWidth:n,offsetHeight:o}=e;return n!==t||o!==i?{width:n,height:o}:null}(this);e&&(this.__resize_last__=e,w(this))},f||(f=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(e){return setTimeout(e,16)}).bind(window)),f(t))}function w(e){e&&e.__resize_listeners__&&e.__resize_listeners__.forEach(t=>{t.call(e,e)})}function C(e){let{expand:t,expandChild:i,contract:n}=e.__resize_triggers__,{scrollWidth:o,scrollHeight:r}=n,{offsetWidth:s,offsetHeight:a,scrollWidth:c,scrollHeight:l}=t;n.scrollLeft=o,n.scrollTop=r,i.style.width=s+1+"px",i.style.height=a+1+"px",t.scrollLeft=c,t.scrollTop=l}var O=i(7),S=i.n(O);function L(e,t){var i=e.length;return t<i?e[t]:L(e,t-i)}function E(e,t){return"X"===t?1e3*e:e}function z(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=e.getBoundingClientRect(),o=t.touches[i].clientX,r=t.touches[i].clientY,s=o-n.left,a=r-n.top;return{offsetX:s,offsetY:a,clientX:o,clientY:r}}function j(e){var t=String(e);if(e>=1e3){t=u.format(".5s")(e);var i=/[kMGTPEZY]$/;if(i.test(t)){var n=t[t.length-1];t=t.replace(i,""),t=parseFloat(t)+n}}return t}function A(e,t){var i=e;return"function"==typeof t&&(i=t(e)),i}var T=function(){function e(t,i,n){c()(this,e),this.options=void 0,this.ctx=void 0,this.yAxis=void 0,this.options=t,this.ctx=i,this.yAxis=n}return h()(e,[{key:"init",value:function(){var e=this.options,t=e.chart.width,i=e.timestamp,n=e.xmin,o=e.xmax,r=u.scaleTime().range([this.yAxis.tickMaxWidth,t]);return r.domain([E(o,i)+(n===o?1e3:0),E(n,i)-(n===o?1e3:0)]),r}},{key:"draw",value:function(e){var t=this.ctx,i=this.options,n=i.chart,o=i.xAxis,r=i.time,s=e.ticks(Math.floor(n.width/90));o.ticks&&(s=o.ticks);var a=n.height-o.tickpadding-o.labels.fontSize;t.beginPath(),s.forEach((function(i){var n=e(i);n&&(t.moveTo(n,a),t.lineTo(n,a-o.tickLength))})),t.lineWidth=1,t.strokeStyle=o.tickColor,t.stroke(),t.closePath(),t.beginPath(),t.moveTo(0,a-o.tickLength),t.lineTo(n.width,a-o.tickLength),t.lineWidth=1,t.strokeStyle=o.lineColor,t.stroke(),t.closePath(),t.textAlign="center",t.textBaseline="bottom",t.fillStyle=o.labels.color,t.font="".concat(o.labels.fontSize,"px Palantino"),s.forEach((function(i,a){var c="%H:%M";0!==i.getSeconds()&&(c="%H:%M:%S"),0===i.getHours()&&0===i.getMinutes()&&0===i.getSeconds()&&(c="%m-%d"),o.labels.timeFormat&&(c=o.labels.timeFormat);var l=i;if(r&&r.timezoneOffset){var h=i.getTimezoneOffset(),d=i.getTime()+60*h*1e3+60*r.timezoneOffset*1e3;l=new Date(d)}if(o.ticks&&o.ticks.length>1){var f=e(i);0===a?f+=c.length*o.labels.fontSize/4+1:a===s.length-1&&(f-=c.length*o.labels.fontSize/4-1),t.fillText(u.timeFormat(c)(l),f,n.height)}else e(i)&&t.fillText(u.timeFormat(c)(l),e(i),n.height)}))}},{key:"drawPlotLines",value:function(e){var t=this.ctx,i=this.options,n=i.chart,o=i.xAxis,r=i.xAxis.plotLines,s=n.height-o.tickpadding-o.labels.fontSize;Array.isArray(r)&&r.forEach((function(n){var r=e("X"===i.timestamp?1e3*n.value:n.value);t.setLineDash([5,3]),t.beginPath(),t.moveTo(r,0),t.lineTo(r,s-o.tickLength),t.strokeStyle=n.color,t.stroke(),t.setLineDash([])}))}}]),e}(),M=function(){function e(t,i){c()(this,e),this.options=void 0,this.ctx=void 0,this.tickLength=void 0,this.ticks=void 0,this.tickMaxWidth=void 0,this.options=t;var n=t.yAxis;i.font="".concat(n.labels.fontSize,"px Palantino"),this.ctx=i,this.tickLength=Math.floor(t.chart.height/50),this.ticks=[],this.tickMaxWidth=0}return h()(e,[{key:"init",value:function(){var e=this.options,t=e.chart,i=e.xAxis,n=u.scaleLinear().range([t.height-(i.labels.fontSize+i.tickpadding+i.tickLength),20]);return this.setDomain(n,this.options),n}},{key:"getRealData",value:function(e){var t=this.options,i=t.yAxis.plotLines,n=t.ykey,o=t.fillNull;return Array.isArray(e)?(Array.isArray(i)&&i.forEach((function(t){"number"==typeof t.value&&e.push(s()({},n,t.value))})),"number"==typeof o&&e.push(s()({},n,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 i=t.ymin,n=t.ymax,o=this.options.yAxis,r=this.getPlotLinesMaxAbs(),s=this.tickLength;if(i===n){var a=(n-i)/(this.tickLength-1),c=a/2||n||1;s=0===a?1:this.tickLength,i-=c,n+=c}if(i>n){var l=i;i=n,n=l}r&&(r<i&&(i=r),r>n&&(n=r)),e.domain([i,n]),e.nice(s);var h=e.ticks(s),u=function(e,t,i){var n=e.map((function(e){var n;return n="function"==typeof i?i(e):j(e),t.measureText(n).width}));return Object(d.max)(n)}(h,this.ctx,o.tickValueFormatter)+5;this.ticks=h,this.tickMaxWidth=u}},{key:"draw",value:function(e){var t=this,i=this.ctx,n=this.options,o=n.yAxis,r=n.chart;i.beginPath(),i.fillStyle="#fff",i.fillRect(0,0,this.tickMaxWidth,r.height),i.stroke(),i.closePath(),i.textAlign="right",i.textBaseline="middle",i.strokeStyle=o.labels.color,i.lineWidth=1,i.fillStyle=o.labels.color,this.ticks.forEach((function(n){var r;r="function"==typeof o.tickValueFormatter?o.tickValueFormatter(n):j(n);var s=e(n);i.fillText(r,t.tickMaxWidth-5,s)}))}},{key:"drawGridLine",value:function(e){var t=this.ctx,i=this.options,n=i.chart,o=i.yAxis;t.beginPath(),this.ticks.forEach((function(i){var o=e(i);t.moveTo(0,o),t.lineTo(n.width,o)})),t.strokeStyle=o.gridLineColor,t.stroke(),t.closePath()}},{key:"drawPlotLines",value:function(e){var t=this.ctx,i=this.options,n=i.chart,o=i.yAxis,r=i.yAxis.plotLines;Array.isArray(r)&&r.forEach((function(i){var r=e(i.value);t.setLineDash([5,3]),t.beginPath(),t.moveTo(0,r),t.lineTo(n.width,r),t.strokeStyle=i.color,t.stroke(),t.setLineDash([]),t.textAlign="right",t.textBaseline="top",t.shadowColor="#fff",t.shadowBlur=1,t.lineWidth=1,t.fillStyle=i.color,t.font="".concat(o.labels.fontSize,"px Palantino"),t.strokeText(String(i.value),n.width-10,r),t.fillText(String(i.value),n.width-10,r)}))}}]),e}();function P(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function N(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?P(Object(i),!0).forEach((function(t){s()(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):P(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function I(e,t){return"X"===t?1e3*e:e}function B(e){var t,i=e.series,n=e.x,o=e.xkey,r=e.ykey,s=e.oykey,a=e.timestamp,c=e.fillNull,l=(t=function(e,t){return(i=I(e[o],a))<(n=t)?-1:i>n?1:i>=n?0:NaN;var i,n},{left:function(e,i,n,o){for(null==n&&(n=0),null==o&&(o=e.length);n<o;){var r=n+o>>>1;t(e[r],i)<0?n=r+1:o=r}return n},right:function(e,i,n,o){for(null==n&&(n=0),null==o&&(o=e.length);n<o;){var r=n+o>>>1;t(e[r],i)>0?o=r:n=r+1}return n}}).left,h=new Date(n).getTime(),u=[];return"[object Array]"!==Object.prototype.toString.call(i)?[]:(i.forEach((function(e,t){if(!1!==e.visible){var i=e.name,d=e.color,f=function(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&"[object Function]"===Object.prototype.toString.call(t)&&t(n)&&(i[n]=e[n]);return i}(e,(function(e){return"data"!==e})),p=e.data,v=void 0===p?[]:p;if("[object Array]"===Object.prototype.toString.call(v)&&0!==(v=v.filter((function(e){return"number"==typeof e[r]||"number"==typeof c}))).length){var m,y=l(v,n),g=v[y-1],b=v[y];if(g&&b){var _=I(g[o],a),x=I(b[o],a),k=g[r],w=b[r];null===k&&void 0!==c&&(k=c),null===w&&void 0!==c&&(w=c),m=h-_<x-h?N(N({},g),{},{name:i,color:d,timestamp:_,value:k,origin:g[s],serieIndex:t,serieOptions:f}):N(N({},b),{},{name:i,color:d,timestamp:x,value:w,origin:b[s],serieIndex:t,serieOptions:f}),u.push(m)}else if(g){var C=I(g[o],a),O=g[r];null===O&&void 0!==c&&(O=c),m=N(N({},g),{},{name:i,color:d,timestamp:C,value:O,origin:g[s],serieIndex:t,serieOptions:f}),u.push(m)}else if(b){var S=I(b[o],a),L=b[r];null===L&&void 0!==c&&(L=c),m=N(N({},b),{},{name:i,color:d,timestamp:S,value:L,origin:b[s],serieIndex:t,serieOptions:f}),u.push(m)}}}})),u)}function D(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function W(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?D(Object(i),!0).forEach((function(t){s()(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):D(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}var R=function(){function e(t,i,n,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.options=t,this.ctx=i,this.flag=!1,this.container=n,this.init(n,o),this.isMouserover=!1}return h()(e,[{key:"init",value:function(e,t){var i=this.options.chart.id,n=document.createElement("div");n.id="".concat(i,"-tooltip"),n.className="ts-graph-tooltip",document.getElementById(n.id)||document.body.append(n)}},{key:"clear",value:function(){var e=this.options,t=e.ratio,i=e.chart,n=i.id,o=i.containerWidth,r=i.containerHeight,s=document.getElementById("".concat(n,"-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,i,n){var o=this.options,r=o.series,s=void 0===r?[]:r,a=o.chart.colors,c=o.tooltip.shared,l=o.xkey,h=o.ykey,u=o.oykey,f=o.timestamp,p=o.fillNull,v=this.container.getBoundingClientRect(),m=e.offsetX||e.clientX-v.left,y=t.invert(m),g=[];if(!1!==this.isMouserover){g=B({x:y,xkey:l,ykey:h,oykey:u,timestamp:f,series:s,fillNull:p}).map((function(e){return W(W({},e),{},{x:t(e.timestamp),y:i(e.value),color:e.color||L(a,e.serieIndex)})}));var b,_,x=Object(d.groupBy)(g,"x");if(Object(d.keys)(x).length>1){var k=Number.POSITIVE_INFINITY;for(var w in x)if(Object.prototype.hasOwnProperty.call(x,w)){var C=(b=e.offsetX,_=Number(w),Math.sqrt(Math.pow(_-b,2)));C<k&&(k=C,g=x[w])}}if(!c){var O=Number.POSITIVE_INFINITY;g.forEach((function(t){var i,n,o=(i={x:e.offsetX,y:e.offsetY},n=t,Math.sqrt(Math.pow(n.x-i.x,2)+Math.pow(n.y-i.y,2)));o<O&&(O=o,g=[t])}))}n(g)}}},{key:"draw",value:function(e,t,i){var n=this,o=t.xScales,r=t.yScales,s=t.yAxis;this.isMouserover=!0,this.getNearestPoints(e,o,r,(function(t){if(n.clear(),t.length){if(t[0].x<s.tickMaxWidth)return;n.drawCrosshair(t[0].x),n.drawSymbol(t),n.drawModal(t,e)}i&&"[object Function]"===Object.prototype.toString.call(i)&&i(t)}))}},{key:"drawModal",value:function(e,t){var i=this.options,n=i.chart,r=n.id,s=n.renderTo,a=i.tooltip,c=i.time,l=i.notDisplayedSeries,h=s.offsetWidth,f=s.offsetHeight,p=document.getElementById("".concat(r,"-tooltip")),v=document.createElement("div"),m=e,y=((f=window.innerHeight/1.5)-18-100)/15,g=!1;if(a.sharedSortDirection&&(e=Object(d.orderBy)(e,(function(e){return e.value}),a.sharedSortDirection)),e.length>y&&(e=e.slice(0,y),g=!0),v.className="ts-graph-tooltip-content",p.appendChild(v),"[object Function]"===Object.prototype.toString.call(a.formatter))v.innerHTML=a.formatter(o()(e),o()(m));else{var b=e[0],_=document.createDocumentFragment(),x=document.createElement("ul"),k=document.createElement("li"),w=new Date(b.timestamp);if(c&&c.timezoneOffset){var C=w.getTimezoneOffset(),O=w.getTime()+60*C*1e3+60*c.timezoneOffset*1e3;w=new Date(O)}var S=document.createTextNode(u.timeFormat(a.timeFormat)(w));if(k.appendChild(S),k.style.color="#666",x.style.maxWidth="".concat(window.innerWidth/1.5,"px"),x.appendChild(k),_.appendChild(x),e.forEach((function(e){var t=e.color,i=e.name,n=e.origin,o=e.filledNull;if(!(l.indexOf(i)>-1)){var 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(i){var h=document.createTextNode("".concat(i,": "));r.appendChild(h)}var f=n;if(Object(d.isNumber)(f)){var p,v=document.createElement("strong");if("function"==typeof a.pointValueformatter)p=a.pointValueformatter(f);else if("origin"===a.precision)p=f;else if("short"===a.precision){p=function(e){e:for(var t,i=e.length,n=1,o=-1;n<i;++n)switch(e[n]){case".":o=t=n;break;case"0":0===o&&(o=n),t=n;break;default:if(o>0){if(!+e[n])break e;o=0}}return o>0?e.slice(0,o)+e.slice(t+1):e}(u.format(".5s")(f))}else p=a.precision>0?u.format(",."+a.precision+"f")(f):u.format(",.3f")(f);p+=o?"(空值填补,仅限看图使用)":"";var m=document.createTextNode(p);v.appendChild(m),r.appendChild(v)}x.appendChild(r)}})),g){var L=document.createElement("li"),E=document.createTextNode("......");L.appendChild(E),x.appendChild(L)}v.appendChild(_)}var z=v.offsetWidth,j=v.offsetHeight,A=this.container.getBoundingClientRect(),T=t.layerX+A.left,M=t.layerY+A.top;p.style.left="".concat(T-z-20,"px"),p.style.top="".concat(M+20,"px"),T-z-20<0&&(p.style.left="".concat(T+20,"px"),T+20+z>h&&(p.style.left="0px")),M+20+j>f&&(p.style.top=M-j-20<0?"0px":"".concat(M-j-20,"px")),p.style.zIndex="9999",p.style.visibility="visible"}},{key:"drawSymbol",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=this.ctx,i=this.options;e.forEach((function(e){var n=e.x,o=e.y,r=e.color,s=e.name;i.notDisplayedSeries.indexOf(s)>-1||(t.beginPath(),t.arc(n,o,5,0,360,!1),t.lineWidth=1,t.fillStyle=r,t.fill(),t.beginPath(),t.arc(n,o,3,0,360,!1),t.lineWidth=1,t.fillStyle="white",t.fill())}))}},{key:"drawCrosshair",value:function(e){var t=this.ctx,i=this.options,n=i.chart,o=i.xAxis,r=n.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}(),X=function(){function e(t,i){c()(this,e),this.options=void 0,this.ctx=void 0,this.options=t,this.ctx=i}return h()(e,[{key:"draw",value:function(e,t){var i=this.options,n=i.series,o=i.chart,r=o.colors,s=o.height,a=i.xAxis,c=i.xkey,l=i.ykey,h=i.timestamp,f=i.fillNull,p=i.notDisplayedSeries,v=i.curve,m=this.options.line.width,y=this.options.area.opacity,g=this.ctx,b=function(t){var i="X"===h?1e3*t[c]:t[c];return e(new Date(i))},_=function(e){var i=e[l];return"number"!=typeof i||isNaN(i)?"number"==typeof f?t(f):void 0:t(i)},x=function(e){return"number"==typeof e[l]||"number"==typeof f};Object(d.sortBy)(n,"zIndex").forEach((function(e,t){if(!1!==e.visible&&!(p.indexOf(e.name)>-1)){var i=e.color||L(r,t);if(e.color=i,y>0){g.beginPath();var n=u.area().x(b).y0(s-a.tickpadding-a.labels.fontSize-5).y1(_).defined(x).context(g);v.enabled&&"smooth"===v.mode&&n.curve(u.curveMonotoneX),n(e.data||[]),g.fillStyle=i,g.globalAlpha=y,g.fill(),g.closePath()}if(m>0){g.beginPath();var o=u.line().x(b).y(_).defined(x).context(g);v.enabled&&"smooth"===v.mode&&o.curve(u.curveMonotoneX),g.lineTo(0,0),o(e.data||[]),g.lineJoin="round",g.lineWidth=m,g.strokeStyle=i,g.lineCap="round",g.globalAlpha=1,g.setLineDash(e.lineDash||[]),g.stroke(),g.closePath()}}}))}}]),e}(),F=function(){function e(t,i){c()(this,e),this.options=void 0,this.ctx=void 0,this.options=t,this.ctx=i}return h()(e,[{key:"draw",value:function(e,t,i){var n=this.options,o=n.series,r=n.chart,s=r.colors,a=r.height,c=r.width,l=n.xAxis,h=n.timestamp,f=n.xkey,p=n.ykey,v=n.notDisplayedSeries,m=this.ctx,y=this.options.area.opacity;Object(d.sortBy)(o,"zIndex").forEach((function(n,o){if(!1!==n.visible&&!(v.indexOf(n.name)>-1)){var r=n.color||L(s,o);n.color=r,m.fillStyle=r,m.globalAlpha=y;var d=u.scaleBand().domain(n.data.map((function(e){return"X"===h?1e3*e[f]:e[f]}))).range([0,c]).padding(.3),g=(null==i?void 0:i.k)||1;n.data.forEach((function(i){var n="X"===h?1e3*i[f]:i[f];m.fillRect(e(n)-d.bandwidth()*g/2,t(i[p]),d.bandwidth()*g,a-t(i[p])-l.tickpadding-l.labels.fontSize-5)})),m.globalAlpha=1}}))}}]),e}(),H=function(){function e(t,i,n,o){c()(this,e),this.options=void 0,this.reset=void 0,this.options=t,this.init(n,o),this.reset=i}return h()(e,[{key:"init",value:function(e,t){var i=this.options.chart,n=i.id,o=i.containerHeight,r=document.getElementById("".concat(n,"-zoom"));r&&r.remove(),r=document.createElement("div");var s=document.createElement("div"),a=document.createElement("a"),c=document.createTextNode("Reset zoom");r.id="".concat(n,"-zoom"),r.className="ts-graph-zoom",s.id="".concat(n,"-zoom-marker"),s.className="ts-graph-zoom-marker",s.style.height="".concat(o,"px"),a.id="".concat(n,"-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,i){var n=this.options.chart.width,o=t.offsetX-e.offsetX;if(o){var r=n/Math.abs(o),s=t.offsetX>e.offsetX?e.offsetX:t.offsetX,a=u.zoomIdentity.translate(-s*r,0).scale(r);this.drawResetBtn(),i(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 i=this.options.chart.marginLeft,n=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",n<o?(c.style.right="unset",c.style.left="".concat(n+i,"px"),c.style.width="".concat(o-n,"px")):(c.style.left="unset",c.style.right="".concat(a-n-i,"px"),c.style.width="".concat(n-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}(),Z=function(){function e(t,i,n,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 i=t.getAttribute("data-serie");i&&r.onLegendItemClick(i)}},this.options=t,this.init(n,o),this.onLegendItemClick=i}return h()(e,[{key:"init",value:function(e,t){var i=this.options.chart.id,n=document.createElement("div");n.id="".concat(i,"-legend"),n.className="ts-graph-legend",document.getElementById(n.id)||e.insertBefore(n,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,i=e.series,n=e.legend,o=document.getElementById("".concat(t,"-legend"));if(n.enabled){if("[object Array]"===Object.prototype.toString.call(i)){o.innerHTML="";var r=document.createDocumentFragment();i.forEach((function(e){var t=document.createElement("span"),i=document.createElement("span"),n=document.createElement("span"),o=document.createElement("span"),s=document.createTextNode(e.name);t.className="ts-graph-legend-item",t.setAttribute("data-serie",e.name),i.className="ts-graph-legend-item-symbol",n.className="ts-graph-legend-item-symbol-line",n.style.borderColor=e.color,o.className="ts-graph-legend-item-symbol-point",o.style.backgroundColor=e.color,i.appendChild(n),i.appendChild(o),t.appendChild(i),t.appendChild(s),r.appendChild(t)})),o.appendChild(r)}this.initEvent()}}}]),e}(),q=function(){function e(t,i){c()(this,e),this.options=void 0,this.options=t,this.init(i)}return h()(e,[{key:"init",value:function(e){var t=this.options.chart.id,i=document.getElementById("".concat(t,"-shapes"));i&&i.remove(),(i=document.createElement("div")).id="".concat(t,"-shapes"),i.className="ts-graph-shapes",e.appendChild(i)}},{key:"onMouseMove",value:function(e){var t=this.options,i=t.shapes,n=t.onShapeMouseOver;if("IMG"===e.target.tagName){var o=Object(d.find)(i,{id:e.target.dataset.id});o&&"function"==typeof n&&n(e,o)}}},{key:"onClick",value:function(e){var t=this.options,i=t.shapes,n=t.onShapeClick;if("IMG"===e.target.tagName){var o=Object(d.find)(i,{id:e.target.dataset.id});o&&"function"==typeof n&&n(e,o)}}},{key:"draw",value:function(e,t){var i=this.options,n=i.chart.id,o=i.shapes,r=document.getElementById("".concat(n,"-shapes"));r&&"[object Array]"===Object.prototype.toString.call(o)&&(this.destroy(),o.forEach((function(i){var n=document.createElement("img");n.src=i.imgData,n.dataset.id=i.id,n.style.position="absolute",n.style.left="".concat(e(i.x),"px"),n.style.top="".concat(t(i.y),"px"),r.appendChild(n)})),r.addEventListener("mouseover",this.onMouseMove.bind(this)),r.addEventListener("click",this.onClick.bind(this)))}},{key:"destroy",value:function(){var e=this.options.chart.id,t=document.getElementById("".concat(e,"-shapes"));t&&(t.removeEventListener("mouseover",this.onMouseMove),t.removeEventListener("click",this.onClick),t.parentNode&&(t.innerHTML=""))}}]),e}();i(12);function Y(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=function(e,t){if(!e)return;if("string"==typeof e)return V(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);"Object"===i&&e.constructor&&(i=e.constructor.name);if("Map"===i||"Set"===i)return Array.from(e);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return V(e,t)}(e))||t&&e&&"number"==typeof e.length){i&&(e=i);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},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(){i=i.call(e)},n:function(){var e=i.next();return s=e.done,e},e:function(e){a=!0,r=e},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function V(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}function G(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function U(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?G(Object(i),!0).forEach((function(t){s()(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):G(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}var $=new S.a,K=function(){function e(t){var i=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.bar=void 0,this.legend=void 0,this.tooltip=void 0,this.zoom=void 0,this.transform=void 0,this.shapes=void 0,this.showTooltip=function(e){i.tooltip.draw(e,i)},this.hideTooltip=function(){i.tooltip.clear()},this.getZoomedSeries=function(){var e=i.options,t=e.chart.renderTo,n=e.series,o=e.timestamp,r=e.xkey,s=t.offsetWidth;return n.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],n=i.xScales(new Date(t));return n>=0&&n<=s}));return U(U({},e),{},{data:t})}return e}))},this.handleResize=function(){var e=i.options.chart,t=e.renderTo.offsetWidth,n=e.renderTo.offsetHeight;i.options.chart.width=t-e.marginLeft-e.marginRight,i.options.chart.height=n-e.marginTop-e.marginBottom,i.options.chart.containerWidth=t,i.options.chart.containerHeight=n,i.container.style.width="".concat(t,"px"),i.container.style.height="".concat(n,"px"),i.retinaScaled(i.backCanvas,"back"),i.retinaScaled(i.frontCanvas,"front"),i.retinaScaled(i.eventCanvas,"event"),i.initScales(),i.initZoom(),i.draw(!1)},this.handleZoom=function(e,t){if(i.options.onZoomWithoutDefult){var n;t&&(n=Object(d.sortBy)(t,"offsetX").map((function(e){return i.xScales.invert(e.offsetX)}))),i.options.onZoomWithoutDefult(n)}else{var o=i.options,r=o.ykey,s=o.yAxis,a=o.ykeyFormatter,c=i.options.series;if(e?(i.transform=e,i.xScales=e.rescaleX(i.xScales),c=i.getZoomedSeries()):(i.transform=void 0,i.xScales=i.xAxis.init()),Array.isArray(c)){var l,h=s.min||-1/0,u=s.max||1/0,f=Y(c);try{for(f.s();!(l=f.n()).done;){var p=l.value,v=Array.isArray(p.data)?p.data:[],m=void 0;for(m=0;m<v.length;m++){var y=A(v[m][r],a);null!==y&&(h<y&&(h=y),u>y&&(u=y))}}}catch(e){f.e(e)}finally{f.f()}i.yAxis.setDomain(i.yScales,{ymin:h,ymax:u})}i.options.onZoom(i.getZoomedSeries)}i.draw(!1)},this.handleLegendItemClick=function(e){var t=i.options.notDisplayedSeries;-1===t.indexOf(e)?t.push(e):i.options.notDisplayedSeries=t.filter((function(t){return t!==e})),i.draw(!1)};var n={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",fontSize:11}},type:"line",line:{enable:!0,width:2},area:{opacity:0},bars:{},stack:{enabled:!1},curve:{enabled:!1},tooltip:{shared:!0,cascade:!1,cascadeScope:void 0,timeFormat:"%Y-%m-%d %H:%M:%S"},series:[],legend:{align:"center",verticalAlign:"top",enabled:!1},fillNull:void 0,onClick:function(){},onRightClick:function(){},onZoom:function(){},onShapeMouseOver:function(){},onShapeClick:function(){}},o=Object(d.merge)({},n,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 h()(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.initSeries(),this.initScales(),this.initEvent(),"line"===this.options.type&&this.initLine(),"bar"===this.options.type&&this.initBar(),this.initLegend(),this.initTooltip(),this.initZoom(),this.initShapes(),this.draw()}},{key:"clearRect",value:function(e){var t=this.options.chart,i=t.containerWidth,n=t.containerHeight;e.clearRect(0,0,i,n)}},{key:"draw",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.transform;this.clearRect(this.backContext),this.options.xAxis.visible&&this.yAxis.drawGridLine(this.yScales),"line"===this.options.type&&this.line.draw(this.xScales,this.yScales),"bar"===this.options.type&&this.bar.draw(this.xScales,this.yScales,t),this.options.xAxis.visible&&this.xAxis.draw(this.xScales),this.xAxis.drawPlotLines(this.xScales),this.yAxis.drawPlotLines(this.yScales),this.options.yAxis.visible&&this.yAxis.draw(this.yScales),e&&this.legend.draw(),this.shapes.draw(this.xScales,this.yScales)}},{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.initSeries(),this.initScales(),this.initEvent(),"line"===this.options.type&&this.initLine(),"bar"===this.options.type&&this.initBar(),this.initTooltip(),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,i=t.cascade,n=t.cascadeScope,o=n?"plotmove:".concat(n):"plotmove",r=n?"plotleave:".concat(n):"plotleave",s=!1,a={},c={},l=!1,h=this,f=Object(d.debounce)((function(e){l&&(h.tooltip.draw(e,h),s&&h.zoom.drawMarker(a,e))}),5),p=Object(d.throttle)((function(){h.tooltip.clear()}),5);u.select(this.eventCanvas).on("mousemove",(function(){l=!0,f(u.event),i&&$.emit(o,u.event)})).on("mouseleave",(function(){e=u.event,l=!1,p(),i&&$.emit(r)})).on("mousedown",(function(){1===u.event.which&&(s=!0,a=u.event)})).on("mouseup",(function(){u.event.stopPropagation();var e=u.event;a&&a.offsetX!==e.offsetX?(h.zoom.clearMarker(),h.zoom.onZoom(a,e,(function(t){h.handleZoom(t,[a,e])}))):h.options.onClick(u.event,h.xScales.invert(u.event.offsetX),h.yScales.invert(u.event.offsetY)),s=!1,a={}})).on("contextmenu",(function(){h.options.onRightClick(u.event,h.xScales.invert(u.event.offsetX),h.yScales.invert(u.event.offsetY)),u.event.preventDefault()})).on("touchstart",(function(){u.event.touches.length>1&&(s=!0)})).on("touchmove",(function(){var e=z(h.eventCanvas,u.event);1===u.event.touches.length&&h.tooltip.draw(e,h),s&&(a=e,c=z(h.eventCanvas,u.event,1),h.zoom.drawMarker(a,c))})).on("touchend",(function(){l=!1,p(),a&&a.offsetX!==c.offsetX?(h.zoom.clearMarker(),h.zoom.onZoom(a,c,(function(e){h.handleZoom(e,[a,c])}))):h.options.onClick(u.event,h.xScales.invert(u.event.offsetX),h.yScales.invert(u.event.offsetY)),s=!1,a={},c={}})),i&&($.on(o,this.showTooltip),$.on(r,this.hideTooltip)),window.addEventListener("mouseup",(function(){if(!Object(d.isEmpty)(a)){var t=e;s=!1,h.zoom.clearMarker(),h.zoom.onZoom(a,t,(function(e){h.handleZoom(e,[a,t])})),a={}}})),_(this.options.chart.renderTo,this.handleResize)}},{key:"retinaScaled",value:function(e,t){var i=this.options,n=i.chart,o=i.ratio,r=e.getContext("2d"),s="front"===t?n.containerWidth:n.width,a="front"===t?n.containerHeight:n.height,c="front"===t?"0px":"".concat(n.marginLeft,"px"),l="front"===t?"0px":"".concat(n.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(n.marginLeft*o,n.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 i=document.createElement("canvas"),n=i.getContext("2d");i.setAttribute("id","".concat(e,"-").concat(t,"Canvas")),this.container.appendChild(i),this["".concat(t,"Canvas")]=i,this["".concat(t,"Context")]=n,this.retinaScaled(i,t)}t.call(this,"back"),t.call(this,"front"),t.call(this,"event")}},{key:"initSeries",value:function(){var e=this.options,t=e.fillNull,i=e.series,n=e.xkey,o=e.ykey,r=e.ykeyFormatter,a=e.oykey,c=e.yAxis,l=e.stack,h=-1/0,u=1/0,f=c.min,p=c.max;if(Array.isArray(i)){var v=[];i.forEach((function(e,c){var m,y=Array.isArray(e.data)?e.data:[],g=[],b=!1,_=function(){var e,v=y[m][a]?y[m][a]:A(y[m][o],r),_=(e={},s()(e,n,y[m][n]),s()(e,o,v),s()(e,a,v),e);if(l.enabled){void 0===_[a]&&(_[a]=A(_[o],r));var x=c;if(x>0)for(;x>0;){var k=Array.isArray(i[x-1].data)?i[x-1].data:[],w=Object(d.find)(k,(function(e){return e[n]===_[n]}));if(w){var C=isNaN(_[a])?0:_[a],O=A(w[o],r);O=isNaN(O)?0:O,_[o]=O+C;break}1===x&&(_[o]=_[a]),x--}else _[o]=_[a]}y[m]=_;var S=_[n],L=_[o];void 0===t?0===m||m===y.length-1||m>0&&m<y.length-1&&"number"==typeof L&&!isNaN(L)?(g.push(_),b=!0):b&&(g.push(_),b=!1):g.push(_),h<S&&(h=S),u>S&&(u=S),"number"!=typeof L||isNaN(L)?"number"==typeof t&&(t<f&&(f=t),t>p&&(p=t)):(("number"!=typeof f||L<f)&&(f=L),("number"!=typeof p||L>p)&&(p=L))};for(m=0;m<y.length;m++)_();v.push(U(U({},e),{},{data:g,zIndex:l.enabled?i.length-c:c}))})),this.options.series=v,this.options.xmin=h,this.options.xmax=u,this.options.ymin=f,this.options.ymax=p}}},{key:"initLine",value:function(){this.line=new X(this.options,this.backContext)}},{key:"initBar",value:function(){this.bar=new F(this.options,this.backContext)}},{key:"initTooltip",value:function(){this.tooltip=new R(this.options,this.frontContext,this.container,this.eventCanvas)}},{key:"initZoom",value:function(){this.zoom=new H(this.options,this.handleZoom,this.container,this.eventCanvas)}},{key:"initLegend",value:function(){this.legend=new Z(this.options,this.handleLegendItemClick,this.container,this.eventCanvas)}},{key:"initScales",value:function(){var e=new M(this.options,this.backContext);this.yAxis=e,this.yScales=e.init();var t=new T(this.options,this.backContext,this.yAxis);this.xAxis=t;var i=t.init();this.transform&&(i=this.transform.rescaleX(i)),this.xScales=i}},{key:"initShapes",value:function(){var e=new q(this.options,this.container);this.shapes=e}},{key:"offEvents",value:function(){var e=this.options.tooltip,t=e.cascade,i=e.cascadeScope,n=i?"plotmove:".concat(i):"plotmove",o=i?"plotleave:".concat(i):"plotleave";u.select(this.eventCanvas).on("mousemove",null).on("mouseleave",null).on("mousedown",null).on("mouseup",null).on("touchmove",null),function(e,t){let i=e.__resize_listeners__;if(i){if(t&&i.splice(i.indexOf(t),1),!i.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",k),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&&($.off(n,this.showTooltip),$.off(o,this.hideTooltip))}},{key:"destroy",value:function(){this.shapes.destroy(),this.tooltip.destroy(),this.offEvents(),u.select(this.container).remove()}}]),e}()}])}));
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
Binary file
|
package/examples/index.js
CHANGED
|
@@ -2,7 +2,9 @@ import _, { random } from "lodash";
|
|
|
2
2
|
import TsGraph from "../src/index";
|
|
3
3
|
import "../assets/style.less";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
const imgData = require("./edit-maker.png");
|
|
6
|
+
|
|
7
|
+
function generateSeries(idx, seriesCount = 2) {
|
|
6
8
|
const series = [];
|
|
7
9
|
|
|
8
10
|
for (let n = 1; n <= seriesCount; n++) {
|
|
@@ -24,7 +26,6 @@ function generateSeries(idx, seriesCount = 3) {
|
|
|
24
26
|
// lineDash: [4, 4],
|
|
25
27
|
});
|
|
26
28
|
}
|
|
27
|
-
console.log(series);
|
|
28
29
|
return series;
|
|
29
30
|
}
|
|
30
31
|
|
|
@@ -68,6 +69,28 @@ for (let i = 0; i < graphsCount; i++) {
|
|
|
68
69
|
enabled: true,
|
|
69
70
|
mode: "smooth",
|
|
70
71
|
},
|
|
72
|
+
shapes: [
|
|
73
|
+
{
|
|
74
|
+
type: "image",
|
|
75
|
+
id: "1",
|
|
76
|
+
imgData: imgData,
|
|
77
|
+
x: new Date(1609430399000 + 5 * 100000000),
|
|
78
|
+
y: 50,
|
|
79
|
+
meta: {
|
|
80
|
+
msg: "xxxx111",
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
type: "image",
|
|
85
|
+
id: "2",
|
|
86
|
+
imgData: imgData,
|
|
87
|
+
x: new Date(1609430399000 + 2 * 100000000),
|
|
88
|
+
y: 50,
|
|
89
|
+
meta: {
|
|
90
|
+
msg: "xxxx2222",
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
],
|
|
71
94
|
// area: {
|
|
72
95
|
// opacity: 0,
|
|
73
96
|
// },
|
|
@@ -91,8 +114,20 @@ for (let i = 0; i < graphsCount; i++) {
|
|
|
91
114
|
// legend: {
|
|
92
115
|
// enabled: true,
|
|
93
116
|
// },
|
|
94
|
-
onZoomWithoutDefult: (pos) => {
|
|
95
|
-
|
|
117
|
+
// onZoomWithoutDefult: (pos) => {
|
|
118
|
+
// console.log(pos);
|
|
119
|
+
// },
|
|
120
|
+
onClick: (e, date, val) => {
|
|
121
|
+
console.log("click", e, date, val);
|
|
122
|
+
},
|
|
123
|
+
onRightClick: (e, date, val) => {
|
|
124
|
+
console.log("rightClick", e, date, val);
|
|
125
|
+
},
|
|
126
|
+
onShapeMouseOver: (e, shape) => {
|
|
127
|
+
console.log("shapeMouseOver", e, shape);
|
|
128
|
+
},
|
|
129
|
+
onShapeClick: (e, shape) => {
|
|
130
|
+
console.log("shapeClick", e, shape);
|
|
96
131
|
},
|
|
97
132
|
});
|
|
98
133
|
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -9,6 +9,7 @@ import Line from './line';
|
|
|
9
9
|
import Bar from './bar';
|
|
10
10
|
import Zoom from './zoom';
|
|
11
11
|
import Legend from './legend';
|
|
12
|
+
import Shapes from './shapes';
|
|
12
13
|
import { TsGraphType, Options, EventPosition, Transform, Serie, SerieDataItem, XScales, YScales } from './interface';
|
|
13
14
|
import { getTouchPosition, getYkeyValue } from './utils';
|
|
14
15
|
import '../assets/style.less';
|
|
@@ -32,6 +33,7 @@ export default class TsGraph {
|
|
|
32
33
|
tooltip!: Tooltip;
|
|
33
34
|
zoom!: Zoom;
|
|
34
35
|
transform!: Transform;
|
|
36
|
+
shapes!: Shapes;
|
|
35
37
|
constructor(userOptions: Options) {
|
|
36
38
|
const defaultOptions = {
|
|
37
39
|
ratio: window.devicePixelRatio || 1,
|
|
@@ -107,7 +109,10 @@ export default class TsGraph {
|
|
|
107
109
|
},
|
|
108
110
|
fillNull: undefined,
|
|
109
111
|
onClick: () => {},
|
|
112
|
+
onRightClick: () => {},
|
|
110
113
|
onZoom: () => {},
|
|
114
|
+
onShapeMouseOver: () => {},
|
|
115
|
+
onShapeClick: () => {},
|
|
111
116
|
};
|
|
112
117
|
const options = merge({}, defaultOptions, userOptions);
|
|
113
118
|
|
|
@@ -141,6 +146,7 @@ export default class TsGraph {
|
|
|
141
146
|
this.initLegend();
|
|
142
147
|
this.initTooltip();
|
|
143
148
|
this.initZoom();
|
|
149
|
+
this.initShapes();
|
|
144
150
|
this.draw();
|
|
145
151
|
}
|
|
146
152
|
|
|
@@ -172,6 +178,7 @@ export default class TsGraph {
|
|
|
172
178
|
if (redrawLegend) {
|
|
173
179
|
this.legend.draw();
|
|
174
180
|
}
|
|
181
|
+
this.shapes.draw(this.xScales, this.yScales);
|
|
175
182
|
}
|
|
176
183
|
|
|
177
184
|
update(newOptions: Options) {
|
|
@@ -243,8 +250,10 @@ export default class TsGraph {
|
|
|
243
250
|
handleMouseLeave();
|
|
244
251
|
if (cascade) eventEmitter.emit(plotleaveType);
|
|
245
252
|
}).on('mousedown', function mousedown(this: HTMLCanvasElement) {
|
|
246
|
-
|
|
247
|
-
|
|
253
|
+
if (d3.event.which === 1) {
|
|
254
|
+
mousedownStatus = true;
|
|
255
|
+
mousedownPos = d3.event;
|
|
256
|
+
}
|
|
248
257
|
}).on('mouseup', function mouseup(this: HTMLCanvasElement) {
|
|
249
258
|
d3.event.stopPropagation();
|
|
250
259
|
const eventPosition = d3.event as EventPosition;
|
|
@@ -254,10 +263,13 @@ export default class TsGraph {
|
|
|
254
263
|
_this.handleZoom(transform, [mousedownPos, eventPosition]);
|
|
255
264
|
});
|
|
256
265
|
} else {
|
|
257
|
-
_this.options.onClick(d3.event, _this.xScales.invert(d3.event.offsetX));
|
|
266
|
+
_this.options.onClick(d3.event, _this.xScales.invert(d3.event.offsetX), _this.yScales.invert(d3.event.offsetY));
|
|
258
267
|
}
|
|
259
268
|
mousedownStatus = false;
|
|
260
269
|
mousedownPos = {} as EventPosition;
|
|
270
|
+
}).on('contextmenu', function contextmenu() {
|
|
271
|
+
_this.options.onRightClick(d3.event, _this.xScales.invert(d3.event.offsetX), _this.yScales.invert(d3.event.offsetY));
|
|
272
|
+
d3.event.preventDefault();
|
|
261
273
|
}).on('touchstart', function touchmove(this: HTMLCanvasElement) {
|
|
262
274
|
// 模拟 mousedown
|
|
263
275
|
if (d3.event.touches.length > 1) {
|
|
@@ -288,7 +300,7 @@ export default class TsGraph {
|
|
|
288
300
|
_this.handleZoom(transform, [mousedownPos, mouseupPos]);
|
|
289
301
|
});
|
|
290
302
|
} else {
|
|
291
|
-
_this.options.onClick(d3.event, _this.xScales.invert(d3.event.offsetX));
|
|
303
|
+
_this.options.onClick(d3.event, _this.xScales.invert(d3.event.offsetX), _this.yScales.invert(d3.event.offsetY));
|
|
292
304
|
}
|
|
293
305
|
mousedownStatus = false;
|
|
294
306
|
mousedownPos = {} as EventPosition;
|
|
@@ -578,15 +590,15 @@ export default class TsGraph {
|
|
|
578
590
|
}
|
|
579
591
|
}
|
|
580
592
|
|
|
581
|
-
initLine() {
|
|
593
|
+
initLine() {
|
|
582
594
|
this.line = new Line(this.options, this.backContext);
|
|
583
595
|
}
|
|
584
596
|
|
|
585
|
-
initBar() {
|
|
597
|
+
initBar() {
|
|
586
598
|
this.bar = new Bar(this.options, this.backContext);
|
|
587
599
|
}
|
|
588
600
|
|
|
589
|
-
initTooltip() {
|
|
601
|
+
initTooltip() {
|
|
590
602
|
this.tooltip = new Tooltip(this.options, this.frontContext, this.container, this.eventCanvas);
|
|
591
603
|
}
|
|
592
604
|
|
|
@@ -598,7 +610,7 @@ export default class TsGraph {
|
|
|
598
610
|
this.legend = new Legend(this.options, this.handleLegendItemClick, this.container, this.eventCanvas);
|
|
599
611
|
}
|
|
600
612
|
|
|
601
|
-
initScales() {
|
|
613
|
+
initScales() {
|
|
602
614
|
const yAxis = new YAxis(this.options, this.backContext);
|
|
603
615
|
this.yAxis = yAxis;
|
|
604
616
|
this.yScales = yAxis.init();
|
|
@@ -612,6 +624,11 @@ export default class TsGraph {
|
|
|
612
624
|
this.xScales = xScales;
|
|
613
625
|
}
|
|
614
626
|
|
|
627
|
+
initShapes() {
|
|
628
|
+
const shapes = new Shapes(this.options, this.container);
|
|
629
|
+
this.shapes = shapes;
|
|
630
|
+
}
|
|
631
|
+
|
|
615
632
|
offEvents() {
|
|
616
633
|
const { cascade, cascadeScope } = this.options.tooltip;
|
|
617
634
|
const plotmoveType = cascadeScope ? `plotmove:${cascadeScope}` : 'plotmove';
|
|
@@ -631,6 +648,7 @@ export default class TsGraph {
|
|
|
631
648
|
}
|
|
632
649
|
|
|
633
650
|
destroy() {
|
|
651
|
+
this.shapes.destroy();
|
|
634
652
|
this.tooltip.destroy();
|
|
635
653
|
this.offEvents();
|
|
636
654
|
d3.select(this.container).remove();
|
package/src/interface.ts
CHANGED
|
@@ -145,6 +145,15 @@ export interface GetNearestPointsFnParam extends BaseOptions {
|
|
|
145
145
|
fillNull: undefined | number,
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
+
export interface Shape {
|
|
149
|
+
type?: string; // 目前只有 image,可不填
|
|
150
|
+
id: string; // uuid
|
|
151
|
+
imgData: string; // img base64
|
|
152
|
+
x: number; // ms timestamp
|
|
153
|
+
y: number; // value
|
|
154
|
+
meta: any; // 自定义数据
|
|
155
|
+
}
|
|
156
|
+
|
|
148
157
|
export interface Options extends BaseOptions {
|
|
149
158
|
ratio: number,
|
|
150
159
|
chart: Chart,
|
|
@@ -174,9 +183,13 @@ export interface Options extends BaseOptions {
|
|
|
174
183
|
xmax: number,
|
|
175
184
|
ymin: number,
|
|
176
185
|
ymax: number,
|
|
177
|
-
|
|
186
|
+
shapes: any[],
|
|
187
|
+
onClick: (d3Event: any, date: Date, value: number) => any,
|
|
188
|
+
onRightClick: (d3Event: any, date: Date, value: number) => any,
|
|
178
189
|
onZoom: (getZoomedSeries: () => Series) => any,
|
|
179
190
|
onZoomWithoutDefult?: (times?: Date[]) => any,
|
|
191
|
+
onShapeMouseOver: (event: any, shape: Shape) => any,
|
|
192
|
+
onShapeClick: (event: any, shape: Shape) => any,
|
|
180
193
|
}
|
|
181
194
|
|
|
182
195
|
export type EventPosition = {
|
|
@@ -214,4 +227,5 @@ export interface YScales {
|
|
|
214
227
|
domain(value: number[]): any,
|
|
215
228
|
nice(value: number): any,
|
|
216
229
|
ticks(value: number): number[],
|
|
230
|
+
invert(value: number | { valueOf(): number }): number,
|
|
217
231
|
}
|
package/src/shapes.ts
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { find } from 'lodash';
|
|
2
|
+
import { Options, XScales, YScales } from './interface';
|
|
3
|
+
|
|
4
|
+
export default class Shapes {
|
|
5
|
+
options: Options;
|
|
6
|
+
|
|
7
|
+
constructor(userOptions: Options, container: HTMLElement) {
|
|
8
|
+
this.options = userOptions;
|
|
9
|
+
this.init(container);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
init(container: HTMLElement) {
|
|
13
|
+
const { chart: { id } } = this.options;
|
|
14
|
+
let ele = document.getElementById(`${id}-shapes`) as HTMLElement;
|
|
15
|
+
|
|
16
|
+
if (ele) {
|
|
17
|
+
ele.remove();
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
ele = document.createElement('div');
|
|
21
|
+
ele.id = `${id}-shapes`;
|
|
22
|
+
ele.className = 'ts-graph-shapes';
|
|
23
|
+
container.appendChild(ele);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
onMouseMove(e: any) {
|
|
27
|
+
const { shapes, onShapeMouseOver } = this.options;
|
|
28
|
+
if (e.target.tagName === 'IMG') {
|
|
29
|
+
const result = find(shapes, { id: e.target.dataset.id });
|
|
30
|
+
if (result && typeof onShapeMouseOver === 'function') {
|
|
31
|
+
onShapeMouseOver(e, result);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
onClick(e: any) {
|
|
37
|
+
const { shapes, onShapeClick } = this.options;
|
|
38
|
+
if (e.target.tagName === 'IMG') {
|
|
39
|
+
const result = find(shapes, { id: e.target.dataset.id });
|
|
40
|
+
if (result && typeof onShapeClick === 'function') {
|
|
41
|
+
onShapeClick(e, result);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
draw(xScales: XScales, yScales: YScales) {
|
|
47
|
+
const { chart: { id }, shapes } = this.options;
|
|
48
|
+
const ele = document.getElementById(`${id}-shapes`);
|
|
49
|
+
if (ele && Object.prototype.toString.call(shapes) === '[object Array]') {
|
|
50
|
+
this.destroy();
|
|
51
|
+
shapes.forEach((shape) => {
|
|
52
|
+
const img = document.createElement('img');
|
|
53
|
+
img.src = shape.imgData;
|
|
54
|
+
img.dataset.id = shape.id;
|
|
55
|
+
img.style.position = 'absolute';
|
|
56
|
+
img.style.left = `${xScales(shape.x)}px`;
|
|
57
|
+
img.style.top = `${yScales(shape.y)}px`;
|
|
58
|
+
ele.appendChild(img);
|
|
59
|
+
});
|
|
60
|
+
ele.addEventListener('mouseover', this.onMouseMove.bind(this));
|
|
61
|
+
ele.addEventListener('click', this.onClick.bind(this));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
destroy() {
|
|
66
|
+
const { chart: { id } } = this.options;
|
|
67
|
+
const ele = document.getElementById(`${id}-shapes`);
|
|
68
|
+
if (ele) {
|
|
69
|
+
ele.removeEventListener('mouseover', this.onMouseMove);
|
|
70
|
+
ele.removeEventListener('click', this.onClick);
|
|
71
|
+
if (ele.parentNode) {
|
|
72
|
+
ele.innerHTML = '';
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|