trade-chart.js
Advanced tools
Comparing version 1.1.5 to 1.1.6
@@ -1,1 +0,1 @@ | ||
!function(t,i){"object"==typeof exports&&"object"==typeof module?module.exports=i():"function"==typeof define&&define.amd?define([],i):"object"==typeof exports?exports.TradeChart=i():t.TradeChart=i()}(this,(function(){return function(t){var i={};function e(n){if(i[n])return i[n].exports;var o=i[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,e),o.l=!0,o.exports}return e.m=t,e.c=i,e.d=function(t,i,n){e.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:n})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,i){if(1&i&&(t=e(t)),8&i)return t;if(4&i&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(e.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var o in t)e.d(n,o,function(i){return t[i]}.bind(null,o));return n},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},e.p="",e(e.s=3)}([function(t,i){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJ8AAAAaCAYAAACpZo6LAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFyGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIwLTEyLTA4VDE1OjE5OjQwKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIwLTEyLTA4VDE1OjE5OjQwKzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMC0xMi0wOFQxNToxOTo0MCswODowMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpmZDVkMTIwYS05OWM3LTA1NGQtODkwMS01YjJhZmFiN2UwYWYiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1ZmY4NTVhOC1kYWYyLTBmNDQtYTVkOS0y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"},function(t,i){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAAAoCAMAAABw+6yhAAAAgVBMVEUAAAD/AAD/MzP/Kir/JCT/ICD/HBz/LCz/MzP/LCz/MTH/MDD/MTH/MDD/MjL/MjL/MTH/MjL/MzP/MjL/MzP/MzP/MzP/MjL/MjL/MjL/MjL/MjL/MjL/MjL/MzP/MjL/MzP/MzP/MzP/MzP/MzP/MzP/MzP/MjL/MzP/MjL/MzOKU80XAAAAKnRSTlMAAwUGBwgJFxkdHzpdZWVmaWtzdZy+v8PFxsfIyszO0NPU1+ft8fLz9fnNAjHmAAAAlUlEQVRIx+3VuxbBQBSF4V9GZAgijMu4E4ac939AhcLSsNYchWL+B/iK3WygO/FBIgurUQbQP4qqfQG9kyjbdJiJuoqDHllw1yMX5AclJCEJSUhC/h256Y0rOz2yZqpHanL1oW8zGJx1xrwAyGsfvW5YDvmY9W/rWaIy7mU4Q2xV+yTaMYrKRkSkKVFlvYi3KDPu+xwPjNV9Fdo7qV4AAAAASUVORK5CYII="},function(t,i){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAAAoCAMAAABw+6yhAAAAk1BMVEUAAAAA/6oAzGYAzJkA1H8k25Igv38g338cxo4h04Uh05AfzIUfzI8f1o8j040hzowjz40mzowmz4smz40lz4wkzo0mz40mzowlz44m0I0nz40nz4wmz4wnz40nz4wmzowmz4wmz40lzowmz4wmzo0nz4wmz40mzown0I0nz40mz40nz4wnz40nz40nzo0nz40nz41E3SwrAAAAMHRSTlMAAwUFBgcICAkXFxkZGR0fOl1lZWZpa3N1nL6/w8XGx8jKzM7Q09TX5+3x8vLz9fldj8MTAAAAl0lEQVRIx+3VuxbBQBSF4R/jLgQRxmXiLgQ57/90CoWlYa05CsX8D/AVu9lAfeKu4lmxGtUA+gdRtWtD6yjK1hVmoi5hr0cW3PXIGflBAQlIQAISkH9HbnrjwlaPZEz1SEpTfeibKgxOOmPeAWikznvdYjnkY5F7W6+LV8a+DGvwLSmfRDlGUZyLiOQxqiIn4nooM/b7HA8rcrPi1REeKAAAAABJRU5ErkJggg=="},function(t,i,e){"use strict";var n;e.r(i),function(t){t.left="left",t.right="right"}(n||(n={}));var o,a=n;!function(t){t.up="up",t.down="down"}(o||(o={}));var r=o,s=function(){function t(t,i){this.initState(t,i)}return t.prototype.canvasMouseDown=function(t){},t.prototype.canvasMouseWheel=function(t){},t.prototype.canvasMouseMove=function(t){},t.prototype.canvasMouseUp=function(t){},t.prototype.initState=function(i,e){this.ctx=null,this.canvas=null,t.isTimeToUpdateCurCandle=!0,this.option=e,this.addStatus(this.option.data),t.allData=this.option.data,t.chartType=this.option.chartType||"candle",t.showDataNum="pc"===this.option.mode?50:30,this.container=i,this.fontSize=this.option.fontSize||"18px",this.cPadding=this.option.cPadding,this.tSpace=this.option.tSpace||100,this.originX=this.option.cPadding,this.originY=this.option.height-this.cPadding,this.chartRightPadding="mobile"===this.option.mode?.15*this.option.width:.08*this.option.width},t.prototype.drawTrigon=function(t,i,e,n,o){if("right"===n){var a=t-10,r="maxHigh"===o?i+1:i-1;this.ctx.beginPath(),this.ctx.setLineDash([]),this.ctx.strokeStyle="#A0A4AB",this.ctx.moveTo(a+60,r),this.ctx.lineTo(a+30,r),this.ctx.stroke(),this.ctx.beginPath(),this.ctx.moveTo(a+30,r),this.ctx.lineTo(a+45,r-10),this.ctx.lineTo(a+35,r),this.ctx.lineTo(a+45,r+10),this.ctx.fillStyle="#A0A4AB",this.ctx.fill(),this.ctx.font="20px Arial",this.ctx.textBaseline="middle",this.ctx.textAlign="left",this.ctx.fillText(e,a+65,r)}else{var s=t+10,h="maxHigh"===o?i+1:i-1;this.ctx.beginPath(),this.ctx.setLineDash([]),this.ctx.strokeStyle="#A0A4AB",this.ctx.moveTo(s-30,h),this.ctx.lineTo(s-60,h),this.ctx.stroke(),this.ctx.beginPath(),this.ctx.moveTo(s-30,h),this.ctx.lineTo(s-45,h-10),this.ctx.lineTo(s-35,h),this.ctx.lineTo(s-45,h+10),this.ctx.fillStyle="#A0A4AB",this.ctx.fill(),this.ctx.font="20px Arial",this.ctx.textBaseline="middle",this.ctx.textAlign="left",this.ctx.fillText(e,s-145,h)}},t.prototype.drawLine=function(t,i,e,n,o){void 0===o&&(o={}),this.ctx.setLineDash([]),this.ctx.moveTo(t,i),o&&(o.color&&(this.ctx.strokeStyle=o.color),o.dottal&&this.ctx.setLineDash([o.dottal.x,o.dottal.y]),o.width&&(this.ctx.lineWidth=o.width)),this.ctx.lineTo(e,n)},t.prototype.drawRect=function(t,i,e,n,o){this.ctx.beginPath(),o&&(this.ctx.fillStyle=o.fillStyle),this.ctx.fillRect(t,i,e,n)},t.prototype.clearCanvas=function(){this.canvas.height=this.option.height,this.canvas.width=this.option.width},t.prototype.dateFormat=function(t,i){var e,n={"Y+":i.getFullYear().toString(),"m+":(i.getMonth()+1).toString(),"d+":i.getDate().toString(),"H+":i.getHours().toString(),"M+":i.getMinutes().toString(),"S+":i.getSeconds().toString()};for(var o in n)n.hasOwnProperty(o)&&(e=new RegExp("("+o+")").exec(t))&&(t=t.replace(e[1],1===e[1].length?n[o]:n[o].padStart(e[1].length,"0")));return t},t.prototype.drawLogo=function(){var t=document.createElement("img");t.setAttribute("src",e(0)),t.style.position="absolute",t.style.left="1%",t.style.maxWidth="100px",t.style.opacity="0.5",t.style.bottom="5%",t.style.userSelect="none",this.container.appendChild(t)},t.prototype.Pythagorean=function(t,i){var e=Math.abs(t.clientX-i.clientX),n=Math.abs(t.clientY-i.clientY);return Math.sqrt(Math.pow(e,2)+Math.pow(n,2))},t.prototype.addStatus=function(t){t.forEach((function(t,i,e){t.open>t.close?e[i].status=r.down:e[i].status=r.up}))},t.tHeight=15,t.TimeHorizonHeight=30,t.minVal=9999999,t.maxVal=0,t.candleMargin=1,t.isTouch=!1,t.infoContainerPosition=a.left,t.curCandleCoord={offsetX:0,offsetY:0},t}();function h(t,i){void 0===i&&(i={});var e=document.createElement(t);for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);return e}function l(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t.style[e]=i[e])}function c(t,i,e){function n(t,n,o){return(n>=t?60*(n-t):60*i-60*(o-n))<=e?"purchasing":"delivering"}return function(e){var o=[],a=!1;!function i(e,n){e>=60&&(a=!0,e-=60);var r=n+e,s=[];n+e>=60&&(s=[e,r=n+e-60],o.push(s)),e+n>t&&a||(s=[e,r],o.push(s),i(n+e,n))}(t,i);for(var r={prev:0,status:"",now:0,next:0},s=0;s<o.length;s++){var h=o[s],l=h[0],c=h[1];if(l>c){if(e===l){r.prev=c-i<0?60-c+i:c-i,r.status="start",r.next=l-i<0?60-l+i:l-i;break}if(e===c){r.prev=l+i>=60?60-l-i:l+i,r.status="end",r.next=c+i>=60?60-c-i:c+i;break}if(l<e&&c+60>e){r.prev=l,r.status=n(l,e,c),r.next=c;break}}else{if(l<e&&c>e){r.prev=l,r.status=n(l,e,c),r.next=c;break}if(e===l){r.prev=l,r.status="start",r.next=c;break}if(e===c){r.prev=l+i>=60?60-l-i:l+i,r.status="end",r.next=c+i>=60?60-c-i:c+i;break}}}return r.now=e,r}}var d,p,u=function(){function t(t,i){this.container=t,this.option=i}return t.prototype.createInfoElement=function(t){var i=h("div");return i.id=t,l(i,{minWidth:"25%",background:"#1D2027",border:"#eee",padding:"6px 5px",display:"flex",flexDirection:"column",position:"absolute",top:"7%"}),"left"===this.infoContainerPosition?l(i,{left:"2%"}):l(i,{right:"2%"}),i},t.prototype.updateCurCandleInfo=function(){s.isTimeToUpdateCurCandle&&(s.curCandle=s.allData[s.allData.length-1],this.drawCurCandleMAInfo(),this.curCandleOHLCInfoContainer&&(l(this.curCandleOHLCInfoContainer,{color:"up"===s.curCandle.status?"#57CF8D":"#EB2F34"}),this.appendCurCandleOHLCInfo()))},t.prototype.drawCurCandleMAInfo=function(){"candle"===s.chartType&&(document.getElementById("curCandleMAContainer")?(this.curCandleMAContainer=this.container.querySelector("#curCandleMAContainer"),this.curCandleMAContainer.innerHTML="",this.patchCurCandleMAInfo(this.curCandleMAContainer)):(this.curCandleMAContainer=h("div"),this.curCandleMAContainer.setAttribute("id","curCandleMAContainer"),l(this.curCandleMAContainer,{position:"absolute",marginTop:"5px",display:"flex",top:"0%",left:"2%",userSelect:"none"}),this.patchCurCandleMAInfo(this.curCandleMAContainer),this.container.appendChild(this.curCandleMAContainer)))},t.prototype.patchCurCandleMAInfo=function(t){var i="";if(this.option.MA&&this.option.MA.length){for(var e=0;e<this.option.MA.length;e++){var n=this.option.MA[e];s.curCandle["MA"+n.interval]?i+='\n <div style="color: '+n.color+';text-align: left;margin-top: 5px;margin-right:8px">\n MA'+n.interval+": "+s.curCandle["MA"+n.interval]+"\n </div>\n ":i+='\n <div style="color: '+n.color+';text-align: left;margin-top: 5px;margin-right:8px">\n MA'+n.interval+" : -- --\n </div>\n "}t.innerHTML=i}},t.prototype.drawCurCandleOHLCInfo=function(){this.curCandleOHLCInfoContainer?"mobile"===this.option.mode?(this.container.removeChild(this.curCandleOHLCInfoContainer),this.curCandleOHLCInfoContainer=null):(l(this.curCandleOHLCInfoContainer,{color:"up"===s.curCandle.status?"#57CF8D":"#EB2F34"}),"left"===s.infoContainerPosition?l(this.curCandleOHLCInfoContainer,{right:"unset",left:"2%"}):l(this.curCandleOHLCInfoContainer,{left:"unset",right:"2%"}),this.appendCurCandleOHLCInfo()):(this.curCandleOHLCInfoContainer=this.createInfoElement("curCandleOHLCInfoContainer"),l(this.curCandleOHLCInfoContainer,{color:"up"===s.curCandle.status?"#57CF8D":"#EB2F34",userSelect:"none"}),this.appendCurCandleOHLCInfo(),this.container.appendChild(this.curCandleOHLCInfoContainer))},t.prototype.appendCurCandleOHLCInfo=function(){var t=s.curCandle.close-s.curCandle.open,i=t/s.curCandle.open;this.curCandleOHLCInfoContainer&&(this.curCandleOHLCInfoContainer.innerHTML='\n <div style="flex:1;display:flex; width:100%;justify-content:space-between;">\n <span>Open:</span>\n <span>'+s.curCandle.open+'</span>\n </div>\n <div style="flex:1;display:flex;width:100%;justify-content:space-between;">\n <span>High:</span>\n <span>'+s.curCandle.high+'</span>\n </div>\n <div style="flex:1;display:flex;width:100%;justify-content:space-between;">\n <span>Low:</span>\n <span>'+s.curCandle.low+'</span>\n </div>\n <div style="flex:1;display:flex;width:100%;justify-content:space-between;">\n <span>Close:</span>\n <span>'+s.curCandle.close+'</span>\n </div>\n <div style="flex:1;display:flex;width:100%;justify-content:space-between;">\n <span>change:</span>\n <span>'+(t>0?"+":"")+t.toFixed(this.option.priceDigitnumber)+'</span>\n </div>\n <div style="flex:1;display:flex;width:100%;justify-content:space-between;">\n <span>change%:</span>\n <span>'+(i>0?"+":"")+(100*i).toFixed(2)+"%</span>\n </div>\n ")},t}(),g=(d=function(t,i){return(d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function e(){this.constructor=t}d(t,i),t.prototype=null===i?Object.create(i):(e.prototype=i.prototype,new e)}),f=function(t,i,e,n){return new(e||(e=Promise))((function(o,a){function r(t){try{h(n.next(t))}catch(t){a(t)}}function s(t){try{h(n.throw(t))}catch(t){a(t)}}function h(t){var i;t.done?o(t.value):(i=t.value,i instanceof e?i:new e((function(t){t(i)}))).then(r,s)}h((n=n.apply(t,i||[])).next())}))},m=function(t,i){var e,n,o,a,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(e)throw new TypeError("Generator is already executing.");for(;r;)try{if(e=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return r.label++,{value:a[1],done:!1};case 5:r.label++,n=a[1],a=[0];continue;case 7:a=r.ops.pop(),r.trys.pop();continue;default:if(!(o=r.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){r=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){r.label=a[1];break}if(6===a[0]&&r.label<o[1]){r.label=o[1],o=a;break}if(o&&r.label<o[2]){r.label=o[2],r.ops.push(a);break}o[2]&&r.ops.pop(),r.trys.pop();continue}a=i.call(t,r)}catch(t){a=[6,t],n=0}finally{e=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},C=function(t,i){var e="function"==typeof Symbol&&t[Symbol.iterator];if(!e)return t;var n,o,a=e.call(t),r=[];try{for(;(void 0===i||i-- >0)&&!(n=a.next()).done;)r.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(e=a.return)&&e.call(a)}finally{if(o)throw o.error}}return r},w=function(t,i){for(var e=0,n=i.length,o=t.length;e<n;e++,o++)t[o]=i[e];return t},x=function(t){function i(i,e){var n=t.call(this,i,e)||this;return n.loadMore=!1,n.quotePanel=new u(i,e),n.createCanvasElement(i),n.ctx=n.canvas.getContext("2d"),n.lineBgColorBegin=n.option.lineBgColorBegin||"rgba(133,171,212,0.6)",n.lineBgColorEnd=n.option.lineBgColorEnd||"rgba(133,171,212,0.1)",n.BrokenLineColor=n.option.BrokenLineColor||"#3696F3",n.yLegendNum=10,s.legendYMargin=(n.option.height-4*n.option.cPadding)/(n.yLegendNum-1),n.xLegendNum=4,n.lastClientX=0,n.rightCandleOffset=0,n.leftCandleOffset=0,n.formatData(),s.showData=s.allData.slice(-s.showDataNum),n.quotePanel.updateCurCandleInfo(),n.candleNum=s.showData.length,n.candleWidth=(n.option.width-n.chartRightPadding-(3*n.cPadding-s.candleMargin)-s.candleMargin*(n.candleNum-1))/n.candleNum,n.ctr=e.animate?1:100,n.numctr=100,n.speed=3,n.ctx.font="24px Arial",n.ctx.textAlign="end",n.drawChart(),n.lastDiff=0,n}return g(i,t),i.prototype.createCanvasElement=function(t){this.canvas=h("canvas"),this.canvas.height=this.option.height,this.canvas.width=this.option.width,this.canvas.style.width=this.option.originalWidth+"px",this.canvas.style.height=this.option.originalHeight+"px",t.appendChild(this.canvas)},i.prototype.drawMinMaxText=function(){var t=0,i={high:0,low:0,close:0,open:0};s.showData.forEach((function(e,n){e.high>i.high&&(i=e,t=n)}));var e=this.originX+this.option.cPadding+t*this.candleWidth+(t-1)*s.candleMargin+this.candleWidth/2,n=(s.maxVal-i.high)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),o="left";t<=15&&(o="right"),this.drawTrigon(e,n,i.high.toString(),o,"maxHigh");var a=0,r={high:0,low:Number.MAX_VALUE,close:0,open:0};s.showData.forEach((function(t,i){t.low<r.low&&(r=t,a=i)}));var h=this.originX+this.option.cPadding+a*this.candleWidth+(a-1)*s.candleMargin+this.candleWidth/2,l=(s.maxVal-r.low)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),c="left";a<=15&&(c="right"),this.drawTrigon(h,l,r.low.toString(),c,"minLow")},i.prototype.formatData=function(){var t=this;s.allData.forEach((function(i,e,n){"1m"===t.option.interval||"5m"===t.option.interval?t.xLegendNum=8:"15m"===t.option.interval||"30m"===t.option.interval||"60m"===t.option.interval?(t.xLegendNum=5,t.tSpace=50):"1d"===t.option.interval&&(t.xLegendNum=8),n[e].formatedTime=t.dateFormat(t.formatTimeRule(),new Date(Number(i.time)))}))},i.prototype.formatTimeRule=function(){return"1m"===this.option.interval||"5m"===this.option.interval?"HH:MM":"15m"===this.option.interval||"30m"===this.option.interval||"60m"===this.option.interval?"mm/dd HH:MM":"1d"===this.option.interval?"mm/dd":"yyyy-mm-dd HH:MM:SS"},i.prototype.drawChart=function(){this.clearCanvas(),this.getYlengend(),this.drawCandles(),this.drawAxis(),this.drawRealTimeHorizon(),"candle"===s.chartType&&(this.drawMinMaxText(),this.drawMAs())},i.prototype.getYlengend=function(){s.maxVal=0,s.minVal=9999999,s.showData.forEach((function(t){t.high>s.maxVal&&(s.maxVal=Number(t.high)),t.low<s.minVal&&(s.minVal=Number(t.low))}));var t=s.maxVal-s.minVal;s.maxVal+=.15*t,s.minVal-=.05*t,s.yAxisLegendTextLength=12*s.maxVal.toFixed(this.option.priceDigitnumber).length},i.prototype.drawAxis=function(){this.drawLine(this.originX,this.originY,this.option.width-this.option.cPadding,this.originY,{color:this.option.axisColor}),this.drawLine(this.originX,this.originY,this.originX,this.option.cPadding,{color:this.option.axisColor}),this.drawYAxis(),this.drawXAxis()},i.prototype.drawYAxis=function(){this.ctx.beginPath();var t=(s.maxVal-s.minVal)/(this.yLegendNum-1);this.ctx.fillStyle=this.option.legendColor;for(var i=0;i<this.yLegendNum;i++){var e=this.originY-s.tHeight-s.legendYMargin*i,n=(s.minVal+i*t).toFixed(this.option.priceDigitnumber);this.ctx.font="20px Arial","left"!==this.option.yAxisDirection&&this.option.yAxisDirection?"right"===this.option.yAxisDirection&&(this.ctx.textBaseline="top",this.ctx.textAlign="right",this.ctx.fillText(n,this.option.width-this.option.cPadding,e)):this.ctx.fillText(n,this.originX,e),this.ctx.textBaseline="alphabetic"}},i.prototype.drawXAxis=function(){var t=Math.round(s.showData.length/this.xLegendNum)+1;this.ctx.textAlign="left";for(var i=0;i<s.showData.length;i+=t){var e=s.showData[i];e.formatedTime&&this.ctx.fillText(e.formatedTime,e.leftCoordinate+(e.rightCoordinate-e.leftCoordinate)/2,this.option.height-this.option.cPadding)}},i.prototype.drawCandlestick=function(t,i){this.ctx.beginPath(),this.ctx.lineWidth=3;var e=this.originX+this.option.cPadding+i*this.candleWidth+(i-1)*s.candleMargin+this.candleWidth/2,n=(s.maxVal-t.high)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),o=(s.maxVal-t.low)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding);t.open>t.close?this.drawLine(e,n,e,o,{color:this.option.downColor,width:3}):this.drawLine(e,n,e,o,{color:this.option.upColor,width:3}),this.ctx.stroke()},i.prototype.drawCandle=function(t,i){var e,n,o=this.originX+this.option.cPadding+i*this.candleWidth+(i-1)*s.candleMargin;t.open>t.close?(n=(t.open-t.close)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),e=(s.maxVal-t.open)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),this.drawRect(o,e,this.candleWidth*this.ctr/this.numctr,n,{fillStyle:this.option.downColor})):(n=(t.close-t.open)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),e=(s.maxVal-t.close)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),this.drawRect(o,e,this.candleWidth*this.ctr/this.numctr,n,{fillStyle:this.option.upColor}))},i.prototype.drawBrokenLine=function(t,i,e){void 0===e&&(e={});var n=this.originX+this.option.cPadding+i*this.candleWidth+(i-1)*s.candleMargin+this.candleWidth/2,o=(s.maxVal-t.close)/(s.maxVal-s.minVal)*(this.option.height-this.cPadding);0===i?this.ctx.moveTo(n,o):this.ctx.lineTo(n,o),this.ctx.strokeStyle=e.color||this.BrokenLineColor,e.width&&(this.ctx.lineWidth=e.width)},i.prototype.drawCandles=function(){var t=this;if(this.ctx.beginPath(),this.ctx.setLineDash([]),s.showData.forEach((function(i,e,n){"line"===s.chartType?(t.addCandleCoordinate(i,e,n),t.drawBrokenLine(i,e,{width:3})):(t.addCandleCoordinate(i,e,n),t.drawCandle(i,e),t.drawCandlestick(i,e))})),this.ctx.stroke(),"line"===s.chartType){var i=this.originX+this.option.cPadding-Number(s.candleMargin)+this.candleWidth/2,e=this.originX+this.option.cPadding+(s.showData.length-1)*this.candleWidth+(s.showData.length-2)*s.candleMargin+this.candleWidth/2;this.ctx.lineTo(e,this.originY),this.ctx.lineTo(i,this.originY);var n=this.ctx.createLinearGradient(0,0,0,300);n.addColorStop(0,this.lineBgColorBegin),n.addColorStop(1,this.lineBgColorEnd),this.ctx.fillStyle=n,this.ctx.fill(),this.ctx.closePath()}this.ctr<this.numctr&&(this.ctr++,setTimeout((function(){t.drawChart(),t.drawRealTimeHorizon()}),this.speed))},i.prototype.drawRealTimeHorizon=function(){this.ctx.beginPath(),this.ctx.textAlign="left";var t=s.allData.length-1,i=s.allData[t],e=s.showData.length-1;this.ctx.font="20px Arial";var n,o,a=this.originX+this.option.cPadding+e*(this.candleWidth+s.candleMargin);if("line"===s.chartType?(n=this.BrokenLineColor,o=(s.maxVal-i.close)/(s.maxVal-s.minVal)*(this.option.height-2*this.cPadding)):(n=Number(i.open)>Number(i.close)?this.option.downColor:this.option.upColor,o=(s.maxVal-i.close)/(s.maxVal-s.minVal)*(this.option.height-2*this.cPadding)+this.cPadding),"left"!==this.option.yAxisDirection&&this.option.yAxisDirection){if("right"===this.option.yAxisDirection){var r=this.originX+this.option.width;this.drawLine(r,o,this.originX,o,{color:n,dottal:{x:1,y:1}}),this.ctx.stroke(),this.drawRect(r-s.yAxisLegendTextLength,o-s.TimeHorizonHeight/2,s.yAxisLegendTextLength,s.TimeHorizonHeight,{fillStyle:n}),this.ctx.fillStyle="#fff",this.ctx.textAlign="center",this.ctx.textBaseline="middle",this.ctx.fillText(i.close.toFixed(this.option.priceDigitnumber),r-s.yAxisLegendTextLength/2,o)}}else this.drawLine(a,o,this.originX,o,{color:n,dottal:{x:1,y:1}}),this.ctx.stroke(),this.drawRect(this.originX,o-7,50,15,{fillStyle:n}),this.ctx.fillStyle="#fff",this.ctx.fillText(i.close.toFixed(this.option.priceDigitnumber),this.originX+5,o+3.5)},i.prototype.addCandleCoordinate=function(t,i,e){var n=this.originX+this.option.cPadding+i*this.candleWidth+(i-1)*s.candleMargin;e[i].leftCoordinate=n.toFixed(2),e[i].leftCoordinate=Number(e[i].leftCoordinate),e[i].rightCoordinate=(n+this.candleWidth*this.ctr/this.numctr).toFixed(2),e[i].rightCoordinate=Number(e[i].rightCoordinate)},i.prototype.drawMA=function(t,i){this.ctx.beginPath();var e,n,o,a=Number(t);this.leftCandleOffset=s.allData.length-this.rightCandleOffset-this.candleNum,this.leftCandleOffset<a?(n=this.candleNum+this.leftCandleOffset,e=0,o=!0):(n=this.candleNum+a-1,e=-this.candleNum-this.rightCandleOffset-a+1,o=!1);var r=e+n;0===r&&(r=s.allData.length-1);for(var h=s.allData.slice(e,r+1),l=a-1;l<n;l++){for(var c=0,d=l-a+1;d<=l;d++)h[d].close,c+=Number(h[d].close);var p=c/a,u=l-a+1;o&&(u=l-this.leftCandleOffset),s.showData[u]["MA"+a]=Number(p.toFixed(this.option.priceDigitnumber)),this.drawBrokenLine({open:0,high:0,low:0,close:p},u,{color:i,width:2})}this.ctx.stroke()},i.prototype.drawMAs=function(){var t=this;this.ctx.setLineDash([]),this.option.MA&&this.option.MA.length&&this.option.MA.forEach((function(i){t.drawMA(i.interval,i.color)}))},i.prototype.canvasMouseDown=function(t){"offsetX"in t&&0===this.lastClientX&&(this.lastClientX=t.offsetX)},i.prototype.canvasMouseWheel=function(t){var i=0;t.touches?(0===this.lastDiff&&(this.lastDiff=this.Pythagorean(t.touches[0],t.touches[1])),i=this.Pythagorean(t.touches[0],t.touches[1])/this.lastDiff>1?1:-1,this.lastDiff=this.Pythagorean(t.touches[0],t.touches[1])):t.wheelDelta?(i=t.wheelDelta/120,window.opera&&(i=-i)):t.detail&&(i=-t.detail/3),i&&this.chartZoom(i)},i.prototype.chartZoom=function(t){var i=Math.round(s.showDataNum/25);if(i<3&&(i=3),t<0){if(s.showDataNum>=s.allData.length)return;s.showDataNum+=i,0===this.rightCandleOffset?s.showData=s.allData.slice(-s.showDataNum):s.showData=s.allData.slice(-s.showDataNum-this.rightCandleOffset,s.allData.length-this.rightCandleOffset),this.candleNum=s.showData.length,this.candleWidth=(this.option.width-this.chartRightPadding-(3*this.cPadding-s.candleMargin)-s.candleMargin*(this.candleNum-1))/this.candleNum,this.drawChart()}else{if(s.showDataNum<=13)return;s.showDataNum-=i,s.showData=s.allData.slice(-s.showDataNum-this.rightCandleOffset,s.allData.length-this.rightCandleOffset),0===this.rightCandleOffset&&(s.showData=s.allData.slice(-s.showDataNum)),this.candleNum=s.showData.length,this.candleWidth=(this.option.width-this.chartRightPadding-(3*this.cPadding-s.candleMargin)-s.candleMargin*(this.candleNum-1))/this.candleNum,this.drawChart()}},i.prototype.canvasMouseMove=function(t){return f(this,void 0,void 0,(function(){var i,e;return m(this,(function(n){switch(n.label){case 0:return(e=parseInt(String(s.showData.length/50)))<1&&(e=1),i=t.touches?t.touches[0].clientX:t.clientX,this.lastClientX<i?(this.rightCandleOffset+=e,this.rightCandleOffset>=s.allData.length-this.candleNum&&(this.rightCandleOffset=s.allData.length-this.candleNum)):this.lastClientX>i&&(this.rightCandleOffset-=e,this.rightCandleOffset<=0&&(this.rightCandleOffset=0)),s.showData=s.allData.slice(-this.candleNum-this.rightCandleOffset,s.allData.length-this.rightCandleOffset),this.lastClientX=i,this.leftCandleOffset=s.allData.length-this.rightCandleOffset-this.candleNum,[4,this.loadMoreData()];case 1:return n.sent(),this.drawChart(),[2]}}))}))},i.prototype.loadMoreData=function(){return f(this,void 0,void 0,(function(){var t,i;return m(this,(function(e){switch(e.label){case 0:return this.leftCandleOffset||this.loadMore||!this.option.loadMoreCallback?[3,2]:(this.loadMore=!0,[4,this.option.loadMoreCallback()]);case 1:if(0===(t=e.sent()).length)return[2];this.addStatus(t),(i=s.allData).unshift.apply(i,w([],C(t))),this.formatData(),this.loadMore=!1,e.label=2;case 2:return[2]}}))}))},i.prototype.updateLastCandle=function(t,i,e,n){if(i)e>n.high?(s.allData[s.allData.length-1].high=e,s.allData[s.allData.length-1].close=e):e<n.low?(s.allData[s.allData.length-1].low=e,s.allData[s.allData.length-1].close=e):s.allData[s.allData.length-1].close=e,s.allData[s.allData.length-1].status=s.allData[s.allData.length-1].close>s.allData[s.allData.length-1].open?r.up:r.down;else{var o=s.allData[s.allData.length-1].close,a={open:o,low:o<e?o:e,close:e,high:o>e?o:e,time:t,formatedTime:this.dateFormat(this.formatTimeRule(),new Date(Date.now()))};s.allData.push(a),0===this.rightCandleOffset?s.showData=s.allData.slice(-this.candleNum):this.rightCandleOffset++}},i.prototype.timeCheck=function(t,i){if(this.option.timeCheckErrorHandler){var e=Math.abs(new Date(i).getMinutes()-new Date(t).getMinutes());switch(this.option.interval){case"1m":e>1&&this.option.timeCheckErrorHandler(e-1);break;case"5m":e>5&&this.option.timeCheckErrorHandler(e-5);break;case"15m":e>15&&this.option.timeCheckErrorHandler(e-15);break;case"30m":e>30&&this.option.timeCheckErrorHandler(e-30);break;case"60m":e>60&&this.option.timeCheckErrorHandler(e-60);break;case"1d":e>1440&&this.option.timeCheckErrorHandler(e-1440)}}},i.prototype.subscribeBars=function(t,i){return f(this,void 0,void 0,(function(){var e,n,o,a,r,h,l,c;return m(this,(function(d){return t=Number(t),e=s.allData[s.allData.length-1],n=new Date(Number(e.time)),o=Number(this.dateFormat("M",n)),a=Number(this.dateFormat("H",n)),r=Number(this.dateFormat("d",n)),h=Number(this.dateFormat("d",new Date(t))),l=Number(this.dateFormat("M",new Date(t))),c=Number(this.dateFormat("H",new Date(t))),this.timeCheck(n.getTime(),t),"1m"===this.option.interval?this.updateLastCandle(t,l===o,i,e):"5m"===this.option.interval?this.updateLastCandle(t,Math.abs(l-o)<=5||55===Math.abs(l-o),i,e):"15m"===this.option.interval?this.updateLastCandle(t,Math.abs(l-o)<=15||45===Math.abs(l-o),i,e):"30m"===this.option.interval?this.updateLastCandle(t,Math.abs(l-o)<=30,i,e):"60m"===this.option.interval?this.updateLastCandle(t,c===a,i,e):"1d"===this.option.interval&&this.updateLastCandle(t,r===h,i,e),this.quotePanel.updateCurCandleInfo(),this.drawChart(),[2]}))}))},i}(s),y=1,v=function(){function t(t,i,e,n,o,a){this.remainingDeliveryTime=0,this.container=t,this.originX=i,this.cPadding=e,this.chartRightPadding=n,this.brokenLineColor=o,this.markerList=[],this.option=a,this.purchaseTime=this.option.optionConf.purchaseTime,this.deliveryTime=this.option.optionConf.deliveryTime,this.createInfoElement(this.container),this.createSettlementElement(this.container)}return t.prototype.createInfoElement=function(t){var i=document.getElementById("infoContainer");i||((i=h("div")).id="infoContainer"),this.drawQuoteLine(i),this.drawRemainingElement(i),this.createSettlementOverlay(i),t.appendChild(i)},t.prototype.createSettlementElement=function(t){this.settlementArea||(this.settlementArea=h("div",{id:"settlementArea"})),this.interval=(this.option.optionConf.deliveryTime+this.option.optionConf.purchaseTime)/60,this.judgeOptionStatus=c(this.option.optionConf.startMin,this.interval,this.purchaseTime);var i=new Date,e=i.getMinutes()+i.getSeconds()/60;this.updateTradingStatus(e),this.calcSettlementPosition(e),t.append(this.settlementArea)},t.prototype.createSettlementOverlay=function(t){this.settlementOverlay||(this.settlementOverlay=h("div"),this.settlementOverlay.id="settlementOverlay"),l(this.settlementOverlay,{width:(this.option.width-this.chartRightPadding)/2+"px",height:this.option.height/2+"px"}),t.appendChild(this.settlementOverlay)},t.prototype.drawQuoteLine=function(t){this.quoteLine=h("div",{id:"quoteLine"}),this.quoteRect=h("div",{id:"quoteRect"}),this.quoteSpan=h("span",{id:"quoteSpan"}),this.quoteDot=h("i",{id:"quoteDot"});var i=this.getCoordinateByPrice(),e=i.x,n=i.y,o=this.getPrice();l(this.quoteLine,{width:this.option.width/2+"px",top:n/2+"px"}),l(this.quoteDot,{top:n/2+"px",left:isNaN(e)?(this.option.width-this.chartRightPadding)/2+"px":e/2+"px",backgroundColor:this.brokenLineColor}),l(this.quoteRect,{top:n/2+"px",left:(100+s.yAxisLegendTextLength)/2+"px"}),this.quoteSpan.innerHTML=o.toString(),t.appendChild(this.quoteLine),t.appendChild(this.quoteDot),t.appendChild(this.quoteRect),this.quoteRect.appendChild(this.quoteSpan)},t.prototype.drawRemainingElement=function(t){this.remainingElement=h("div",{id:"remainingElement"});var i=h("i"),e=h("span");e.innerHTML="0",this.remainingElement.appendChild(i),this.remainingElement.appendChild(e),t.appendChild(this.remainingElement)},t.prototype.getCoordinateByPrice=function(t){var i=s.allData.length-1,e=s.allData[i],n=(e.leftCoordinate+e.rightCoordinate)/2,o=e.rightCoordinate-e.leftCoordinate;return{x:n,y:(s.maxVal-(t||e.close))/(s.maxVal-s.minVal)*(this.option.height-2*this.cPadding),candlWidth:o,time:e.time}},t.prototype.getPrice=function(){var t=s.allData.length-1;return s.allData[t].close},t.prototype.mark=function(t){if("delivering"===this.tradingStatus.status&&this.option.markFailHandler)this.option.markFailHandler();else{var i=this.getCoordinateByPrice(),e=i.x,n=i.y,o=i.time,a=h("mark"),r=h("div",{className:"markPriceLine"}),s=h("span",{className:"markPriceSpan"}),l={uid:y++,width:68,height:40,price:this.getPrice(),x:e,y:n,el:a,createTime:o,children:{markPriceLine:r,markPriceSpan:s},type:t};this.setMarkerStyle(l),this.markerList.push(l),this.patchMarker(l)}},t.prototype.setMarkerStyle=function(t){var i=t.type===r.down?this.option.downColor:this.option.upColor;l(t.el,{left:t.x/2+"px",top:t.y/2+"px",backgroundImage:"url("+(t.type===r.down?e(1):e(2))+")",opacity:t.x?"1":"0"}),l(t.children.markPriceSpan,{backgroundColor:i,width:s.yAxisLegendTextLength/2+"px",height:s.TimeHorizonHeight/2+"px",left:(this.option.width-s.yAxisLegendTextLength)/2+"px",top:t.y/2+"px",opacity:t.x?"1":"0"}),t.children.markPriceSpan.innerHTML=t.price.toString(),l(t.children.markPriceLine,{width:this.option.width/2+"px",left:"0px",top:t.y/2+"px",backgroundColor:i,opacity:t.x?"1":"0"})},t.prototype.update=function(){this.updateQuoteLine(),this.updateMarkers(),this.updateSettlementArea()},t.prototype.updateMarkers=function(){var t=this;this.markerList.length&&this.markerList.forEach((function(i,e,n){var o=t.fetchMarkerCoordinate(n[e]),a=o.x,r=o.y;n[e].x=a,n[e].y=r,t.setMarkerStyle(n[e])}))},t.prototype.updateQuoteLine=function(){var t=this.getCoordinateByPrice(),i=t.x,e=t.y,n=this.getPrice();l(this.quoteLine,{top:e/2+"px"}),l(this.quoteDot,{top:e/2+"px",left:i/2+"px"}),l(this.quoteRect,{top:e/2+"px"}),this.quoteSpan.innerHTML=n.toString()},t.prototype.updateSettlementArea=function(){var t=new Date,i=t.getMinutes()+t.getSeconds()/60;this.updateTradingStatus(i),"end"!==this.tradingStatus.status&&"start"!==this.tradingStatus.status||this.flushMarker(),this.calcSettlementPosition(i)},t.prototype.updateSettlementOverlay=function(t,i){Number(t.toFixed(1))<=this.option.width-this.chartRightPadding-i/2?l(this.settlementOverlay,{opacity:"1",width:(this.option.width-this.chartRightPadding-s.yAxisLegendTextLength+i)/2+"px"}):l(this.settlementOverlay,{opacity:"0",width:(this.option.width-this.chartRightPadding)/2+"px"})},t.prototype.updateTradingStatus=function(t){var i=this.tradingStatus=this.judgeOptionStatus(t);if(this.updateRemainingElement(),"delivering"===i.status&&this.option.deliveringCallback){var e=void 0;e=i.next>=t?60*i.next-60*t:3600-60*t,this.option.deliveringCallback(e)}else"end"===i.status&&(this.remainingDeliveryTime=0,this.judgeOptionStatus=c(this.option.optionConf.startMin,this.interval,this.purchaseTime))},t.prototype.updateRemainingElement=function(){var t=this.tradingStatus,i=t.now,e=t.next;e<i&&(e+=60);var n=(60*(e-i)).toFixed(0),o=document.querySelector(".__tcContainer__ #remainingElement span");o instanceof HTMLElement&&(o.innerHTML=n)},t.prototype.fetchMarkerCoordinate=function(t){var i=s.showData.find((function(i){return i.time===t.createTime})),e=0,n=(s.maxVal-t.price)/(s.maxVal-s.minVal)*(this.option.height-2*this.cPadding);return i&&i.leftCoordinate&&i.rightCoordinate&&(e=i.leftCoordinate),{x:e,y:n}},t.prototype.patchMarker=function(t){this.markContainer||(this.markContainer=h("div"),this.markContainer.id="markContainer",this.container.appendChild(this.markContainer)),l(t.el,{left:t.x/2+"px",top:t.y/2+"px"}),this.markContainer.appendChild(t.el),this.markContainer.appendChild(t.children.markPriceLine),this.markContainer.appendChild(t.children.markPriceSpan),t.el.innerHTML=t.uid},t.prototype.flushMarker=function(){this.markContainer&&(this.markContainer.innerHTML=""),y=1,this.markerList=[]},t.prototype.calcSettlementPosition=function(t){var i=this.tradingStatus.prev,e=this.getCoordinateByPrice().candlWidth,n=(this.chartRightPadding-s.yAxisLegendTextLength+e/2)/(this.deliveryTime+this.purchaseTime+this.remainingDeliveryTime),o=60*t-60*i,a=this.deliveryTime*n,r=this.option.width-a-s.yAxisLegendTextLength-o*n;this.updateSettlementOverlay(r,e),l(this.settlementArea,{height:this.option.height/2+"px",width:a/2+"px",left:r/2+"px"})},t.prototype.skipDelivery=function(){if("delivering"===this.tradingStatus.status){var t=this.tradingStatus,i=t.next,e=t.now,n=i<e?i+60-e:i-e;this.remainingDeliveryTime=60*n,this.judgeOptionStatus=c(e,this.interval+n,this.purchaseTime+this.remainingDeliveryTime)}},t}(),A=function(){var t=function(i,e){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])})(i,e)};return function(i,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=i}t(i,e),i.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}}(),D=function(t){function i(i,e){var n=t.call(this,i,e)||this;return n.lastDiff=0,n.container=i,n.createCanvasElement(i),n.ctx=n.canvas.getContext("2d"),n.lineBgColorBegin=n.option.lineBgColorBegin||"rgba(36,145,227,0.6)",n.lineBgColorEnd=n.option.lineBgColorEnd||"rgba(36,145,227,0.2)",n.BrokenLineColor=n.option.BrokenLineColor||"#3696F3",n.yLegendNum=10,s.legendYMargin=(n.option.height-4*n.option.cPadding)/(n.yLegendNum-1),n.xLegendNum=7,n.lastClientX=0,n.rightCandleOffset=0,n.leftCandleOffset=0,n.chartRightPadding="mobile"===n.option.mode?.34*n.option.width:.5*n.option.width,n.formatData(),s.showData=s.allData.slice(-200),n.candleNum=s.showData.length,n.candleWidth=(n.option.width-n.chartRightPadding-(3*n.cPadding-s.candleMargin)-s.candleMargin*(n.candleNum-1))/n.candleNum,n.ctx.font="24px Arial",n.ctx.textAlign="end",n.optionPanel=new v(n.container,n.originX,n.cPadding,n.chartRightPadding,n.BrokenLineColor,n.option),n.drawChart(),n}return A(i,t),i.prototype.createCanvasElement=function(t){this.canvas=h("canvas"),this.canvas.height=this.option.height,this.canvas.width=this.option.width,this.canvas.style.width=this.option.originalWidth+"px",this.canvas.style.height=this.option.originalHeight+"px",t.appendChild(this.canvas)},i.prototype.formatData=function(){var t=this;s.allData.forEach((function(i,e,n){n[e].formatedTime=t.dateFormat("MM:SS",new Date(Number(i.time)))}))},i.prototype.drawChart=function(){this.clearCanvas(),this.getYlegend(),this.drawCandles(),this.drawAxis(),this.drawGrid(15),this.optionPanel.update()},i.prototype.drawGrid=function(t){var i=s.showData[s.showData.length-1].time,e=(i-s.showData[0].time)/1e3,n=Math.ceil(e/t);console.log(this.dateFormat("MM:SS",new Date(i)));var o=(this.option.width-this.chartRightPadding-s.yAxisLegendTextLength)/n,a=(s.showData[s.showData.length-1].rightCoordinate+s.showData[s.showData.length-1].leftCoordinate)/2;this.ctx.font="20px Arial",this.ctx.textAlign="center",this.ctx.fillStyle=this.option.legendColor;for(var r=0;r<=n+1;r++){var h=i-1e3*t*r;this.drawLine(a-r*o,0,a-r*o,this.option.height-this.originX,{color:"#4A5269",width:2,dottal:{x:10,y:5}}),this.ctx.fillText(this.dateFormat("MM:SS",new Date(h)),a-r*o,this.option.height-this.option.cPadding)}n=this.chartRightPadding/o;for(r=1;r<=n+1;r++){h=i+1e3*t*r;this.drawLine(a+r*o,0,a+r*o,this.option.height-this.originX,{color:"#4A5269",width:2,dottal:{x:10,y:5}}),this.ctx.fillText(this.dateFormat("MM:SS",new Date(h)),a+r*o,this.option.height-this.option.cPadding)}for(r=1;r<this.yLegendNum-1;r++)this.drawLine(0,r*s.legendYMargin,this.option.width-s.yAxisLegendTextLength,this.originX+r*s.legendYMargin,{color:"#4A5269",width:2,dottal:{x:10,y:5}});this.ctx.stroke()},i.prototype.getYlegend=function(){s.maxVal=0,s.minVal=9999999,s.showData.forEach((function(t){t.high>s.maxVal&&(s.maxVal=Number(t.high)),t.low<s.minVal&&(s.minVal=Number(t.low))}));var t=s.maxVal-s.minVal;s.maxVal+=.15*t,s.minVal-=.05*t,s.yAxisLegendTextLength=12*s.maxVal.toFixed(this.option.priceDigitnumber).length},i.prototype.drawAxis=function(){this.drawLine(this.originX,this.originY,this.option.width-this.option.cPadding,this.originY,{color:this.option.axisColor}),this.drawLine(this.originX,this.originY,this.originX,this.option.cPadding,{color:this.option.axisColor}),this.drawYAxis(),this.drawXAxis()},i.prototype.drawYAxis=function(){this.ctx.beginPath();var t=(s.maxVal-s.minVal)/(this.yLegendNum-1);this.ctx.fillStyle=this.option.legendColor;for(var i=0;i<this.yLegendNum;i++){var e=this.originY-s.tHeight-s.legendYMargin*i,n=(s.minVal+i*t).toFixed(this.option.priceDigitnumber);this.ctx.font="20px Arial","left"!==this.option.yAxisDirection&&this.option.yAxisDirection?"right"===this.option.yAxisDirection&&(this.ctx.textBaseline="top",this.ctx.textAlign="right",this.ctx.fillText(n,this.option.width-this.option.cPadding,e)):this.ctx.fillText(n,this.originX,e),this.ctx.textBaseline="alphabetic"}},i.prototype.drawXAxis=function(){var t=Math.round(s.showData.length/this.xLegendNum)+1;this.ctx.textAlign="center";for(var i=0;i<s.showData.length;i+=t)s.showData[i]},i.prototype.drawCandlestick=function(t,i){this.ctx.beginPath(),this.ctx.lineWidth=3;var e=this.originX+this.option.cPadding+i*this.candleWidth+(i-1)*s.candleMargin+this.candleWidth/2,n=(s.maxVal-t.high)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),o=(s.maxVal-t.low)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding);t.open>t.close?this.drawLine(e,n,e,o,{color:this.option.downColor,width:3}):this.drawLine(e,n,e,o,{color:this.option.upColor,width:3}),this.ctx.stroke()},i.prototype.drawCandle=function(t,i){var e,n,o=this.originX+this.option.cPadding+i*this.candleWidth+(i-1)*s.candleMargin;t.open>t.close?(n=(t.open-t.close)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),e=(s.maxVal-t.open)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),this.drawRect(o,e,this.candleWidth,n,{fillStyle:this.option.downColor})):(n=(t.close-t.open)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),e=(s.maxVal-t.close)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),this.drawRect(o,e,this.candleWidth,n,{fillStyle:this.option.upColor}))},i.prototype.drawBrokenLine=function(t,i,e){void 0===e&&(e={});var n=this.originX+this.option.cPadding+i*this.candleWidth+(i-1)*s.candleMargin+this.candleWidth/2,o=(s.maxVal-t.close)/(s.maxVal-s.minVal)*(this.option.height-this.cPadding);0===i?this.ctx.moveTo(n,o):this.ctx.lineTo(n,o),this.ctx.strokeStyle=e.color||this.BrokenLineColor,e.width&&(this.ctx.lineWidth=e.width)},i.prototype.drawCandles=function(){this.ctx.beginPath(),this.ctx.setLineDash([]);for(var t=0;t<s.showData.length;t++){var i=s.showData[t];"line"===s.chartType?(this.addCandleCoordinate(i,t,s.showData),this.drawBrokenLine(i,t,{width:3})):(this.addCandleCoordinate(i,t,s.showData),this.drawCandle(i,t),this.drawCandlestick(i,t))}if(this.ctx.stroke(),"line"===s.chartType){var e=this.originX+this.option.cPadding-Number(s.candleMargin)+this.candleWidth/2,n=this.originX+this.option.cPadding+(s.showData.length-1)*this.candleWidth+(s.showData.length-2)*s.candleMargin+this.candleWidth/2;this.ctx.lineTo(n,this.originY),this.ctx.lineTo(e,this.originY);var o=this.ctx.createLinearGradient(0,0,0,300);o.addColorStop(0,this.lineBgColorBegin),o.addColorStop(1,this.lineBgColorEnd),this.ctx.fillStyle=o,this.ctx.fill(),this.ctx.closePath()}},i.prototype.addCandleCoordinate=function(t,i,e){var n=this.originX+this.option.cPadding+i*this.candleWidth+(i-1)*s.candleMargin;e[i].leftCoordinate=Number(n.toFixed(2)),e[i].leftCoordinate=Number(e[i].leftCoordinate),e[i].rightCoordinate=Number((n+this.candleWidth).toFixed(2)),e[i].rightCoordinate=Number(e[i].rightCoordinate)},i.prototype.canvasMouseDown=function(t){"offsetX"in t&&0===this.lastClientX&&(this.lastClientX=t.offsetX)},i.prototype.canvasMouseWheel=function(t){var i=0;t.touches?(0===this.lastDiff&&(this.lastDiff=this.Pythagorean(t.touches[0],t.touches[1])),i=this.Pythagorean(t.touches[0],t.touches[1])/this.lastDiff>1?1:-1,this.lastDiff=this.Pythagorean(t.touches[0],t.touches[1])):t.wheelDelta?(i=t.wheelDelta/120,window.opera&&(i=-i)):t.detail&&(i=-t.detail/3),i&&this.chartZoom(i)},i.prototype.chartZoom=function(t){var i=Math.round(s.showDataNum/25);if(i<3&&(i=3),t<0){if(s.showDataNum>=s.allData.length)return;s.showDataNum+=i,0===this.rightCandleOffset?s.showData=s.allData.slice(-s.showDataNum):s.showData=s.allData.slice(-s.showDataNum-this.rightCandleOffset,s.allData.length-this.rightCandleOffset),this.candleNum=s.showData.length,this.candleWidth=(this.option.width-this.chartRightPadding-(3*this.cPadding-s.candleMargin)-s.candleMargin*(this.candleNum-1))/this.candleNum,this.drawChart()}else{if(s.showDataNum<=13)return;s.showDataNum-=i,s.showData=s.allData.slice(-s.showDataNum-this.rightCandleOffset,s.allData.length-this.rightCandleOffset),0===this.rightCandleOffset&&(s.showData=s.allData.slice(-s.showDataNum)),this.candleNum=s.showData.length,this.candleWidth=(this.option.width-this.chartRightPadding-(3*this.cPadding-s.candleMargin)-s.candleMargin*(this.candleNum-1))/this.candleNum,this.drawChart()}},i.prototype.canvasMouseMove=function(t){var i,e=parseInt(String(s.showData.length/50));e<1&&(e=1),i=t.touches?t.touches[0].clientX:t.clientX,this.lastClientX<i?(this.rightCandleOffset+=e,this.rightCandleOffset>=s.allData.length-this.candleNum&&(this.rightCandleOffset=s.allData.length-this.candleNum)):this.lastClientX>i&&(this.rightCandleOffset-=e,this.rightCandleOffset<=0&&(this.rightCandleOffset=0)),s.showData=s.allData.slice(-this.candleNum-this.rightCandleOffset,s.allData.length-this.rightCandleOffset),this.lastClientX=i,this.leftCandleOffset=s.allData.length-this.rightCandleOffset-this.candleNum,this.drawChart()},i.prototype.updateLastCandle=function(t,i){var e=s.allData[s.allData.length-1].close,n={open:e,low:e<i?e:i,close:i,high:e>i?e:i,time:t,formatedTime:this.dateFormat("MM:SS",new Date(Date.now()))};s.allData.push(n),0===this.rightCandleOffset?s.showData=s.allData.slice(-this.candleNum):this.rightCandleOffset++},i.prototype.timeCheck=function(t,i){if(this.option.timeCheckErrorHandler){var e=Math.abs(new Date(i).getMinutes()-new Date(t).getMinutes());switch(this.option.interval){case"1m":e>1&&this.option.timeCheckErrorHandler(e-1);break;case"5m":e>5&&this.option.timeCheckErrorHandler(e-5);break;case"15m":e>15&&this.option.timeCheckErrorHandler(e-15);break;case"30m":e>30&&this.option.timeCheckErrorHandler(e-30);break;case"60m":e>60&&this.option.timeCheckErrorHandler(e-60);break;case"1d":e>1440&&this.option.timeCheckErrorHandler(e-1440)}}},i.prototype.subscribeBars=function(t,i){t=Number(t);var e=s.allData[s.allData.length-1],n=new Date(Number(e.time));this.timeCheck(n.getTime(),t),this.updateLastCandle(t,i),this.drawChart()},i.prototype.mark=function(t){this.optionPanel.mark(t)},i.prototype.skipDelivery=function(){this.optionPanel.skipDelivery()},i}(s),M=function(){var t=function(i,e){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])})(i,e)};return function(i,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=i}t(i,e),i.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}}(),b=function(t){function i(i,e){var n=t.call(this,i,e)||this;return n.option=e,n.createCanvasElement(i),n.ctx=n.canvas.getContext("2d"),n.quotePanel=new u(n.container,e),n}return M(i,t),i.prototype.createCanvasElement=function(t){this.canvas=h("canvas"),this.canvas.height=this.option.height,this.canvas.width=this.option.width,this.canvas.style.width=this.option.originalWidth+"px",this.canvas.style.height=this.option.originalHeight+"px",this.canvas.style.position="absolute",this.canvas.style.top="0",this.canvas.style.left="0",this.canvas.style.zIndex="10",t.appendChild(this.canvas)},i.prototype.canvasMouseMove=function(t,i){void 0===i&&(i=!0),this.clearCanvas();var e,n,o=0,a=0;t.offsetX?(e=t.offsetX,n=t.offsetY):(e=t.touches[0].clientX,n=t.touches[0].clientY-this.container.getBoundingClientRect().y);for(var r=0;r<s.showData.length;r++){var h=s.showData[r];2*e<h.rightCoordinate&&2*e>=h.leftCoordinate-s.candleMargin&&(o=(h.rightCoordinate/2-h.leftCoordinate/2)/2+h.leftCoordinate/2,a=n)}a>=5&&a<=this.container.clientHeight-10&&this.drawCrossAxis(2*o,2*a)},i.prototype.canvasMouseDown=function(t){this.clearCanvas();for(var i=0,e=0,n=0;n<s.showData.length;n++){var o=s.showData[n],a=void 0,r=void 0;a="touches"in t?t.touches[0].clientX:t.offsetX,r="touches"in t?t.touches[0].clientY-this.container.getBoundingClientRect().y:t.offsetY,2*a<o.rightCoordinate&&2*a>=o.leftCoordinate-s.candleMargin&&(i=(o.rightCoordinate/2-o.leftCoordinate/2)/2+o.leftCoordinate/2,e=r)}this.findCurCandle(2*i),e>=5&&e<=this.container.clientHeight-10&&this.drawCrossAxis(2*i,2*e),this.drawCurCandleBg(null!=document.getElementById("curCandleOHLCInfoContainer"))},i.prototype.drawCrossAxis=function(t,i){"pc"===this.option.mode&&(this.clearCanvas(),this.findCurCandle(t),this.drawCurCandleBg(null!=document.getElementById("curCandleOHLCInfoContainer"))),this.drawLine(0,i,this.option.width,i,{dottal:{x:5,y:5},color:"#fff",width:1}),"line"===s.chartType&&this.drawLine(t,0,t,this.option.height,{dottal:{x:5,y:5},color:"#fff",width:1}),this.ctx.stroke(),this.drawXLegend(t),this.drawYLegend(i)},i.prototype.drawXLegend=function(t){if(s.curCandle){var i=this.dateFormat("dd-mm-YYYY HH:MM",new Date(Number(s.curCandle.time))),e=12*i.length,n=this.option.height-this.cPadding-s.TimeHorizonHeight;this.drawRect(t-e/2,n,e,s.TimeHorizonHeight,{fillStyle:"#5e606d"}),this.ctx.font="20px Arial",this.ctx.fillStyle="#fff",this.ctx.textAlign="center",this.ctx.textBaseline="middle",this.ctx.fillText(i,t,this.option.height-this.cPadding-s.TimeHorizonHeight/2)}},i.prototype.drawYLegend=function(t){var i=this.originX+this.option.width,e=s.maxVal-s.minVal,n=this.option.height-2*this.cPadding,o=(s.maxVal-t*e/n).toFixed(this.option.priceDigitnumber);this.drawRect(i-s.yAxisLegendTextLength,t-s.TimeHorizonHeight/2,s.yAxisLegendTextLength,s.TimeHorizonHeight,{fillStyle:"#5e606d"}),this.ctx.font="20px Arial",this.ctx.fillStyle="#fff",this.ctx.textAlign="center",this.ctx.textBaseline="middle",this.ctx.fillText(o,i-s.yAxisLegendTextLength/2,t)},i.prototype.drawCurCandleBg=function(t){if("candle"===s.chartType&&t&&s.curCandle.leftCoordinate){var i=this.ctx.createLinearGradient(s.curCandle.leftCoordinate,0,s.curCandle.leftCoordinate,this.option.height-this.cPadding);i.addColorStop(0,"rgba(0,0,0,0.2)"),i.addColorStop(.5,"rgba(255,255,255,0.2)"),i.addColorStop(1,"rgba(0,0,0,0.2)"),this.drawRect(s.curCandle.leftCoordinate,0,s.curCandle.rightCoordinate-s.curCandle.leftCoordinate,this.option.height-this.cPadding,{fillStyle:i})}},i.prototype.findCurCandle=function(t){s.isTimeToUpdateCurCandle=!0;for(var i=0;i<s.showData.length;i++){var e=s.showData[i];if(t<e.rightCoordinate&&t>=e.leftCoordinate-s.candleMargin){i!==s.showData.length-1&&(s.isTimeToUpdateCurCandle=!1),i<s.showData.length/2?s.infoContainerPosition=a.right:s.infoContainerPosition=a.left,("pc"===this.option.mode&&s.curCandle&&s.curCandle.time!==e.time||"mobile"===this.option.mode)&&(s.curCandle=e,"candle"===s.chartType&&(this.quotePanel.drawCurCandleOHLCInfo(),this.quotePanel.drawCurCandleMAInfo()));break}}this.quotePanel.updateCurCandleInfo()},i}(s);!function(t){t.quote="quote",t.option="option"}(p||(p={}));var L=p,P=function(){return(P=Object.assign||function(t){for(var i,e=1,n=arguments.length;e<n;e++)for(var o in i=arguments[e])Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o]);return t}).apply(this,arguments)},O=function(t,i,e,n){return new(e||(e=Promise))((function(o,a){function r(t){try{h(n.next(t))}catch(t){a(t)}}function s(t){try{h(n.throw(t))}catch(t){a(t)}}function h(t){var i;t.done?o(t.value):(i=t.value,i instanceof e?i:new e((function(t){t(i)}))).then(r,s)}h((n=n.apply(t,i||[])).next())}))},k=function(t,i){var e,n,o,a,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(e)throw new TypeError("Generator is already executing.");for(;r;)try{if(e=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return r.label++,{value:a[1],done:!1};case 5:r.label++,n=a[1],a=[0];continue;case 7:a=r.ops.pop(),r.trys.pop();continue;default:if(!(o=r.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){r=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){r.label=a[1];break}if(6===a[0]&&r.label<o[1]){r.label=o[1],o=a;break}if(o&&r.label<o[2]){r.label=o[2],r.ops.push(a);break}o[2]&&r.ops.pop(),r.trys.pop();continue}a=i.call(t,r)}catch(t){a=[6,t],n=0}finally{e=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},T=function(){function t(t){this.initOption(t),this.addStatus(this.option.data),this.patchChart()}return t.prototype.initOption=function(t){this.mergeOption(t),this.initOptionFun(t)},t.prototype.mergeOption=function(t){var i=JSON.parse(JSON.stringify(t)),e=P({width:2*i.originalWidth,height:2*i.originalHeight},i);this.option=e},t.prototype.initOptionFun=function(t){for(var i=Object.keys(t),e=0;e<i.length;e++){var n=i[e],o=t[n];"function"==typeof o&&(this.option[n]=o)}},t.prototype.patchChart=function(){if(null===document.getElementById(this.option.container))throw new Error("container not found");switch(this.container=document.getElementById(this.option.container),this.container.className="__tcContainer__",this.container.style.position="relative",this.container.style.cursor="crosshair",this.container.innerHTML="",this.option.chartSeries){case L.quote:this.mainChart=new x(this.container,this.option);break;case L.option:this.mainChart=new D(this.container,this.option);break;default:this.mainChart=new x(this.container,this.option)}this.cursorChart=new b(this.container,this.option),this.bindEvents(),this.cursorChart.drawLogo()},t.prototype.subscribeBars=function(t,i){return O(this,void 0,void 0,(function(){return k(this,(function(e){switch(e.label){case 0:return[4,this.mainChart.subscribeBars(t,i)];case 1:return e.sent(),[2]}}))}))},t.prototype.addStatus=function(t){t.forEach((function(t,i,e){t.open>t.close?e[i].status=r.down:e[i].status=r.up}))},t.prototype.bindEvents=function(){"mobile"===this.option.mode?this.container.ontouchstart=this.canvasMouseDown.bind(this):this.container.onmousedown=this.canvasMouseDown.bind(this),this.container.onmousewheel=this.canvasMouseWheel.bind(this),this.container.addEventListener("DOMMouseScroll",this.canvasMouseWheel.bind(this),!1),"pc"===this.option.mode&&(this.container.onmousemove=this.cursorChart.canvasMouseMove.bind(this.cursorChart))},t.prototype.canvasMouseDown=function(t){this.container.style.cursor="move",this.cursorChart.canvasMouseDown(t),this.mainChart.canvasMouseDown(t),"pc"===this.option.mode?(this.container.onmousemove=this.canvasMouseMove.bind(this),this.container.onmouseup=this.canvasMouseUp.bind(this)):(this.container.ontouchmove=this.canvasMouseMove.bind(this),this.container.ontouchend=this.canvasMouseUp.bind(this))},t.prototype.canvasMouseMove=function(t){return O(this,void 0,void 0,(function(){return k(this,(function(i){switch(i.label){case 0:return t.touches&&t.touches.length>1&&this.canvasMouseWheel(t),t.touches&&1===t.touches.length?(this.cursorChart.canvasMouseMove(t),[4,this.mainChart.canvasMouseMove(t)]):[3,2];case 1:i.sent(),i.label=2;case 2:return"pc"!==this.option.mode?[3,4]:(this.cursorChart.canvasMouseMove(t),[4,this.mainChart.canvasMouseMove(t)]);case 3:i.sent(),i.label=4;case 4:return[2]}}))}))},t.prototype.canvasMouseWheel=function(t){this.mainChart.canvasMouseWheel(t),this.cursorChart.canvasMouseWheel(t)},t.prototype.canvasMouseUp=function(t){this.mainChart.canvasMouseUp(t),this.cursorChart.canvasMouseUp(t),this.container.onmousemove=null,this.container.ontouchmove=null,this.container.onmouseup=null,this.container.ontouchend=null,"pc"===this.option.mode&&(this.container.onmousemove=this.cursorChart.canvasMouseMove.bind(this.cursorChart)),this.container.style.cursor="crosshair"},t.prototype.mark=function(t){this.mainChart instanceof D&&this.mainChart.mark(t)},t.prototype.skipDelivery=function(){this.mainChart instanceof D&&this.mainChart.skipDelivery()},t}();i.default=T}])})); | ||
!function(t,i){"object"==typeof exports&&"object"==typeof module?module.exports=i():"function"==typeof define&&define.amd?define([],i):"object"==typeof exports?exports.TradeChart=i():t.TradeChart=i()}(this,(function(){return function(t){var i={};function e(n){if(i[n])return i[n].exports;var o=i[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,e),o.l=!0,o.exports}return e.m=t,e.c=i,e.d=function(t,i,n){e.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:n})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,i){if(1&i&&(t=e(t)),8&i)return t;if(4&i&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(e.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&i&&"string"!=typeof t)for(var o in t)e.d(n,o,function(i){return t[i]}.bind(null,o));return n},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},e.p="",e(e.s=3)}([function(t,i){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJ8AAAAaCAYAAACpZo6LAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFyGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIwLTEyLTA4VDE1OjE5OjQwKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIwLTEyLTA4VDE1OjE5OjQwKzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMC0xMi0wOFQxNToxOTo0MCswODowMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpmZDVkMTIwYS05OWM3LTA1NGQtODkwMS01YjJhZmFiN2UwYWYiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1ZmY4NTVhOC1kYWYyLTBmNDQtYTVkOS0y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"},function(t,i){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAAAoCAMAAABw+6yhAAAAgVBMVEUAAAD/AAD/MzP/Kir/JCT/ICD/HBz/LCz/MzP/LCz/MTH/MDD/MTH/MDD/MjL/MjL/MTH/MjL/MzP/MjL/MzP/MzP/MzP/MjL/MjL/MjL/MjL/MjL/MjL/MjL/MzP/MjL/MzP/MzP/MzP/MzP/MzP/MzP/MzP/MjL/MzP/MjL/MzOKU80XAAAAKnRSTlMAAwUGBwgJFxkdHzpdZWVmaWtzdZy+v8PFxsfIyszO0NPU1+ft8fLz9fnNAjHmAAAAlUlEQVRIx+3VuxbBQBSF4V9GZAgijMu4E4ac939AhcLSsNYchWL+B/iK3WygO/FBIgurUQbQP4qqfQG9kyjbdJiJuoqDHllw1yMX5AclJCEJSUhC/h256Y0rOz2yZqpHanL1oW8zGJx1xrwAyGsfvW5YDvmY9W/rWaIy7mU4Q2xV+yTaMYrKRkSkKVFlvYi3KDPu+xwPjNV9Fdo7qV4AAAAASUVORK5CYII="},function(t,i){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAAAoCAMAAABw+6yhAAAAk1BMVEUAAAAA/6oAzGYAzJkA1H8k25Igv38g338cxo4h04Uh05AfzIUfzI8f1o8j040hzowjz40mzowmz4smz40lz4wkzo0mz40mzowlz44m0I0nz40nz4wmz4wnz40nz4wmzowmz4wmz40lzowmz4wmzo0nz4wmz40mzown0I0nz40mz40nz4wnz40nz40nzo0nz40nz41E3SwrAAAAMHRSTlMAAwUFBgcICAkXFxkZGR0fOl1lZWZpa3N1nL6/w8XGx8jKzM7Q09TX5+3x8vLz9fldj8MTAAAAl0lEQVRIx+3VuxbBQBSF4R/jLgQRxmXiLgQ57/90CoWlYa05CsX8D/AVu9lAfeKu4lmxGtUA+gdRtWtD6yjK1hVmoi5hr0cW3PXIGflBAQlIQAISkH9HbnrjwlaPZEz1SEpTfeibKgxOOmPeAWikznvdYjnkY5F7W6+LV8a+DGvwLSmfRDlGUZyLiOQxqiIn4nooM/b7HA8rcrPi1REeKAAAAABJRU5ErkJggg=="},function(t,i,e){"use strict";var n;e.r(i),function(t){t.left="left",t.right="right"}(n||(n={}));var o,a=n;!function(t){t.up="up",t.down="down"}(o||(o={}));var r=o,s=function(){function t(t,i){this.initState(t,i)}return t.prototype.canvasMouseDown=function(t){},t.prototype.canvasMouseWheel=function(t){},t.prototype.canvasMouseMove=function(t){},t.prototype.canvasMouseUp=function(t){},t.prototype.initState=function(i,e){this.ctx=null,this.canvas=null,t.isTimeToUpdateCurCandle=!0,this.option=e,this.addStatus(this.option.data),t.allData=this.option.data,t.chartType=this.option.chartType||"candle",t.showDataNum="pc"===this.option.mode?50:30,this.container=i,this.fontSize=this.option.fontSize||"18px",this.cPadding=this.option.cPadding,this.tSpace=this.option.tSpace||100,this.originX=this.option.cPadding,this.originY=this.option.height-this.cPadding,this.chartRightPadding="mobile"===this.option.mode?.15*this.option.width:.08*this.option.width},t.prototype.drawTrigon=function(t,i,e,n,o){if("right"===n){var a=t-10,r="maxHigh"===o?i+1:i-1;this.ctx.beginPath(),this.ctx.setLineDash([]),this.ctx.strokeStyle="#A0A4AB",this.ctx.moveTo(a+60,r),this.ctx.lineTo(a+30,r),this.ctx.stroke(),this.ctx.beginPath(),this.ctx.moveTo(a+30,r),this.ctx.lineTo(a+45,r-10),this.ctx.lineTo(a+35,r),this.ctx.lineTo(a+45,r+10),this.ctx.fillStyle="#A0A4AB",this.ctx.fill(),this.ctx.font="20px Arial",this.ctx.textBaseline="middle",this.ctx.textAlign="left",this.ctx.fillText(e,a+65,r)}else{var s=t+10,h="maxHigh"===o?i+1:i-1;this.ctx.beginPath(),this.ctx.setLineDash([]),this.ctx.strokeStyle="#A0A4AB",this.ctx.moveTo(s-30,h),this.ctx.lineTo(s-60,h),this.ctx.stroke(),this.ctx.beginPath(),this.ctx.moveTo(s-30,h),this.ctx.lineTo(s-45,h-10),this.ctx.lineTo(s-35,h),this.ctx.lineTo(s-45,h+10),this.ctx.fillStyle="#A0A4AB",this.ctx.fill(),this.ctx.font="20px Arial",this.ctx.textBaseline="middle",this.ctx.textAlign="left",this.ctx.fillText(e,s-145,h)}},t.prototype.drawLine=function(t,i,e,n,o){void 0===o&&(o={}),this.ctx.setLineDash([]),this.ctx.moveTo(t,i),o&&(o.color&&(this.ctx.strokeStyle=o.color),o.dottal&&this.ctx.setLineDash([o.dottal.x,o.dottal.y]),o.width&&(this.ctx.lineWidth=o.width)),this.ctx.lineTo(e,n)},t.prototype.drawRect=function(t,i,e,n,o){this.ctx.beginPath(),o&&(this.ctx.fillStyle=o.fillStyle),this.ctx.fillRect(t,i,e,n)},t.prototype.clearCanvas=function(){this.canvas.height=this.option.height,this.canvas.width=this.option.width},t.prototype.dateFormat=function(t,i){var e,n={"Y+":i.getFullYear().toString(),"m+":(i.getMonth()+1).toString(),"d+":i.getDate().toString(),"H+":i.getHours().toString(),"M+":i.getMinutes().toString(),"S+":i.getSeconds().toString()};for(var o in n)n.hasOwnProperty(o)&&(e=new RegExp("("+o+")").exec(t))&&(t=t.replace(e[1],1===e[1].length?n[o]:n[o].padStart(e[1].length,"0")));return t},t.prototype.drawLogo=function(){var t=document.createElement("img");t.setAttribute("src",e(0)),t.style.position="absolute",t.style.left="1%",t.style.maxWidth="100px",t.style.opacity="0.5",t.style.bottom="5%",t.style.userSelect="none",this.container.appendChild(t)},t.prototype.Pythagorean=function(t,i){var e=Math.abs(t.clientX-i.clientX),n=Math.abs(t.clientY-i.clientY);return Math.sqrt(Math.pow(e,2)+Math.pow(n,2))},t.prototype.addStatus=function(t){t.forEach((function(t,i,e){t.open>t.close?e[i].status=r.down:e[i].status=r.up}))},t.tHeight=15,t.TimeHorizonHeight=30,t.minVal=9999999,t.maxVal=0,t.candleMargin=1,t.isTouch=!1,t.infoContainerPosition=a.left,t.curCandleCoord={offsetX:0,offsetY:0},t}();function h(t,i){void 0===i&&(i={});var e=document.createElement(t);for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);return e}function l(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t.style[e]=i[e])}function c(t,i,e){function n(t,n,o){return(n>=t?60*(n-t):60*i-60*(o-n))<=e?"purchasing":"delivering"}return function(e){var o=[],a=!1;!function i(e,n){e>=60&&(a=!0,e-=60);var r=n+e,s=[];n+e>=60&&(s=[e,r=n+e-60],o.push(s)),e+n>t&&a||(s=[e,r],o.push(s),i(n+e,n))}(t,i);for(var r={prev:0,status:"",now:0,next:0},s=0;s<o.length;s++){var h=o[s],l=h[0],c=h[1];if(l>c){if(e===l){r.prev=c-i<0?60-c+i:c-i,r.status="start",r.next=l-i<0?60-l+i:l-i;break}if(e===c){r.prev=l+i>=60?60-l-i:l+i,r.status="end",r.next=c+i>=60?60-c-i:c+i;break}if(l<e&&c+60>e){r.prev=l,r.status=n(l,e,c),r.next=c;break}}else{if(l<e&&c>e){r.prev=l,r.status=n(l,e,c),r.next=c;break}if(e===l){r.prev=l,r.status="start",r.next=c;break}if(e===c){r.prev=l+i>=60?60-l-i:l+i,r.status="end",r.next=c+i>=60?60-c-i:c+i;break}}}return r.now=e,r}}var d,p,u=function(){function t(t,i){this.container=t,this.option=i}return t.prototype.createInfoElement=function(t){var i=h("div");return i.id=t,l(i,{minWidth:"25%",background:"#1D2027",border:"#eee",padding:"6px 5px",display:"flex",flexDirection:"column",position:"absolute",top:"7%"}),"left"===this.infoContainerPosition?l(i,{left:"2%"}):l(i,{right:"2%"}),i},t.prototype.updateCurCandleInfo=function(){s.isTimeToUpdateCurCandle&&(s.curCandle=s.allData[s.allData.length-1],this.drawCurCandleMAInfo(),this.curCandleOHLCInfoContainer&&(l(this.curCandleOHLCInfoContainer,{color:"up"===s.curCandle.status?"#57CF8D":"#EB2F34"}),this.appendCurCandleOHLCInfo()))},t.prototype.drawCurCandleMAInfo=function(){"candle"===s.chartType&&(document.getElementById("curCandleMAContainer")?(this.curCandleMAContainer=this.container.querySelector("#curCandleMAContainer"),this.curCandleMAContainer.innerHTML="",this.patchCurCandleMAInfo(this.curCandleMAContainer)):(this.curCandleMAContainer=h("div"),this.curCandleMAContainer.setAttribute("id","curCandleMAContainer"),l(this.curCandleMAContainer,{position:"absolute",marginTop:"5px",display:"flex",top:"0%",left:"2%",userSelect:"none"}),this.patchCurCandleMAInfo(this.curCandleMAContainer),this.container.appendChild(this.curCandleMAContainer)))},t.prototype.patchCurCandleMAInfo=function(t){var i="";if(this.option.MA&&this.option.MA.length){for(var e=0;e<this.option.MA.length;e++){var n=this.option.MA[e];s.curCandle["MA"+n.interval]?i+='\n <div style="color: '+n.color+';text-align: left;margin-top: 5px;margin-right:8px">\n MA'+n.interval+": "+s.curCandle["MA"+n.interval]+"\n </div>\n ":i+='\n <div style="color: '+n.color+';text-align: left;margin-top: 5px;margin-right:8px">\n MA'+n.interval+" : -- --\n </div>\n "}t.innerHTML=i}},t.prototype.drawCurCandleOHLCInfo=function(){this.curCandleOHLCInfoContainer?"mobile"===this.option.mode?(this.container.removeChild(this.curCandleOHLCInfoContainer),this.curCandleOHLCInfoContainer=null):(l(this.curCandleOHLCInfoContainer,{color:"up"===s.curCandle.status?"#57CF8D":"#EB2F34"}),"left"===s.infoContainerPosition?l(this.curCandleOHLCInfoContainer,{right:"unset",left:"2%"}):l(this.curCandleOHLCInfoContainer,{left:"unset",right:"2%"}),this.appendCurCandleOHLCInfo()):(this.curCandleOHLCInfoContainer=this.createInfoElement("curCandleOHLCInfoContainer"),l(this.curCandleOHLCInfoContainer,{color:"up"===s.curCandle.status?"#57CF8D":"#EB2F34",userSelect:"none"}),this.appendCurCandleOHLCInfo(),this.container.appendChild(this.curCandleOHLCInfoContainer))},t.prototype.appendCurCandleOHLCInfo=function(){var t=s.curCandle.close-s.curCandle.open,i=t/s.curCandle.open;this.curCandleOHLCInfoContainer&&(this.curCandleOHLCInfoContainer.innerHTML='\n <div style="flex:1;display:flex; width:100%;justify-content:space-between;">\n <span>Open:</span>\n <span>'+s.curCandle.open+'</span>\n </div>\n <div style="flex:1;display:flex;width:100%;justify-content:space-between;">\n <span>High:</span>\n <span>'+s.curCandle.high+'</span>\n </div>\n <div style="flex:1;display:flex;width:100%;justify-content:space-between;">\n <span>Low:</span>\n <span>'+s.curCandle.low+'</span>\n </div>\n <div style="flex:1;display:flex;width:100%;justify-content:space-between;">\n <span>Close:</span>\n <span>'+s.curCandle.close+'</span>\n </div>\n <div style="flex:1;display:flex;width:100%;justify-content:space-between;">\n <span>change:</span>\n <span>'+(t>0?"+":"")+t.toFixed(this.option.priceDigitnumber)+'</span>\n </div>\n <div style="flex:1;display:flex;width:100%;justify-content:space-between;">\n <span>change%:</span>\n <span>'+(i>0?"+":"")+(100*i).toFixed(2)+"%</span>\n </div>\n ")},t}(),g=(d=function(t,i){return(d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function e(){this.constructor=t}d(t,i),t.prototype=null===i?Object.create(i):(e.prototype=i.prototype,new e)}),f=function(t,i,e,n){return new(e||(e=Promise))((function(o,a){function r(t){try{h(n.next(t))}catch(t){a(t)}}function s(t){try{h(n.throw(t))}catch(t){a(t)}}function h(t){var i;t.done?o(t.value):(i=t.value,i instanceof e?i:new e((function(t){t(i)}))).then(r,s)}h((n=n.apply(t,i||[])).next())}))},m=function(t,i){var e,n,o,a,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(e)throw new TypeError("Generator is already executing.");for(;r;)try{if(e=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return r.label++,{value:a[1],done:!1};case 5:r.label++,n=a[1],a=[0];continue;case 7:a=r.ops.pop(),r.trys.pop();continue;default:if(!(o=r.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){r=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){r.label=a[1];break}if(6===a[0]&&r.label<o[1]){r.label=o[1],o=a;break}if(o&&r.label<o[2]){r.label=o[2],r.ops.push(a);break}o[2]&&r.ops.pop(),r.trys.pop();continue}a=i.call(t,r)}catch(t){a=[6,t],n=0}finally{e=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},C=function(t,i){var e="function"==typeof Symbol&&t[Symbol.iterator];if(!e)return t;var n,o,a=e.call(t),r=[];try{for(;(void 0===i||i-- >0)&&!(n=a.next()).done;)r.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(e=a.return)&&e.call(a)}finally{if(o)throw o.error}}return r},w=function(t,i){for(var e=0,n=i.length,o=t.length;e<n;e++,o++)t[o]=i[e];return t},x=function(t){function i(i,e){var n=t.call(this,i,e)||this;return n.loadMore=!1,n.quotePanel=new u(i,e),n.createCanvasElement(i),n.ctx=n.canvas.getContext("2d"),n.lineBgColorBegin=n.option.lineBgColorBegin||"rgba(133,171,212,0.6)",n.lineBgColorEnd=n.option.lineBgColorEnd||"rgba(133,171,212,0.1)",n.BrokenLineColor=n.option.BrokenLineColor||"#3696F3",n.yLegendNum=10,s.legendYMargin=(n.option.height-4*n.option.cPadding)/(n.yLegendNum-1),n.xLegendNum=4,n.lastClientX=0,n.rightCandleOffset=0,n.leftCandleOffset=0,n.formatData(),s.showData=s.allData.slice(-s.showDataNum),n.quotePanel.updateCurCandleInfo(),n.candleNum=s.showData.length,n.candleWidth=(n.option.width-n.chartRightPadding-(3*n.cPadding-s.candleMargin)-s.candleMargin*(n.candleNum-1))/n.candleNum,n.ctr=e.animate?1:100,n.numctr=100,n.speed=3,n.ctx.font="24px Arial",n.ctx.textAlign="end",n.drawChart(),n.lastDiff=0,n}return g(i,t),i.prototype.createCanvasElement=function(t){this.canvas=h("canvas"),this.canvas.height=this.option.height,this.canvas.width=this.option.width,this.canvas.style.width=this.option.originalWidth+"px",this.canvas.style.height=this.option.originalHeight+"px",t.appendChild(this.canvas)},i.prototype.drawMinMaxText=function(){var t=0,i={high:0,low:0,close:0,open:0};s.showData.forEach((function(e,n){e.high>i.high&&(i=e,t=n)}));var e=this.originX+this.option.cPadding+t*this.candleWidth+(t-1)*s.candleMargin+this.candleWidth/2,n=(s.maxVal-i.high)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),o="left";t<=15&&(o="right"),this.drawTrigon(e,n,i.high.toString(),o,"maxHigh");var a=0,r={high:0,low:Number.MAX_VALUE,close:0,open:0};s.showData.forEach((function(t,i){t.low<r.low&&(r=t,a=i)}));var h=this.originX+this.option.cPadding+a*this.candleWidth+(a-1)*s.candleMargin+this.candleWidth/2,l=(s.maxVal-r.low)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),c="left";a<=15&&(c="right"),this.drawTrigon(h,l,r.low.toString(),c,"minLow")},i.prototype.formatData=function(){var t=this;s.allData.forEach((function(i,e,n){"1m"===t.option.interval||"5m"===t.option.interval?t.xLegendNum=8:"15m"===t.option.interval||"30m"===t.option.interval||"60m"===t.option.interval?(t.xLegendNum=5,t.tSpace=50):"1d"===t.option.interval&&(t.xLegendNum=8),n[e].formatedTime=t.dateFormat(t.formatTimeRule(),new Date(Number(i.time)))}))},i.prototype.formatTimeRule=function(){return"1m"===this.option.interval||"5m"===this.option.interval?"HH:MM":"15m"===this.option.interval||"30m"===this.option.interval||"60m"===this.option.interval?"mm/dd HH:MM":"1d"===this.option.interval?"mm/dd":"yyyy-mm-dd HH:MM:SS"},i.prototype.drawChart=function(){this.clearCanvas(),this.getYlengend(),this.drawCandles(),this.drawAxis(),this.drawRealTimeHorizon(),"candle"===s.chartType&&(this.drawMinMaxText(),this.drawMAs())},i.prototype.getYlengend=function(){s.maxVal=0,s.minVal=9999999,s.showData.forEach((function(t){t.high>s.maxVal&&(s.maxVal=Number(t.high)),t.low<s.minVal&&(s.minVal=Number(t.low))}));var t=s.maxVal-s.minVal;s.maxVal+=.15*t,s.minVal-=.05*t,s.yAxisLegendTextLength=12*s.maxVal.toFixed(this.option.priceDigitnumber).length},i.prototype.drawAxis=function(){this.drawLine(this.originX,this.originY,this.option.width-this.option.cPadding,this.originY,{color:this.option.axisColor}),this.drawLine(this.originX,this.originY,this.originX,this.option.cPadding,{color:this.option.axisColor}),this.drawYAxis(),this.drawXAxis()},i.prototype.drawYAxis=function(){this.ctx.beginPath();var t=(s.maxVal-s.minVal)/(this.yLegendNum-1);this.ctx.fillStyle=this.option.legendColor;for(var i=0;i<this.yLegendNum;i++){var e=this.originY-s.tHeight-s.legendYMargin*i,n=(s.minVal+i*t).toFixed(this.option.priceDigitnumber);this.ctx.font="20px Arial","left"!==this.option.yAxisDirection&&this.option.yAxisDirection?"right"===this.option.yAxisDirection&&(this.ctx.textBaseline="top",this.ctx.textAlign="right",this.ctx.fillText(n,this.option.width-this.option.cPadding,e)):this.ctx.fillText(n,this.originX,e),this.ctx.textBaseline="alphabetic"}},i.prototype.drawXAxis=function(){var t=Math.round(s.showData.length/this.xLegendNum)+1;this.ctx.textAlign="left";for(var i=0;i<s.showData.length;i+=t){var e=s.showData[i];e.formatedTime&&this.ctx.fillText(e.formatedTime,e.leftCoordinate+(e.rightCoordinate-e.leftCoordinate)/2,this.option.height-this.option.cPadding)}},i.prototype.drawCandlestick=function(t,i){this.ctx.beginPath(),this.ctx.lineWidth=3;var e=this.originX+this.option.cPadding+i*this.candleWidth+(i-1)*s.candleMargin+this.candleWidth/2,n=(s.maxVal-t.high)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),o=(s.maxVal-t.low)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding);t.open>t.close?this.drawLine(e,n,e,o,{color:this.option.downColor,width:3}):this.drawLine(e,n,e,o,{color:this.option.upColor,width:3}),this.ctx.stroke()},i.prototype.drawCandle=function(t,i){var e,n,o=this.originX+this.option.cPadding+i*this.candleWidth+(i-1)*s.candleMargin;t.open>t.close?(n=(t.open-t.close)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),e=(s.maxVal-t.open)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),this.drawRect(o,e,this.candleWidth*this.ctr/this.numctr,n,{fillStyle:this.option.downColor})):(n=(t.close-t.open)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),e=(s.maxVal-t.close)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),this.drawRect(o,e,this.candleWidth*this.ctr/this.numctr,n,{fillStyle:this.option.upColor}))},i.prototype.drawBrokenLine=function(t,i,e){void 0===e&&(e={});var n=this.originX+this.option.cPadding+i*this.candleWidth+(i-1)*s.candleMargin+this.candleWidth/2,o=(s.maxVal-t.close)/(s.maxVal-s.minVal)*(this.option.height-this.cPadding);0===i?this.ctx.moveTo(n,o):this.ctx.lineTo(n,o),this.ctx.strokeStyle=e.color||this.BrokenLineColor,e.width&&(this.ctx.lineWidth=e.width)},i.prototype.drawCandles=function(){var t=this;if(this.ctx.beginPath(),this.ctx.setLineDash([]),s.showData.forEach((function(i,e,n){"line"===s.chartType?(t.addCandleCoordinate(i,e,n),t.drawBrokenLine(i,e,{width:3})):(t.addCandleCoordinate(i,e,n),t.drawCandle(i,e),t.drawCandlestick(i,e))})),this.ctx.stroke(),"line"===s.chartType){var i=this.originX+this.option.cPadding-Number(s.candleMargin)+this.candleWidth/2,e=this.originX+this.option.cPadding+(s.showData.length-1)*this.candleWidth+(s.showData.length-2)*s.candleMargin+this.candleWidth/2;this.ctx.lineTo(e,this.originY),this.ctx.lineTo(i,this.originY);var n=this.ctx.createLinearGradient(0,0,0,300);n.addColorStop(0,this.lineBgColorBegin),n.addColorStop(1,this.lineBgColorEnd),this.ctx.fillStyle=n,this.ctx.fill(),this.ctx.closePath()}this.ctr<this.numctr&&(this.ctr++,setTimeout((function(){t.drawChart(),t.drawRealTimeHorizon()}),this.speed))},i.prototype.drawRealTimeHorizon=function(){this.ctx.beginPath(),this.ctx.textAlign="left";var t=s.allData.length-1,i=s.allData[t],e=s.showData.length-1;this.ctx.font="20px Arial";var n,o,a=this.originX+this.option.cPadding+e*(this.candleWidth+s.candleMargin);if("line"===s.chartType?(n=this.BrokenLineColor,o=(s.maxVal-i.close)/(s.maxVal-s.minVal)*(this.option.height-2*this.cPadding)):(n=Number(i.open)>Number(i.close)?this.option.downColor:this.option.upColor,o=(s.maxVal-i.close)/(s.maxVal-s.minVal)*(this.option.height-2*this.cPadding)+this.cPadding),"left"!==this.option.yAxisDirection&&this.option.yAxisDirection){if("right"===this.option.yAxisDirection){var r=this.originX+this.option.width;this.drawLine(r,o,this.originX,o,{color:n,dottal:{x:1,y:1}}),this.ctx.stroke(),this.drawRect(r-s.yAxisLegendTextLength,o-s.TimeHorizonHeight/2,s.yAxisLegendTextLength,s.TimeHorizonHeight,{fillStyle:n}),this.ctx.fillStyle="#fff",this.ctx.textAlign="center",this.ctx.textBaseline="middle",this.ctx.fillText(Number(i.close).toFixed(this.option.priceDigitnumber),r-s.yAxisLegendTextLength/2,o)}}else this.drawLine(a,o,this.originX,o,{color:n,dottal:{x:1,y:1}}),this.ctx.stroke(),this.drawRect(this.originX,o-7,50,15,{fillStyle:n}),this.ctx.fillStyle="#fff",this.ctx.fillText(Number(i.close).toFixed(this.option.priceDigitnumber),this.originX+5,o+3.5)},i.prototype.addCandleCoordinate=function(t,i,e){var n=this.originX+this.option.cPadding+i*this.candleWidth+(i-1)*s.candleMargin;e[i].leftCoordinate=n.toFixed(2),e[i].leftCoordinate=Number(e[i].leftCoordinate),e[i].rightCoordinate=(n+this.candleWidth*this.ctr/this.numctr).toFixed(2),e[i].rightCoordinate=Number(e[i].rightCoordinate)},i.prototype.drawMA=function(t,i){this.ctx.beginPath();var e,n,o,a=Number(t);this.leftCandleOffset=s.allData.length-this.rightCandleOffset-this.candleNum,this.leftCandleOffset<a?(n=this.candleNum+this.leftCandleOffset,e=0,o=!0):(n=this.candleNum+a-1,e=-this.candleNum-this.rightCandleOffset-a+1,o=!1);var r=e+n;0===r&&(r=s.allData.length-1);for(var h=s.allData.slice(e,r+1),l=a-1;l<n;l++){for(var c=0,d=l-a+1;d<=l;d++)h[d].close,c+=Number(h[d].close);var p=c/a,u=l-a+1;o&&(u=l-this.leftCandleOffset),s.showData[u]["MA"+a]=Number(p.toFixed(this.option.priceDigitnumber)),this.drawBrokenLine({open:0,high:0,low:0,close:p},u,{color:i,width:2})}this.ctx.stroke()},i.prototype.drawMAs=function(){var t=this;this.ctx.setLineDash([]),this.option.MA&&this.option.MA.length&&this.option.MA.forEach((function(i){t.drawMA(i.interval,i.color)}))},i.prototype.canvasMouseDown=function(t){"offsetX"in t&&0===this.lastClientX&&(this.lastClientX=t.offsetX)},i.prototype.canvasMouseWheel=function(t){var i=0;t.touches?(0===this.lastDiff&&(this.lastDiff=this.Pythagorean(t.touches[0],t.touches[1])),i=this.Pythagorean(t.touches[0],t.touches[1])/this.lastDiff>1?1:-1,this.lastDiff=this.Pythagorean(t.touches[0],t.touches[1])):t.wheelDelta?(i=t.wheelDelta/120,window.opera&&(i=-i)):t.detail&&(i=-t.detail/3),i&&this.chartZoom(i)},i.prototype.chartZoom=function(t){var i=Math.round(s.showDataNum/25);if(i<3&&(i=3),t<0){if(s.showDataNum>=s.allData.length)return;s.showDataNum+=i,0===this.rightCandleOffset?s.showData=s.allData.slice(-s.showDataNum):s.showData=s.allData.slice(-s.showDataNum-this.rightCandleOffset,s.allData.length-this.rightCandleOffset),this.candleNum=s.showData.length,this.candleWidth=(this.option.width-this.chartRightPadding-(3*this.cPadding-s.candleMargin)-s.candleMargin*(this.candleNum-1))/this.candleNum,this.drawChart()}else{if(s.showDataNum<=13)return;s.showDataNum-=i,s.showData=s.allData.slice(-s.showDataNum-this.rightCandleOffset,s.allData.length-this.rightCandleOffset),0===this.rightCandleOffset&&(s.showData=s.allData.slice(-s.showDataNum)),this.candleNum=s.showData.length,this.candleWidth=(this.option.width-this.chartRightPadding-(3*this.cPadding-s.candleMargin)-s.candleMargin*(this.candleNum-1))/this.candleNum,this.drawChart()}},i.prototype.canvasMouseMove=function(t){return f(this,void 0,void 0,(function(){var i,e;return m(this,(function(n){switch(n.label){case 0:return(e=parseInt(String(s.showData.length/50)))<1&&(e=1),i=t.touches?t.touches[0].clientX:t.clientX,this.lastClientX<i?(this.rightCandleOffset+=e,this.rightCandleOffset>=s.allData.length-this.candleNum&&(this.rightCandleOffset=s.allData.length-this.candleNum)):this.lastClientX>i&&(this.rightCandleOffset-=e,this.rightCandleOffset<=0&&(this.rightCandleOffset=0)),s.showData=s.allData.slice(-this.candleNum-this.rightCandleOffset,s.allData.length-this.rightCandleOffset),this.lastClientX=i,this.leftCandleOffset=s.allData.length-this.rightCandleOffset-this.candleNum,[4,this.loadMoreData()];case 1:return n.sent(),this.drawChart(),[2]}}))}))},i.prototype.loadMoreData=function(){return f(this,void 0,void 0,(function(){var t,i;return m(this,(function(e){switch(e.label){case 0:return this.leftCandleOffset||this.loadMore||!this.option.loadMoreCallback?[3,2]:(this.loadMore=!0,[4,this.option.loadMoreCallback()]);case 1:if(0===(t=e.sent()).length)return[2];this.addStatus(t),(i=s.allData).unshift.apply(i,w([],C(t))),this.formatData(),this.loadMore=!1,e.label=2;case 2:return[2]}}))}))},i.prototype.updateLastCandle=function(t,i,e,n){if(i)e>n.high?(s.allData[s.allData.length-1].high=e,s.allData[s.allData.length-1].close=e):e<n.low?(s.allData[s.allData.length-1].low=e,s.allData[s.allData.length-1].close=e):s.allData[s.allData.length-1].close=e,s.allData[s.allData.length-1].status=s.allData[s.allData.length-1].close>s.allData[s.allData.length-1].open?r.up:r.down;else{var o=s.allData[s.allData.length-1].close,a={open:o,low:o<e?o:e,close:e,high:o>e?o:e,time:t,formatedTime:this.dateFormat(this.formatTimeRule(),new Date(Date.now()))};s.allData.push(a),0===this.rightCandleOffset?s.showData=s.allData.slice(-this.candleNum):this.rightCandleOffset++}},i.prototype.timeCheck=function(t,i){if(this.option.timeCheckErrorHandler){var e=Math.abs(new Date(i).getMinutes()-new Date(t).getMinutes());switch(this.option.interval){case"1m":e>1&&this.option.timeCheckErrorHandler(e-1);break;case"5m":e>5&&this.option.timeCheckErrorHandler(e-5);break;case"15m":e>15&&this.option.timeCheckErrorHandler(e-15);break;case"30m":e>30&&this.option.timeCheckErrorHandler(e-30);break;case"60m":e>60&&this.option.timeCheckErrorHandler(e-60);break;case"1d":e>1440&&this.option.timeCheckErrorHandler(e-1440)}}},i.prototype.subscribeBars=function(t,i){return f(this,void 0,void 0,(function(){var e,n,o,a,r,h,l,c;return m(this,(function(d){return t=Number(t),e=s.allData[s.allData.length-1],n=new Date(Number(e.time)),o=Number(this.dateFormat("M",n)),a=Number(this.dateFormat("H",n)),r=Number(this.dateFormat("d",n)),h=Number(this.dateFormat("d",new Date(t))),l=Number(this.dateFormat("M",new Date(t))),c=Number(this.dateFormat("H",new Date(t))),this.timeCheck(n.getTime(),t),"1m"===this.option.interval?this.updateLastCandle(t,l===o,i,e):"5m"===this.option.interval?this.updateLastCandle(t,Math.abs(l-o)<=5||55===Math.abs(l-o),i,e):"15m"===this.option.interval?this.updateLastCandle(t,Math.abs(l-o)<=15||45===Math.abs(l-o),i,e):"30m"===this.option.interval?this.updateLastCandle(t,Math.abs(l-o)<=30,i,e):"60m"===this.option.interval?this.updateLastCandle(t,c===a,i,e):"1d"===this.option.interval&&this.updateLastCandle(t,r===h,i,e),this.quotePanel.updateCurCandleInfo(),this.drawChart(),[2]}))}))},i}(s),y=1,v=function(){function t(t,i,e,n,o,a){this.remainingDeliveryTime=0,this.container=t,this.originX=i,this.cPadding=e,this.chartRightPadding=n,this.brokenLineColor=o,this.markerList=[],this.option=a,this.purchaseTime=this.option.optionConf.purchaseTime,this.deliveryTime=this.option.optionConf.deliveryTime,this.createInfoElement(this.container),this.createSettlementElement(this.container)}return t.prototype.createInfoElement=function(t){var i=document.getElementById("infoContainer");i||((i=h("div")).id="infoContainer"),this.drawQuoteLine(i),this.drawRemainingElement(i),this.createSettlementOverlay(i),t.appendChild(i)},t.prototype.createSettlementElement=function(t){this.settlementArea||(this.settlementArea=h("div",{id:"settlementArea"})),this.interval=(this.option.optionConf.deliveryTime+this.option.optionConf.purchaseTime)/60,this.judgeOptionStatus=c(this.option.optionConf.startMin,this.interval,this.purchaseTime);var i=new Date,e=i.getMinutes()+i.getSeconds()/60;this.updateTradingStatus(e),this.calcSettlementPosition(e),t.append(this.settlementArea)},t.prototype.createSettlementOverlay=function(t){this.settlementOverlay||(this.settlementOverlay=h("div"),this.settlementOverlay.id="settlementOverlay"),l(this.settlementOverlay,{width:(this.option.width-this.chartRightPadding)/2+"px",height:this.option.height/2+"px"}),t.appendChild(this.settlementOverlay)},t.prototype.drawQuoteLine=function(t){this.quoteLine=h("div",{id:"quoteLine"}),this.quoteRect=h("div",{id:"quoteRect"}),this.quoteSpan=h("span",{id:"quoteSpan"}),this.quoteDot=h("i",{id:"quoteDot"});var i=this.getCoordinateByPrice(),e=i.x,n=i.y,o=this.getPrice();l(this.quoteLine,{width:this.option.width/2+"px",top:n/2+"px"}),l(this.quoteDot,{top:n/2+"px",left:isNaN(e)?(this.option.width-this.chartRightPadding)/2+"px":e/2+"px",backgroundColor:this.brokenLineColor}),l(this.quoteRect,{top:n/2+"px",left:(100+s.yAxisLegendTextLength)/2+"px"}),this.quoteSpan.innerHTML=o.toString(),t.appendChild(this.quoteLine),t.appendChild(this.quoteDot),t.appendChild(this.quoteRect),this.quoteRect.appendChild(this.quoteSpan)},t.prototype.drawRemainingElement=function(t){this.remainingElement=h("div",{id:"remainingElement"});var i=h("i"),e=h("span");e.innerHTML="0",this.remainingElement.appendChild(i),this.remainingElement.appendChild(e),t.appendChild(this.remainingElement)},t.prototype.getCoordinateByPrice=function(t){var i=s.allData.length-1,e=s.allData[i],n=(e.leftCoordinate+e.rightCoordinate)/2,o=e.rightCoordinate-e.leftCoordinate;return{x:n,y:(s.maxVal-(t||e.close))/(s.maxVal-s.minVal)*(this.option.height-2*this.cPadding),candlWidth:o,time:e.time}},t.prototype.getPrice=function(){var t=s.allData.length-1;return s.allData[t].close},t.prototype.mark=function(t){if("delivering"===this.tradingStatus.status&&this.option.markFailHandler)this.option.markFailHandler();else{var i=this.getCoordinateByPrice(),e=i.x,n=i.y,o=i.time,a=h("mark"),r=h("div",{className:"markPriceLine"}),s=h("span",{className:"markPriceSpan"}),l={uid:y++,width:68,height:40,price:this.getPrice(),x:e,y:n,el:a,createTime:o,children:{markPriceLine:r,markPriceSpan:s},type:t};this.setMarkerStyle(l),this.markerList.push(l),this.patchMarker(l)}},t.prototype.setMarkerStyle=function(t){var i=t.type===r.down?this.option.downColor:this.option.upColor;l(t.el,{left:t.x/2+"px",top:t.y/2+"px",backgroundImage:"url("+(t.type===r.down?e(1):e(2))+")",opacity:t.x?"1":"0"}),l(t.children.markPriceSpan,{backgroundColor:i,width:s.yAxisLegendTextLength/2+"px",height:s.TimeHorizonHeight/2+"px",left:(this.option.width-s.yAxisLegendTextLength)/2+"px",top:t.y/2+"px",opacity:t.x?"1":"0"}),t.children.markPriceSpan.innerHTML=t.price.toString(),l(t.children.markPriceLine,{width:this.option.width/2+"px",left:"0px",top:t.y/2+"px",backgroundColor:i,opacity:t.x?"1":"0"})},t.prototype.update=function(){this.updateQuoteLine(),this.updateMarkers(),this.updateSettlementArea()},t.prototype.updateMarkers=function(){var t=this;this.markerList.length&&this.markerList.forEach((function(i,e,n){var o=t.fetchMarkerCoordinate(n[e]),a=o.x,r=o.y;n[e].x=a,n[e].y=r,t.setMarkerStyle(n[e])}))},t.prototype.updateQuoteLine=function(){var t=this.getCoordinateByPrice(),i=t.x,e=t.y,n=this.getPrice();l(this.quoteLine,{top:e/2+"px"}),l(this.quoteDot,{top:e/2+"px",left:i/2+"px"}),l(this.quoteRect,{top:e/2+"px"}),this.quoteSpan.innerHTML=n.toString()},t.prototype.updateSettlementArea=function(){var t=new Date,i=t.getMinutes()+t.getSeconds()/60;this.updateTradingStatus(i),"end"!==this.tradingStatus.status&&"start"!==this.tradingStatus.status||this.flushMarker(),this.calcSettlementPosition(i)},t.prototype.updateSettlementOverlay=function(t,i){Number(t.toFixed(1))<=this.option.width-this.chartRightPadding-i/2?l(this.settlementOverlay,{opacity:"1",width:(this.option.width-this.chartRightPadding-s.yAxisLegendTextLength+i)/2+"px"}):l(this.settlementOverlay,{opacity:"0",width:(this.option.width-this.chartRightPadding)/2+"px"})},t.prototype.updateTradingStatus=function(t){var i=this.tradingStatus=this.judgeOptionStatus(t);if(this.updateRemainingElement(),"delivering"===i.status&&this.option.deliveringCallback){var e=void 0;e=i.next>=t?60*i.next-60*t:3600-60*t,this.option.deliveringCallback(e)}else"end"===i.status&&(this.remainingDeliveryTime=0,this.judgeOptionStatus=c(this.option.optionConf.startMin,this.interval,this.purchaseTime))},t.prototype.updateRemainingElement=function(){var t=this.tradingStatus,i=t.now,e=t.next;e<i&&(e+=60);var n=(60*(e-i)).toFixed(0),o=document.querySelector(".__tcContainer__ #remainingElement span");o instanceof HTMLElement&&(o.innerHTML=n)},t.prototype.fetchMarkerCoordinate=function(t){var i=s.showData.find((function(i){return i.time===t.createTime})),e=0,n=(s.maxVal-t.price)/(s.maxVal-s.minVal)*(this.option.height-2*this.cPadding);return i&&i.leftCoordinate&&i.rightCoordinate&&(e=i.leftCoordinate),{x:e,y:n}},t.prototype.patchMarker=function(t){this.markContainer||(this.markContainer=h("div"),this.markContainer.id="markContainer",this.container.appendChild(this.markContainer)),l(t.el,{left:t.x/2+"px",top:t.y/2+"px"}),this.markContainer.appendChild(t.el),this.markContainer.appendChild(t.children.markPriceLine),this.markContainer.appendChild(t.children.markPriceSpan),t.el.innerHTML=t.uid},t.prototype.flushMarker=function(){this.markContainer&&(this.markContainer.innerHTML=""),y=1,this.markerList=[]},t.prototype.calcSettlementPosition=function(t){var i=this.tradingStatus.prev,e=this.getCoordinateByPrice().candlWidth,n=(this.chartRightPadding-s.yAxisLegendTextLength+e/2)/(this.deliveryTime+this.purchaseTime+this.remainingDeliveryTime),o=60*t-60*i,a=this.deliveryTime*n,r=this.option.width-a-s.yAxisLegendTextLength-o*n;this.updateSettlementOverlay(r,e),l(this.settlementArea,{height:this.option.height/2+"px",width:a/2+"px",left:r/2+"px"})},t.prototype.skipDelivery=function(){if("delivering"===this.tradingStatus.status){var t=this.tradingStatus,i=t.next,e=t.now,n=i<e?i+60-e:i-e;this.remainingDeliveryTime=60*n,this.judgeOptionStatus=c(e,this.interval+n,this.purchaseTime+this.remainingDeliveryTime)}},t}(),A=function(){var t=function(i,e){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])})(i,e)};return function(i,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=i}t(i,e),i.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}}(),D=function(t){function i(i,e){var n=t.call(this,i,e)||this;return n.lastDiff=0,n.container=i,n.createCanvasElement(i),n.ctx=n.canvas.getContext("2d"),n.lineBgColorBegin=n.option.lineBgColorBegin||"rgba(36,145,227,0.6)",n.lineBgColorEnd=n.option.lineBgColorEnd||"rgba(36,145,227,0.2)",n.BrokenLineColor=n.option.BrokenLineColor||"#3696F3",n.yLegendNum=10,s.legendYMargin=(n.option.height-4*n.option.cPadding)/(n.yLegendNum-1),n.xLegendNum=7,n.lastClientX=0,n.rightCandleOffset=0,n.leftCandleOffset=0,n.chartRightPadding="mobile"===n.option.mode?.34*n.option.width:.5*n.option.width,n.formatData(),s.showData=s.allData.slice(-200),n.candleNum=s.showData.length,n.candleWidth=(n.option.width-n.chartRightPadding-(3*n.cPadding-s.candleMargin)-s.candleMargin*(n.candleNum-1))/n.candleNum,n.ctx.font="24px Arial",n.ctx.textAlign="end",n.optionPanel=new v(n.container,n.originX,n.cPadding,n.chartRightPadding,n.BrokenLineColor,n.option),n.drawChart(),n}return A(i,t),i.prototype.createCanvasElement=function(t){this.canvas=h("canvas"),this.canvas.height=this.option.height,this.canvas.width=this.option.width,this.canvas.style.width=this.option.originalWidth+"px",this.canvas.style.height=this.option.originalHeight+"px",t.appendChild(this.canvas)},i.prototype.formatData=function(){var t=this;s.allData.forEach((function(i,e,n){n[e].formatedTime=t.dateFormat("MM:SS",new Date(Number(i.time)))}))},i.prototype.drawChart=function(){this.clearCanvas(),this.getYlegend(),this.drawCandles(),this.drawAxis(),this.drawGrid(15),this.optionPanel.update()},i.prototype.drawGrid=function(t){var i=s.showData[s.showData.length-1].time,e=(i-s.showData[0].time)/1e3,n=Math.ceil(e/t);console.log(this.dateFormat("MM:SS",new Date(i)));var o=(this.option.width-this.chartRightPadding-s.yAxisLegendTextLength)/n,a=(s.showData[s.showData.length-1].rightCoordinate+s.showData[s.showData.length-1].leftCoordinate)/2;this.ctx.font="20px Arial",this.ctx.textAlign="center",this.ctx.fillStyle=this.option.legendColor;for(var r=0;r<=n+1;r++){var h=i-1e3*t*r;this.drawLine(a-r*o,0,a-r*o,this.option.height-this.originX,{color:"#4A5269",width:2,dottal:{x:10,y:5}}),this.ctx.fillText(this.dateFormat("MM:SS",new Date(h)),a-r*o,this.option.height-this.option.cPadding)}n=this.chartRightPadding/o;for(r=1;r<=n+1;r++){h=i+1e3*t*r;this.drawLine(a+r*o,0,a+r*o,this.option.height-this.originX,{color:"#4A5269",width:2,dottal:{x:10,y:5}}),this.ctx.fillText(this.dateFormat("MM:SS",new Date(h)),a+r*o,this.option.height-this.option.cPadding)}for(r=1;r<this.yLegendNum-1;r++)this.drawLine(0,r*s.legendYMargin,this.option.width-s.yAxisLegendTextLength,this.originX+r*s.legendYMargin,{color:"#4A5269",width:2,dottal:{x:10,y:5}});this.ctx.stroke()},i.prototype.getYlegend=function(){s.maxVal=0,s.minVal=9999999,s.showData.forEach((function(t){t.high>s.maxVal&&(s.maxVal=Number(t.high)),t.low<s.minVal&&(s.minVal=Number(t.low))}));var t=s.maxVal-s.minVal;s.maxVal+=.15*t,s.minVal-=.05*t,s.yAxisLegendTextLength=12*s.maxVal.toFixed(this.option.priceDigitnumber).length},i.prototype.drawAxis=function(){this.drawLine(this.originX,this.originY,this.option.width-this.option.cPadding,this.originY,{color:this.option.axisColor}),this.drawLine(this.originX,this.originY,this.originX,this.option.cPadding,{color:this.option.axisColor}),this.drawYAxis(),this.drawXAxis()},i.prototype.drawYAxis=function(){this.ctx.beginPath();var t=(s.maxVal-s.minVal)/(this.yLegendNum-1);this.ctx.fillStyle=this.option.legendColor;for(var i=0;i<this.yLegendNum;i++){var e=this.originY-s.tHeight-s.legendYMargin*i,n=(s.minVal+i*t).toFixed(this.option.priceDigitnumber);this.ctx.font="20px Arial","left"!==this.option.yAxisDirection&&this.option.yAxisDirection?"right"===this.option.yAxisDirection&&(this.ctx.textBaseline="top",this.ctx.textAlign="right",this.ctx.fillText(n,this.option.width-this.option.cPadding,e)):this.ctx.fillText(n,this.originX,e),this.ctx.textBaseline="alphabetic"}},i.prototype.drawXAxis=function(){var t=Math.round(s.showData.length/this.xLegendNum)+1;this.ctx.textAlign="center";for(var i=0;i<s.showData.length;i+=t)s.showData[i]},i.prototype.drawCandlestick=function(t,i){this.ctx.beginPath(),this.ctx.lineWidth=3;var e=this.originX+this.option.cPadding+i*this.candleWidth+(i-1)*s.candleMargin+this.candleWidth/2,n=(s.maxVal-t.high)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),o=(s.maxVal-t.low)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding);t.open>t.close?this.drawLine(e,n,e,o,{color:this.option.downColor,width:3}):this.drawLine(e,n,e,o,{color:this.option.upColor,width:3}),this.ctx.stroke()},i.prototype.drawCandle=function(t,i){var e,n,o=this.originX+this.option.cPadding+i*this.candleWidth+(i-1)*s.candleMargin;t.open>t.close?(n=(t.open-t.close)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),e=(s.maxVal-t.open)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),this.drawRect(o,e,this.candleWidth,n,{fillStyle:this.option.downColor})):(n=(t.close-t.open)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),e=(s.maxVal-t.close)/(s.maxVal-s.minVal)*(this.option.height-this.option.cPadding),this.drawRect(o,e,this.candleWidth,n,{fillStyle:this.option.upColor}))},i.prototype.drawBrokenLine=function(t,i,e){void 0===e&&(e={});var n=this.originX+this.option.cPadding+i*this.candleWidth+(i-1)*s.candleMargin+this.candleWidth/2,o=(s.maxVal-t.close)/(s.maxVal-s.minVal)*(this.option.height-this.cPadding);0===i?this.ctx.moveTo(n,o):this.ctx.lineTo(n,o),this.ctx.strokeStyle=e.color||this.BrokenLineColor,e.width&&(this.ctx.lineWidth=e.width)},i.prototype.drawCandles=function(){this.ctx.beginPath(),this.ctx.setLineDash([]);for(var t=0;t<s.showData.length;t++){var i=s.showData[t];"line"===s.chartType?(this.addCandleCoordinate(i,t,s.showData),this.drawBrokenLine(i,t,{width:3})):(this.addCandleCoordinate(i,t,s.showData),this.drawCandle(i,t),this.drawCandlestick(i,t))}if(this.ctx.stroke(),"line"===s.chartType){var e=this.originX+this.option.cPadding-Number(s.candleMargin)+this.candleWidth/2,n=this.originX+this.option.cPadding+(s.showData.length-1)*this.candleWidth+(s.showData.length-2)*s.candleMargin+this.candleWidth/2;this.ctx.lineTo(n,this.originY),this.ctx.lineTo(e,this.originY);var o=this.ctx.createLinearGradient(0,0,0,300);o.addColorStop(0,this.lineBgColorBegin),o.addColorStop(1,this.lineBgColorEnd),this.ctx.fillStyle=o,this.ctx.fill(),this.ctx.closePath()}},i.prototype.addCandleCoordinate=function(t,i,e){var n=this.originX+this.option.cPadding+i*this.candleWidth+(i-1)*s.candleMargin;e[i].leftCoordinate=Number(n.toFixed(2)),e[i].leftCoordinate=Number(e[i].leftCoordinate),e[i].rightCoordinate=Number((n+this.candleWidth).toFixed(2)),e[i].rightCoordinate=Number(e[i].rightCoordinate)},i.prototype.canvasMouseDown=function(t){"offsetX"in t&&0===this.lastClientX&&(this.lastClientX=t.offsetX)},i.prototype.canvasMouseWheel=function(t){var i=0;t.touches?(0===this.lastDiff&&(this.lastDiff=this.Pythagorean(t.touches[0],t.touches[1])),i=this.Pythagorean(t.touches[0],t.touches[1])/this.lastDiff>1?1:-1,this.lastDiff=this.Pythagorean(t.touches[0],t.touches[1])):t.wheelDelta?(i=t.wheelDelta/120,window.opera&&(i=-i)):t.detail&&(i=-t.detail/3),i&&this.chartZoom(i)},i.prototype.chartZoom=function(t){var i=Math.round(s.showDataNum/25);if(i<3&&(i=3),t<0){if(s.showDataNum>=s.allData.length)return;s.showDataNum+=i,0===this.rightCandleOffset?s.showData=s.allData.slice(-s.showDataNum):s.showData=s.allData.slice(-s.showDataNum-this.rightCandleOffset,s.allData.length-this.rightCandleOffset),this.candleNum=s.showData.length,this.candleWidth=(this.option.width-this.chartRightPadding-(3*this.cPadding-s.candleMargin)-s.candleMargin*(this.candleNum-1))/this.candleNum,this.drawChart()}else{if(s.showDataNum<=13)return;s.showDataNum-=i,s.showData=s.allData.slice(-s.showDataNum-this.rightCandleOffset,s.allData.length-this.rightCandleOffset),0===this.rightCandleOffset&&(s.showData=s.allData.slice(-s.showDataNum)),this.candleNum=s.showData.length,this.candleWidth=(this.option.width-this.chartRightPadding-(3*this.cPadding-s.candleMargin)-s.candleMargin*(this.candleNum-1))/this.candleNum,this.drawChart()}},i.prototype.canvasMouseMove=function(t){var i,e=parseInt(String(s.showData.length/50));e<1&&(e=1),i=t.touches?t.touches[0].clientX:t.clientX,this.lastClientX<i?(this.rightCandleOffset+=e,this.rightCandleOffset>=s.allData.length-this.candleNum&&(this.rightCandleOffset=s.allData.length-this.candleNum)):this.lastClientX>i&&(this.rightCandleOffset-=e,this.rightCandleOffset<=0&&(this.rightCandleOffset=0)),s.showData=s.allData.slice(-this.candleNum-this.rightCandleOffset,s.allData.length-this.rightCandleOffset),this.lastClientX=i,this.leftCandleOffset=s.allData.length-this.rightCandleOffset-this.candleNum,this.drawChart()},i.prototype.updateLastCandle=function(t,i){var e=s.allData[s.allData.length-1].close,n={open:e,low:e<i?e:i,close:i,high:e>i?e:i,time:t,formatedTime:this.dateFormat("MM:SS",new Date(Date.now()))};s.allData.push(n),0===this.rightCandleOffset?s.showData=s.allData.slice(-this.candleNum):this.rightCandleOffset++},i.prototype.timeCheck=function(t,i){if(this.option.timeCheckErrorHandler){var e=Math.abs(new Date(i).getMinutes()-new Date(t).getMinutes());switch(this.option.interval){case"1m":e>1&&this.option.timeCheckErrorHandler(e-1);break;case"5m":e>5&&this.option.timeCheckErrorHandler(e-5);break;case"15m":e>15&&this.option.timeCheckErrorHandler(e-15);break;case"30m":e>30&&this.option.timeCheckErrorHandler(e-30);break;case"60m":e>60&&this.option.timeCheckErrorHandler(e-60);break;case"1d":e>1440&&this.option.timeCheckErrorHandler(e-1440)}}},i.prototype.subscribeBars=function(t,i){t=Number(t);var e=s.allData[s.allData.length-1],n=new Date(Number(e.time));this.timeCheck(n.getTime(),t),this.updateLastCandle(t,i),this.drawChart()},i.prototype.mark=function(t){this.optionPanel.mark(t)},i.prototype.skipDelivery=function(){this.optionPanel.skipDelivery()},i}(s),M=function(){var t=function(i,e){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])})(i,e)};return function(i,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=i}t(i,e),i.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}}(),b=function(t){function i(i,e){var n=t.call(this,i,e)||this;return n.option=e,n.createCanvasElement(i),n.ctx=n.canvas.getContext("2d"),n.quotePanel=new u(n.container,e),n}return M(i,t),i.prototype.createCanvasElement=function(t){this.canvas=h("canvas"),this.canvas.height=this.option.height,this.canvas.width=this.option.width,this.canvas.style.width=this.option.originalWidth+"px",this.canvas.style.height=this.option.originalHeight+"px",this.canvas.style.position="absolute",this.canvas.style.top="0",this.canvas.style.left="0",this.canvas.style.zIndex="10",t.appendChild(this.canvas)},i.prototype.canvasMouseMove=function(t,i){void 0===i&&(i=!0),this.clearCanvas();var e,n,o=0,a=0;t.offsetX?(e=t.offsetX,n=t.offsetY):(e=t.touches[0].clientX,n=t.touches[0].clientY-this.container.getBoundingClientRect().y);for(var r=0;r<s.showData.length;r++){var h=s.showData[r];2*e<h.rightCoordinate&&2*e>=h.leftCoordinate-s.candleMargin&&(o=(h.rightCoordinate/2-h.leftCoordinate/2)/2+h.leftCoordinate/2,a=n)}a>=5&&a<=this.container.clientHeight-10&&this.drawCrossAxis(2*o,2*a)},i.prototype.canvasMouseDown=function(t){this.clearCanvas();for(var i=0,e=0,n=0;n<s.showData.length;n++){var o=s.showData[n],a=void 0,r=void 0;a="touches"in t?t.touches[0].clientX:t.offsetX,r="touches"in t?t.touches[0].clientY-this.container.getBoundingClientRect().y:t.offsetY,2*a<o.rightCoordinate&&2*a>=o.leftCoordinate-s.candleMargin&&(i=(o.rightCoordinate/2-o.leftCoordinate/2)/2+o.leftCoordinate/2,e=r)}this.findCurCandle(2*i),e>=5&&e<=this.container.clientHeight-10&&this.drawCrossAxis(2*i,2*e),this.drawCurCandleBg(null!=document.getElementById("curCandleOHLCInfoContainer"))},i.prototype.drawCrossAxis=function(t,i){"pc"===this.option.mode&&(this.clearCanvas(),this.findCurCandle(t),this.drawCurCandleBg(null!=document.getElementById("curCandleOHLCInfoContainer"))),this.drawLine(0,i,this.option.width,i,{dottal:{x:5,y:5},color:"#fff",width:1}),"line"===s.chartType&&this.drawLine(t,0,t,this.option.height,{dottal:{x:5,y:5},color:"#fff",width:1}),this.ctx.stroke(),this.drawXLegend(t),this.drawYLegend(i)},i.prototype.drawXLegend=function(t){if(s.curCandle){var i=this.dateFormat("dd-mm-YYYY HH:MM",new Date(Number(s.curCandle.time))),e=12*i.length,n=this.option.height-this.cPadding-s.TimeHorizonHeight;this.drawRect(t-e/2,n,e,s.TimeHorizonHeight,{fillStyle:"#5e606d"}),this.ctx.font="20px Arial",this.ctx.fillStyle="#fff",this.ctx.textAlign="center",this.ctx.textBaseline="middle",this.ctx.fillText(i,t,this.option.height-this.cPadding-s.TimeHorizonHeight/2)}},i.prototype.drawYLegend=function(t){var i=this.originX+this.option.width,e=s.maxVal-s.minVal,n=this.option.height-2*this.cPadding,o=(s.maxVal-t*e/n).toFixed(this.option.priceDigitnumber);this.drawRect(i-s.yAxisLegendTextLength,t-s.TimeHorizonHeight/2,s.yAxisLegendTextLength,s.TimeHorizonHeight,{fillStyle:"#5e606d"}),this.ctx.font="20px Arial",this.ctx.fillStyle="#fff",this.ctx.textAlign="center",this.ctx.textBaseline="middle",this.ctx.fillText(o,i-s.yAxisLegendTextLength/2,t)},i.prototype.drawCurCandleBg=function(t){if("candle"===s.chartType&&t&&s.curCandle.leftCoordinate){var i=this.ctx.createLinearGradient(s.curCandle.leftCoordinate,0,s.curCandle.leftCoordinate,this.option.height-this.cPadding);i.addColorStop(0,"rgba(0,0,0,0.2)"),i.addColorStop(.5,"rgba(255,255,255,0.2)"),i.addColorStop(1,"rgba(0,0,0,0.2)"),this.drawRect(s.curCandle.leftCoordinate,0,s.curCandle.rightCoordinate-s.curCandle.leftCoordinate,this.option.height-this.cPadding,{fillStyle:i})}},i.prototype.findCurCandle=function(t){s.isTimeToUpdateCurCandle=!0;for(var i=0;i<s.showData.length;i++){var e=s.showData[i];if(t<e.rightCoordinate&&t>=e.leftCoordinate-s.candleMargin){i!==s.showData.length-1&&(s.isTimeToUpdateCurCandle=!1),i<s.showData.length/2?s.infoContainerPosition=a.right:s.infoContainerPosition=a.left,("pc"===this.option.mode&&s.curCandle&&s.curCandle.time!==e.time||"mobile"===this.option.mode)&&(s.curCandle=e,"candle"===s.chartType&&(this.quotePanel.drawCurCandleOHLCInfo(),this.quotePanel.drawCurCandleMAInfo()));break}}this.quotePanel.updateCurCandleInfo()},i}(s);!function(t){t.quote="quote",t.option="option"}(p||(p={}));var L=p,P=function(){return(P=Object.assign||function(t){for(var i,e=1,n=arguments.length;e<n;e++)for(var o in i=arguments[e])Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o]);return t}).apply(this,arguments)},O=function(t,i,e,n){return new(e||(e=Promise))((function(o,a){function r(t){try{h(n.next(t))}catch(t){a(t)}}function s(t){try{h(n.throw(t))}catch(t){a(t)}}function h(t){var i;t.done?o(t.value):(i=t.value,i instanceof e?i:new e((function(t){t(i)}))).then(r,s)}h((n=n.apply(t,i||[])).next())}))},k=function(t,i){var e,n,o,a,r={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(e)throw new TypeError("Generator is already executing.");for(;r;)try{if(e=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return r.label++,{value:a[1],done:!1};case 5:r.label++,n=a[1],a=[0];continue;case 7:a=r.ops.pop(),r.trys.pop();continue;default:if(!(o=r.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){r=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){r.label=a[1];break}if(6===a[0]&&r.label<o[1]){r.label=o[1],o=a;break}if(o&&r.label<o[2]){r.label=o[2],r.ops.push(a);break}o[2]&&r.ops.pop(),r.trys.pop();continue}a=i.call(t,r)}catch(t){a=[6,t],n=0}finally{e=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}},T=function(){function t(t){this.initOption(t),this.addStatus(this.option.data),this.patchChart()}return t.prototype.initOption=function(t){this.mergeOption(t),this.initOptionFun(t)},t.prototype.mergeOption=function(t){var i=JSON.parse(JSON.stringify(t)),e=P({width:2*i.originalWidth,height:2*i.originalHeight},i);this.option=e},t.prototype.initOptionFun=function(t){for(var i=Object.keys(t),e=0;e<i.length;e++){var n=i[e],o=t[n];"function"==typeof o&&(this.option[n]=o)}},t.prototype.patchChart=function(){if(null===document.getElementById(this.option.container))throw new Error("container not found");switch(this.container=document.getElementById(this.option.container),this.container.className="__tcContainer__",this.container.style.position="relative",this.container.style.cursor="crosshair",this.container.innerHTML="",this.option.chartSeries){case L.quote:this.mainChart=new x(this.container,this.option);break;case L.option:this.mainChart=new D(this.container,this.option);break;default:this.mainChart=new x(this.container,this.option)}this.cursorChart=new b(this.container,this.option),this.bindEvents(),this.cursorChart.drawLogo()},t.prototype.subscribeBars=function(t,i){return O(this,void 0,void 0,(function(){return k(this,(function(e){switch(e.label){case 0:return[4,this.mainChart.subscribeBars(t,i)];case 1:return e.sent(),[2]}}))}))},t.prototype.addStatus=function(t){t.forEach((function(t,i,e){t.open>t.close?e[i].status=r.down:e[i].status=r.up}))},t.prototype.bindEvents=function(){"mobile"===this.option.mode?this.container.ontouchstart=this.canvasMouseDown.bind(this):this.container.onmousedown=this.canvasMouseDown.bind(this),this.container.onmousewheel=this.canvasMouseWheel.bind(this),this.container.addEventListener("DOMMouseScroll",this.canvasMouseWheel.bind(this),!1),"pc"===this.option.mode&&(this.container.onmousemove=this.cursorChart.canvasMouseMove.bind(this.cursorChart))},t.prototype.canvasMouseDown=function(t){this.container.style.cursor="move",this.cursorChart.canvasMouseDown(t),this.mainChart.canvasMouseDown(t),"pc"===this.option.mode?(this.container.onmousemove=this.canvasMouseMove.bind(this),this.container.onmouseup=this.canvasMouseUp.bind(this)):(this.container.ontouchmove=this.canvasMouseMove.bind(this),this.container.ontouchend=this.canvasMouseUp.bind(this))},t.prototype.canvasMouseMove=function(t){return O(this,void 0,void 0,(function(){return k(this,(function(i){switch(i.label){case 0:return t.touches&&t.touches.length>1&&this.canvasMouseWheel(t),t.touches&&1===t.touches.length?(this.cursorChart.canvasMouseMove(t),[4,this.mainChart.canvasMouseMove(t)]):[3,2];case 1:i.sent(),i.label=2;case 2:return"pc"!==this.option.mode?[3,4]:(this.cursorChart.canvasMouseMove(t),[4,this.mainChart.canvasMouseMove(t)]);case 3:i.sent(),i.label=4;case 4:return[2]}}))}))},t.prototype.canvasMouseWheel=function(t){this.mainChart.canvasMouseWheel(t),this.cursorChart.canvasMouseWheel(t)},t.prototype.canvasMouseUp=function(t){this.mainChart.canvasMouseUp(t),this.cursorChart.canvasMouseUp(t),this.container.onmousemove=null,this.container.ontouchmove=null,this.container.onmouseup=null,this.container.ontouchend=null,"pc"===this.option.mode&&(this.container.onmousemove=this.cursorChart.canvasMouseMove.bind(this.cursorChart)),this.container.style.cursor="crosshair"},t.prototype.mark=function(t){this.mainChart instanceof D&&this.mainChart.mark(t)},t.prototype.skipDelivery=function(){this.mainChart instanceof D&&this.mainChart.skipDelivery()},t}();i.default=T}])})); |
{ | ||
"name": "trade-chart.js", | ||
"version": "1.1.5", | ||
"version": "1.1.6", | ||
"description": "一个交易图表插件,支持分时图,蜡烛图,二元期权", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -512,3 +512,7 @@ import BaseChart from '../BaseChart'; | ||
this.ctx.fillStyle = '#fff'; | ||
this.ctx.fillText(lastCandle.close.toFixed(this.option.priceDigitnumber), this.originX + 5, y + 3.5); | ||
this.ctx.fillText( | ||
Number(lastCandle.close).toFixed(this.option.priceDigitnumber), | ||
this.originX + 5, | ||
y + 3.5 | ||
); | ||
} else if (this.option.yAxisDirection === 'right') { | ||
@@ -535,3 +539,3 @@ const X = this.originX + this.option.width; | ||
this.ctx.fillText( | ||
lastCandle.close.toFixed(this.option.priceDigitnumber), | ||
Number(lastCandle.close).toFixed(this.option.priceDigitnumber), | ||
X - BaseChart.yAxisLegendTextLength / 2, | ||
@@ -538,0 +542,0 @@ y |
174542
3244