Files
ai/charting_library/charting_library.min.js
2014-08-13 12:01:41 +04:00

15 lines
6.7 KiB
JavaScript

(function(){if(!window.TradingView){var e={version:function(){return"1.0"},gEl:function(a){return document.getElementById(a)},gId:function(){return"tradingview_"+(1048576*(1+Math.random())|0).toString(16).substring(1)},onready:function(a){window.addEventListener?window.addEventListener("DOMContentLoaded",a,!1):window.attachEvent("onload",a)},css:function(a){var b=document.getElementsByTagName("head")[0],d=document.createElement("style");d.type="text/css";d.styleSheet?d.styleSheet.cssText=a:(a=document.createTextNode(a),
d.appendChild(a));b.appendChild(d)},bindEvent:function(a,b,d){a.addEventListener?a.addEventListener(b,d,!1):a.attachEvent&&a.attachEvent("on"+b,d)},unbindEvent:function(a,b,d){a.removeEventListener?a.removeEventListener(b,d,!1):a.detachEvent&&a.detachEvent("on"+b,d)},widget:function(a){this.id=e.gId();if(!a.datafeed)throw"Datafeed is not defined";this.options={width:a.width||800,height:a.height||500,symbol:a.symbol,interval:a.interval||"1",timezone:a.timezone||"",autosize:a.autosize,container:a.container_id||
"",toolbar_bg:a.toolbar_bg||"f4f7f9",studies:a.studies||[],theme:a.theme||"",widgetbar_width:+a.widgetbar_width||void 0,hideSymbolSearch:a.hideSymbolSearch,hideSideToolbar:a.hide_side_toolbar,datafeed:a.datafeed,path:a.library_path,enabledStudies:a.enabled_studies||[],disabledStudies:a.disabled_studies||[],enabledDrawings:a.enabled_drawings||[],disabledDrawings:a.disabled_drawings||[],savedData:a.savedData||void 0,locale:a.locale,overrides:a.overrides||{},disableLogo:a.disableLogo||!1,snapshotUrl:a.snapshot_url,
uid:this.id,fullscreen:a.fullscreen};if(a.news&&a.news.length){this.options.news_vendors=[];for(var b=0;b<a.news.length;b++)switch(a.news[b]){case "headlines":case "stocktwits":this.options.news_vendors.push(a.news[b])}this.options.news_vendors||delete this.options.news_vendors}isFinite(a.widgetbar_width)&&0<a.widgetbar_width&&(this.options.widgetbar_width=a.widgetbar_width);this._ready_handlers=[];this.create()}};e.widget.prototype={_messageTarget:function(){return e.gEl(this.id).contentWindow},
_autoResizeChart:function(){var a=e.gEl(this.id);this.options.fullscreen&&(a.style.height=window.innerHeight+"px",a.style.width=window.innerWidth+"px")},create:function(){var a=this.render(),b=this,d;this.options.container?e.gEl(this.options.container).innerHTML=a:document.write(a);this._autoResizeChart();window.addEventListener("resize",function(a){b._autoResizeChart()});d=e.gEl(this.id);this.postMessage=e.postMessageWrapper(d.contentWindow,this.id);e.bindEvent(d,"load",function(){b.postMessage.get("widgetReady",
{},function(){var a;b._ready=!0;for(a=b._ready_handlers.length;a--;)b._ready_handlers[a].call(b);b.postMessage.post(d.contentWindow,"initializationFinished")})})},render:function(){var a="__datafeed_"+this.options.uid;window[a]=this.options.datafeed;a=(this.options.path||"")+"static/tv-chart.html?localserver=1&symbol="+encodeURIComponent(this.options.symbol)+"&interval="+encodeURIComponent(this.options.interval)+"&toolbarbg="+this.options.toolbar_bg.replace("#","")+(this.options.widgetbar_width?"&widgetbarwidth="+
this.options.widgetbar_width:"")+(this.options.studies?"&studies="+encodeURIComponent(this.options.studies.join("\u001f")):"")+(this.options.theme?"&theme="+encodeURIComponent(this.options.theme):"")+(this.options.hideSymbolSearch?"&hideSymbolSearch="+encodeURIComponent(this.options.hideSymbolSearch):"")+(this.options.hideSideToolbar?"&hideSideToolbar=true":"")+"&enabledStudies="+encodeURIComponent(JSON.stringify(this.options.enabledStudies))+"&disabledStudies="+encodeURIComponent(JSON.stringify(this.options.disabledStudies))+
"&enabledDrawings="+encodeURIComponent(JSON.stringify(this.options.enabledDrawings))+"&disabledDrawings="+encodeURIComponent(JSON.stringify(this.options.disabledDrawings))+"&overrides="+encodeURIComponent(JSON.stringify(this.options.overrides))+"&disableLogo="+encodeURIComponent(this.options.disableLogo)+"&locale="+encodeURIComponent(this.options.locale)+"&datafeedUID="+encodeURIComponent(a)+(this.options.snapshotUrl?"&snapshotUrl="+encodeURIComponent(this.options.snapshotUrl):"")+(this.options.timezone?
"&timezone="+encodeURIComponent(this.options.timezone):"");this.options.savedData&&(window.__TVSavedChart=this.options.savedData);return'<iframe id="'+this.id+'" src="'+a+'"'+(this.options.fullscreen?"":' width="'+this.options.width+'" height="'+this.options.height+'"')+' frameborder="0" allowTransparency="true" scrolling="no"></iframe>'},onChartReady:function(a){this._ready?a.call(this):this._ready_handlers.push(a)},setSymbol:function(a,b){this.postMessage.post(this._messageTarget(),"changeSymbol",
{symbol:a,interval:b})},createStudy:function(a,b){this.postMessage.post(this._messageTarget(),"createStudy",{name:a,lock:b})},createShape:function(a,b){this.postMessage.post(this._messageTarget(),"createShape",{point:a,options:b})},createVerticalLine:function(a,b){this.createShape(a,$.extend(b,{shape:"vertical_line"}))},createButton:function(){var a=e.gEl(this.id).contentWindow.headerWidget,a=a.createGroup({single:!0}).appendTo(a._$left);return $('<div class="button"></div>').appendTo(a)},removeIcon:function(a){},
onSymbolChange:function(a){this.postMessage.on("onSymbolChange",a)},onIntervalChange:function(a){this.postMessage.on("onIntervalChange",a)},onTick:function(a){this.postMessage.on("onTick",a)},remove:function(){var a=e.gEl(this.id);a.parentNode.removeChild(a)},onMarkClick:function(a){this.postMessage.on("onMarkClick",a)},onAutoSaveNeeded:function(a){this.postMessage.on("onAutoSaveNeeded",a)},save:function(a){this.postMessage.on("onChartSaved",a);this.postMessage.post(this._messageTarget(),"saveChart",
{})},load:function(a){window.__TVSavedChart=a;this.remove();this.create()},setLanguage:function(a){this.remove();this.options.locale=a;this.create()}};e.postMessageWrapper=function(){var a={},b={},d={},e,f=0,g=0;window.addEventListener&&window.addEventListener("message",function(d){var c;try{c=JSON.parse(d.data)}catch(l){return}c.provider&&"TradingView"==c.provider&&("get"==c.type?b[c.name].call(c,c.data,function(a){e.postMessage(JSON.stringify({id:c.id,type:"on",name:c.name,client_id:c.client_id,
data:a,provider:"TradingView"}),"*")}):"on"==c.type?a[c.client_id]&&a[c.client_id][c.id]&&(a[c.client_id][c.id].call(c,c.data),delete a[c.client_id][c.id]):"post"==c.type&&"function"===typeof b[c.name]&&b[c.name].call(c,c.data,function(){}))});return function(h,c){a[c]={};e=d[c]=h;return{on:function(a,c){b[a]=c},get:function(b,e,k){b={id:f++,type:"get",name:b,client_id:c,data:e,provider:"TradingView"};a[c][b.id]=k;d[c].postMessage(JSON.stringify(b),"*")},post:function(a,b,c){b={id:g++,type:"post",
name:b,data:c,provider:"TradingView"};a&&"function"===typeof a.postMessage&&a.postMessage(JSON.stringify(b),"*")}}}}();window.TradingView&&jQuery?jQuery.extend(window.TradingView,e):window.TradingView=e}})();