hqchart 1.1.15816 → 1.1.15823
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/umychart.vue.js +22 -19
- package/package.json +1 -1
- package/src/jscommon/umychart/umychart.js +123 -45
- package/src/jscommon/umychart/umychart.min.js +1 -1
- package/src/jscommon/umychart.PopKLineChart.js +4 -2
- package/src/jscommon/umychart.js +118 -42
- package/src/jscommon/umychart.order.js +39 -2
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +119 -43
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +123 -45
package/lib/umychart.vue.js
CHANGED
|
@@ -1400,7 +1400,7 @@ this.ClearChartDrawPicture=function(drawPicture,option){if(this.JSChartContainer
|
|
|
1400
1400
|
this.JSChartContainer.ClearChartDrawPicture(drawPicture,option);}};//复制一个画图
|
|
1401
1401
|
this.PasteChartDrawPicture=function(data,frameID,option){if(this.JSChartContainer&&typeof this.JSChartContainer.PasteChartDrawPicture=='function'){JSConsole.Chart.Log('[JSChart:PasteChartDrawPicture] ',data,frameID,option);return this.JSChartContainer.PasteChartDrawPicture(data,frameID,option);}};//重新加载配置
|
|
1402
1402
|
this.ReloadResource=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ReloadResource=='function'){JSConsole.Chart.Log('[JSChart:ReloadResource] ');this.JSChartContainer.ReloadResource(option);}};this.EnableSplashScreen=function(enable,option){if(this.JSChartContainer&&typeof this.JSChartContainer.EnableSplashScreen=='function'){JSConsole.Chart.Log('[JSChart:EnableSplashScreen] ');this.JSChartContainer.EnableSplashScreen(enable,option);}};this.Draw=function(){if(this.JSChartContainer&&typeof this.JSChartContainer.Draw=='function'){JSConsole.Chart.Log('[JSChart:Draw] ');this.JSChartContainer.Draw();}};this.SetFocus=function(){if(this.JSChartContainer&&typeof this.JSChartContainer.SetFocus=='function'){JSConsole.Chart.Log('[JSChart:SetFocus] ');this.JSChartContainer.SetFocus();}};//数据导出, option={ Start:{ Date, Time:可选}, End:{Date: Time:可选} }
|
|
1403
|
-
this.ExportData=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ExportData=='function'){JSConsole.Chart.Log('[JSChart:ExportData] ');return this.JSChartContainer.ExportData(option);}};this.ChangePriceGap=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ChangePriceGap=='function'){JSConsole.Chart.Log('[JSChart:ChangePriceGap] ');return this.JSChartContainer.ChangePriceGap(option);}};this.PopupMenuByTab=function(menuData,rtTab){if(this.JSChartContainer&&typeof this.JSChartContainer.PopupMenuByTab=='function'){JSConsole.Chart.Log('[JSChart:PopupMenuByTab] ');return this.JSChartContainer.PopupMenuByTab(menuData,rtTab);}};this.PopupMenuByDrapdown=function(menuData,rtButton){if(this.JSChartContainer&&typeof this.JSChartContainer.PopupMenuByDrapdown=='function'){JSConsole.Chart.Log('[JSChart:PopupMenuByDrapdown] ');return this.JSChartContainer.PopupMenuByDrapdown(menuData,rtButton);}};this.ExecuteMenuCommand=function(cmdID,aryArgs){if(this.JSChartContainer&&typeof this.JSChartContainer.ExecuteMenuCommand=='function'){JSConsole.Chart.Log('[JSChart:ExecuteMenuCommand] ');return this.JSChartContainer.ExecuteMenuCommand(cmdID,aryArgs);}};this.GetGraphicsDescription=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.GetGraphicsDescription=='function'){JSConsole.Chart.Log('[JSChart:GetGraphicsDescription] ');return this.JSChartContainer.GetGraphicsDescription(option);}};}JSChart.LastVersion=null;//最新的版本号
|
|
1403
|
+
this.ExportData=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ExportData=='function'){JSConsole.Chart.Log('[JSChart:ExportData] ');return this.JSChartContainer.ExportData(option);}};this.ChangePriceGap=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ChangePriceGap=='function'){JSConsole.Chart.Log('[JSChart:ChangePriceGap] ');return this.JSChartContainer.ChangePriceGap(option);}};this.PopupMenuByTab=function(menuData,rtTab){if(this.JSChartContainer&&typeof this.JSChartContainer.PopupMenuByTab=='function'){JSConsole.Chart.Log('[JSChart:PopupMenuByTab] ');return this.JSChartContainer.PopupMenuByTab(menuData,rtTab);}};this.PopupMenuByDrapdown=function(menuData,rtButton){if(this.JSChartContainer&&typeof this.JSChartContainer.PopupMenuByDrapdown=='function'){JSConsole.Chart.Log('[JSChart:PopupMenuByDrapdown] ');return this.JSChartContainer.PopupMenuByDrapdown(menuData,rtButton);}};this.ExecuteMenuCommand=function(cmdID,aryArgs){if(this.JSChartContainer&&typeof this.JSChartContainer.ExecuteMenuCommand=='function'){JSConsole.Chart.Log('[JSChart:ExecuteMenuCommand] ');return this.JSChartContainer.ExecuteMenuCommand(cmdID,aryArgs);}};this.GetGraphicsDescription=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.GetGraphicsDescription=='function'){JSConsole.Chart.Log('[JSChart:GetGraphicsDescription] ');return this.JSChartContainer.GetGraphicsDescription(option);}};this.HideDivFrameToolbar=function(){if(this.JSChartContainer&&typeof this.JSChartContainer.HideDivFrameToolbar=='function'){JSConsole.Chart.Log('[JSChart:HideDivFrameToolbar] ');return this.JSChartContainer.HideDivFrameToolbar();}};}JSChart.LastVersion=null;//最新的版本号
|
|
1404
1404
|
JSChart.EnableCanvasWillReadFrequently=false;//https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently
|
|
1405
1405
|
JSChart.CorssCursorCanvasKey="hqchart_corsscursor";JSChart.TooltipCursorCanvasKey="hqchart_tooltip";JSChart.RectDragCanvasKey="hqchart_drag_rect";JSChart.LatestPointFlashKey="hqchart_point_flash";//最新数据点闪烁
|
|
1406
1406
|
JSChart.KLineCountDownKey="hqchart_kline_countdown";//倒计时
|
|
@@ -2545,7 +2545,7 @@ this.GetIndexDataDescription=function(option){if(!IFrameSplitOperator.IsNonEmpty
|
|
|
2545
2545
|
for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item||!item.ExportData)continue;if(["Main-KLine","Minute-Line","Minute-Average-Line","Minute-Vol-Bar","Minute-BuySell-Bar"].includes(item.Identify))continue;var frameID=item.ChartFrame.Identify;if(aryWindowIndex&&!aryWindowIndex.includes(frameID))continue;var guid=item.Identify;var data=item.ExportData(aryKData,range);if(!IFrameSplitOperator.IsNonEmptyArray(data))conintue;var indexData=null;if(mapIndex.has(guid)){indexData=mapIndex.get(guid);}else{indexData={Guid:guid,Name:item.IndexName,ID:item.IndexID,AryData:[]};mapIndex.set(guid,indexData);}for(var j=0;j<data.length;++j){var subItem=data[j];var outName="未定义名字";if(subItem.Name)outName=subItem.Name;indexData.AryData.push({Name:''+outName,Data:subItem.Data,Description:subItem.Description});}}//叠加指标
|
|
2546
2546
|
for(var i=0,j=0,k=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];if(aryWindowIndex&&!aryWindowIndex.includes(i))continue;for(j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(!IFrameSplitOperator.IsNonEmptyArray(overlayItem.ChartPaint))continue;for(k=0;k<overlayItem.ChartPaint.length;++k){var chart=overlayItem.ChartPaint[k];var guid=chart.Identify;if(!chart||!chart.ExportData)continue;var data=chart.ExportData(aryKData,range);if(!IFrameSplitOperator.IsNonEmptyArray(data))continue;var indexData=null;if(mapIndex.has(guid)){indexData=mapIndex.get(guid);}else{indexData={Guid:guid,Name:chart.IndexName,ID:chart.IndexID,AryData:[]};mapIndex.set(guid,indexData);}for(var index=0;index<data.length;++index){var subItem=data[index];var outName="未定义名字";if(subItem.Name)outName=subItem.Name;indexData.AryData.push({Name:''+outName,Data:subItem.Data,Description:subItem.Description});}}}}if(mapIndex.size<=0)return null;var aryData=[];var bMinutePeriod=ChartData.IsMinutePeriod(this.Period,true);var startIndex=0,endIndex=0;if(range){startIndex=range.Start.Index;endIndex=range.End.Index;}for(var i=0;i<this.WindowIndex.length;++i){var item=this.WindowIndex[i];if(!item)continue;var guid=item.Guid;if(!mapIndex.has(guid))continue;var indexData=mapIndex.get(guid);var data=this.GetIndexItemDescription(aryKData,indexData,item,range);if(data)aryData.push(data);}for(var i=0,j=0,k=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i];for(j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];var indexInfo=overlayItem.Script;var guid=overlayItem.Identify;if(!mapIndex.has(guid))continue;var indexData=mapIndex.get(guid);var data=this.GetIndexItemDescription(aryKData,indexData,indexInfo,range);if(data)aryData.push(data);}}return aryData;};this.GetIndexItemDescription=function(aryKData,indexData,indexInfo,range){var bMinuteChart=this.IsMinuteContainer();var bMinutePeriod=false;if(bMinuteChart)bMinutePeriod=true;else bMinutePeriod=ChartData.IsMinutePeriod(this.Period,true);var startIndex=0,endIndex=aryKData.length-1;if(range){startIndex=range.Start.Index;endIndex=range.End.Index;}var strTitle=this.Name+' '+this.Symbol+' '+indexInfo.Name+'\u6307\u6807\u6570\u636E';var strText='\u3010'+strTitle+'\u3011\r\n';var strValue=null;if(indexInfo.Description)strValue=indexInfo.Description;if(indexInfo.FullDescription)strValue=indexInfo.FullDescription;strText+='\u6307\u6807\u89E3\u91CA:'+strValue+'\r\n';if(indexInfo.Script)strText+='\u6307\u6807\u516C\u5F0F:\r\n----------------------\r\n'+indexInfo.Script+'\r\n------------------------\r\n';if(IFrameSplitOperator.IsNonEmptyArray(indexInfo.Arguments))//参数
|
|
2547
2547
|
{strValue="";for(var i=0;i<indexInfo.Arguments.length;++i){var argItem=indexInfo.Arguments[i];strValue+=argItem.Name+'='+argItem.Value+',';}strText+='\u6307\u6807\u53C2\u6570:'+strValue+'\r\n';}strText+="字段说明\r\n";strText+="1. Date:日期 格式YYYYMMDD\r\n";strText+="2. Time:时间 格式hhmm\r\n";strText+="原始数据如下\r\n";strText+="Date,Time";for(var i=0;i<indexData.AryData.length;++i){var indexItem=indexData.AryData[i];strText+=','+indexItem.Name;}strText+="\r\n";var count=0;for(var i=startIndex;i<=endIndex&&i<aryKData.length;++i){var kItem=aryKData[i];var time=null;if(bMinutePeriod)time=kItem.Time;strText+=kItem.Date+','+time;for(var j=0;j<indexData.AryData.length;++j){var indexItem=indexData.AryData[j];var value=null;if(indexItem.Data)value=indexItem.Data[i];strText+=','+value;}strText+="\r\n";++count;}strText+="\r\n\r\n";return{Title:strTitle,Content:strText,Type:"指标数据",Count:count};};//获取品种小数位数
|
|
2548
|
-
this.GetSymbolDecimal=function(){return GetfloatPrecision(this.Symbol);};this.TryClickIndexTitle=function(x,y,e){if(!IFrameSplitOperator.IsNonEmptyArray(this.TitlePaint))return false;for(var i=0;i<this.TitlePaint.length;++i){var item=this.TitlePaint[i];if(!item||!item.IsClickTitle)continue;if(!item.IsClickTitle(x,y))continue;var data={Point:{X:x,Y:y},Title:item.Title,FrameID:item.Frame.Identify,Rect:item.TitleRect,e:e};JSConsole.Chart.Log('[JSChartContainer::TryClickIndexTitle] click title ',data);var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_INDEXTITLE);if(event&&event.Callback)event.Callback(event,data,this);return true;}return false;};}function GetDevicePixelRatio(){if(typeof window=='undefined')return 1;return window.devicePixelRatio||1;}function GetFontHeight(context,font,word){if(!context)return null;if(font)context.font=font;var text='擎';if(IFrameSplitOperator.IsString(word))text=word;var fontInfo=context.measureText(text);var textHeight=fontInfo.fontBoundingBoxAscent+fontInfo.fontBoundingBoxDescent;if(!IFrameSplitOperator.IsNumber(textHeight))textHeight=fontInfo.width+2*GetDevicePixelRatio();return textHeight;}function IsPhoneWeb(){var userAgentInfo=navigator.userAgent;var Agents=new Array("Android","iPhone","SymbianOS","Windows Phone","iPad","iPod");for(var v=0;v<Agents.length;v++){if(userAgentInfo.indexOf(Agents[v])>0)return true;}return false;}function OnKeyDown(e)//键盘事件
|
|
2548
|
+
this.GetSymbolDecimal=function(){return GetfloatPrecision(this.Symbol);};this.TryClickIndexTitle=function(x,y,e){if(!IFrameSplitOperator.IsNonEmptyArray(this.TitlePaint))return false;for(var i=0;i<this.TitlePaint.length;++i){var item=this.TitlePaint[i];if(!item||!item.IsClickTitle)continue;if(!item.IsClickTitle(x,y))continue;var data={Point:{X:x,Y:y},Title:item.Title,FrameID:item.Frame.Identify,Rect:item.TitleRect,e:e};JSConsole.Chart.Log('[JSChartContainer::TryClickIndexTitle] click title ',data);var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_INDEXTITLE);if(event&&event.Callback)event.Callback(event,data,this);return true;}return false;};this.HideDivFrameToolbar=function(){this.Frame.HideDivFrameToolbar();};}function GetDevicePixelRatio(){if(typeof window=='undefined')return 1;return window.devicePixelRatio||1;}function GetFontHeight(context,font,word){if(!context)return null;if(font)context.font=font;var text='擎';if(IFrameSplitOperator.IsString(word))text=word;var fontInfo=context.measureText(text);var textHeight=fontInfo.fontBoundingBoxAscent+fontInfo.fontBoundingBoxDescent;if(!IFrameSplitOperator.IsNumber(textHeight))textHeight=fontInfo.width+2*GetDevicePixelRatio();return textHeight;}function IsPhoneWeb(){var userAgentInfo=navigator.userAgent;var Agents=new Array("Android","iPhone","SymbianOS","Windows Phone","iPad","iPod");for(var v=0;v<Agents.length;v++){if(userAgentInfo.indexOf(Agents[v])>0)return true;}return false;}function OnKeyDown(e)//键盘事件
|
|
2549
2549
|
{if(this.JSChartContainer&&this.JSChartContainer.OnKeyDown)this.JSChartContainer.OnKeyDown(e);}function OnKeyUp(e)//键盘事件
|
|
2550
2550
|
{if(this.JSChartContainer&&this.JSChartContainer.OnKeyUp)this.JSChartContainer.OnKeyUp(e);}function OnWheel(e)//上下滚动事件
|
|
2551
2551
|
{if(this.JSChartContainer&&this.JSChartContainer.OnWheel)this.JSChartContainer.OnWheel(e);}function ToFixed(number,precision){var b=1;if(isNaN(number))return number;if(number<0)b=-1;var multiplier=Math.pow(10,precision);var value=Math.round(Math.abs(number)*multiplier)/multiplier*b;if(/^(\d+(?:\.\d+)?)(e)([\-]?\d+)$/.test(value))var s=value.toFixed2(precision);else var s=value.toString();var rs=s.indexOf('.');if(rs<0&&precision>0){rs=s.length;s+='.';}while(s.length<=rs+precision){s+='0';}return s;}function IsRectOverlap(rt,rt2){if(Math.max(rt.Left,rt2.Left)<Math.min(rt.Right,rt2.Right)&&Math.max(rt.Top,rt2.Top)<Math.min(rt.Bottom,rt2.Bottom))return true;return false;}//获取文字高度和宽度
|
|
@@ -2886,7 +2886,7 @@ this.ReDrawToolbar=false;}};//Y轴面积背景
|
|
|
2886
2886
|
this.DrawCustomHorizontalArea=function(){if(this.IsMinSize)return;if(this.ChartBorder.IsShowTitleOnly)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.CustomHorizontalInfo))return;for(var i=0;i<this.CustomHorizontalInfo.length;++i){var item=this.CustomHorizontalInfo[i];if(item.Type==5)this.DrawCustomAreaItem(item);}};//画边框
|
|
2887
2887
|
this.SuperDrawBorder=this.DrawBorder;this.DrawBorder=function(){if(!this.IsShowBorder)return;if(this.IsMinSize)return;this.SuperDrawBorder();if(this.Identify==1)//走势图和成交量中间用粗线分割开
|
|
2888
2888
|
{var border=this.ChartBorder.GetBorder();var left=ToFixedPoint(border.Left);var top=ToFixedPoint(border.Top);var right=ToFixedPoint(border.Right);this.Canvas.strokeStyle=this.PenBorder;this.Canvas.beginPath();this.Canvas.moveTo(left,top);this.Canvas.lineTo(right,top);this.Canvas.save();this.Canvas.lineWidth=2*GetDevicePixelRatio();this.Canvas.stroke();this.Canvas.restore();}};this.DrawVolTitle=function(symbol){if(!MARKET_SUFFIX_NAME.IsShowMinuteVolTitle(symbol))return;if(this.Identify==1)//显示"成交量"
|
|
2889
|
-
{var pixelRatio=GetDevicePixelRatio();var left=this.ChartBorder.GetLeft()+2*pixelRatio+this.YInsideOffset;var top=this.ChartBorder.GetTopEx()+2*pixelRatio;this.Canvas.textAlign='left';this.Canvas.textBaseline='top';if(g_JSChartResource.Minute.VolBarColor||g_JSChartResource.Minute.VolTitleColor){if(g_JSChartResource.Minute.VolBarColor)this.Canvas.fillStyle=g_JSChartResource.Minute.VolBarColor;else this.Canvas.fillStyle=g_JSChartResource.Minute.VolTitleColor;var languageID=this.YSplitOperator.LanguageID;var text=g_JSChartLocalization.GetText('MVol-Vol',languageID);this.Canvas.fillText(text,left,top);left+=this.Canvas.measureText(text).width;left+=6*GetDevicePixelRatio();}if(this.IsShowPositionTitle){text=g_JSChartLocalization.GetText('MVol-Position',languageID);this.Canvas.fillStyle=g_JSChartResource.Minute.PositionColor;this.Canvas.fillText(text,left,top);}}};this.DrawToolbar=function(){var bDraw=true;if(this.ToolbarButtonStyle==1)bDraw=false;if(g_JSChartResource.IsDOMFrameToolbar===true)bDraw=false;if(!this.DivFrameToolbar)return;if(!bDraw)this.HideToolbar();else
|
|
2889
|
+
{var pixelRatio=GetDevicePixelRatio();var left=this.ChartBorder.GetLeft()+2*pixelRatio+this.YInsideOffset;var top=this.ChartBorder.GetTopEx()+2*pixelRatio;this.Canvas.textAlign='left';this.Canvas.textBaseline='top';if(g_JSChartResource.Minute.VolBarColor||g_JSChartResource.Minute.VolTitleColor){if(g_JSChartResource.Minute.VolBarColor)this.Canvas.fillStyle=g_JSChartResource.Minute.VolBarColor;else this.Canvas.fillStyle=g_JSChartResource.Minute.VolTitleColor;var languageID=this.YSplitOperator.LanguageID;var text=g_JSChartLocalization.GetText('MVol-Vol',languageID);this.Canvas.fillText(text,left,top);left+=this.Canvas.measureText(text).width;left+=6*GetDevicePixelRatio();}if(this.IsShowPositionTitle){text=g_JSChartLocalization.GetText('MVol-Position',languageID);this.Canvas.fillStyle=g_JSChartResource.Minute.PositionColor;this.Canvas.fillText(text,left,top);}}};this.DrawToolbar=function(){var bDraw=true;if(this.ToolbarButtonStyle==1)bDraw=false;if(g_JSChartResource.IsDOMFrameToolbar===true)bDraw=false;if(!this.DivFrameToolbar)return;if(!bDraw){this.HideToolbar();}else{if(this.DivFrameToolbar.IsParentShow())this.DivFrameToolbar.Show(this.Identify);else this.HideToolbar();}};//手绘,不用DOM,使用DOM太麻烦了
|
|
2890
2890
|
this.DrawToolbarV2=function(moveonPoint,mouseStatus){if(g_JSChartResource.IsDOMFrameToolbar===true)return;if(this.Identify==0&&this.IsShowCloseButton)this.DrawCloseBeforeButton(moveonPoint,mouseStatus);//盘前集合竞价关闭按钮
|
|
2891
2891
|
if(this.ChartBorder.TitleHeight<5)return;var aryButton=[];if(this.Identify!=0&&this.Identify!=1)//价格图和成交量图只有自定义按钮
|
|
2892
2892
|
{if(this.CloseIndex)aryButton.push({ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW,Style:this.CloseWindowButton});if(this.MaxMinWindow)aryButton.push({ID:JSCHART_BUTTON_ID.MAX_MIN_WINDOW,Style:this.MaxMinWindowButton});if(this.TitleWindow)aryButton.push({ID:JSCHART_BUTTON_ID.TITLE_WINDOW,Style:this.TitleWindowButton});if(this.ExportData)aryButton.push({ID:JSCHART_BUTTON_ID.EXPORT_DATA,Style:this.ExportDataButton});if(this.OverlayIndex)aryButton.push({ID:JSCHART_BUTTON_ID.OVERLAY_INDEX,Style:this.OverlayIndexButton});if(this.ChangeIndex)aryButton.push({ID:JSCHART_BUTTON_ID.CHANGE_INDEX,Style:this.ChangeIndexButton});if(this.ModifyIndex)aryButton.push({ID:JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM,Style:this.ModifyIndexParamButton});if(this.AddIndexWindow)aryButton.push({ID:JSCHART_BUTTON_ID.ADD_INDEX_WINDOW,Style:this.AddIndexWindowButton});if(this.IndexHelp)aryButton.push({ID:JSCHART_BUTTON_ID.INDEX_HELP,Style:this.IndexHelpButton});if(this.IndexAIAnalyze)aryButton.push({ID:JSCHART_BUTTON_ID.INDEX_AI_ANALYZE,Style:this.IndexAIAnalyzeButton});}if(IFrameSplitOperator.IsNonEmptyArray(this.CustomToolbar)){for(var i=0;i<this.CustomToolbar.length;++i){var item=this.CustomToolbar[i];if(item.ID&&item.Style)aryButton.push({ID:item.ID,Style:item.Style,TooltipText:item.TooltipText,Data:item.Data});}}this.DrawTitleButton(aryButton,moveonPoint,mouseStatus);};this.DrawCloseBeforeButton=function(moveonPoint,mouseStatus){if(this.Identify!=0)return;var border=this.ChartBorder.GetBorder();if(border.DayBorder)return;if(this.ChartBorder.LeftExtendWidth<10)return;var rtButton={Left:border.Left,Top:border.TopEx,Width:this.BeforeCloseIcon.Size,Height:this.BeforeCloseIcon.Size};rtButton.Right=rtButton.Left+this.BeforeCloseIcon.Size;rtButton.Bottom=rtButton.Top+this.BeforeCloseIcon.Size;var item={Rect:rtButton,Name:"集合竞价关闭按钮",ID:JSCHART_BUTTON_ID.CLOSE_BEFOREOPEN_ID};var color=this.BeforeCloseIcon.Color;if(moveonPoint&&moveonPoint.X>=rtButton.Left&&moveonPoint.X<rtButton.Right&&moveonPoint.Y>=rtButton.Top&&moveonPoint.Y<=rtButton.Bottom){color=this.BeforeCloseIcon.MoveOnColor;if(mouseStatus)mouseStatus.MouseOnToolbar={Rect:rtButton,Item:item,Frame:this,Point:{X:moveonPoint.X,Y:moveonPoint.Y}};}var font=this.BeforeCloseIcon.Size+'px '+this.BeforeCloseIcon.Family;this.Canvas.font=font;this.Canvas.fillStyle=color;this.Canvas.textAlign='left';this.Canvas.textBaseline='top';this.Canvas.fillText(this.BeforeCloseIcon.Text,border.Left,border.TopEx);this.Buttons.push(item);};this.DrawMultiDayBeforeDataBG=function(border){var dayBorder=border.DayBorder;var top=ToFixedPoint(border.Top);var bottom=ToFixedPoint(border.Bottom);var height=bottom-top;this.Canvas.strokeStyle=this.MultiDayBorderPen;for(var i=0;i<dayBorder.length;++i){var drawCount=0;var item=dayBorder[i];var left=ToFixedPoint(item.Left);var right=ToFixedPoint(item.LeftEx);var width=right-left;if(width>3)//盘前
|
|
@@ -2984,7 +2984,7 @@ this.IsDrawTitleBG=g_JSChartResource.KLineToolbar.IsDrawTitleBG;this.IsShowNameA
|
|
|
2984
2984
|
// Type:1, Space: 第几个空白间距, Line:{ Color:线段颜色, Type:线段类型 0 直线 1 虚线 }
|
|
2985
2985
|
this.DrawCustomVerticalEvent;this.RightSpaceCount=0;this.Logarithmic=null;//{Up:上部 , Donw:下部 , OpenPrice:第一个开盘价}
|
|
2986
2986
|
this.CustomToolbar=[];//自定义toolbar按钮 { ID:, Html:, Click } 2.0版本 { ID, Style:{ 见 g_JSChartResource.Buttons.CloseWindow}}
|
|
2987
|
-
this.ToolbarType=0;this.DrawToolbar=function(){var bDraw=true;if(this.ToolbarButtonStyle==1)bDraw=false;if(g_JSChartResource.IsDOMFrameToolbar===true)bDraw=false;if(!this.DivFrameToolbar)return;if(!bDraw)this.HideToolbar();else
|
|
2987
|
+
this.ToolbarType=0;this.DrawToolbar=function(){var bDraw=true;if(this.ToolbarButtonStyle==1)bDraw=false;if(g_JSChartResource.IsDOMFrameToolbar===true)bDraw=false;if(!this.DivFrameToolbar)return;if(!bDraw){this.HideToolbar();}else{if(this.DivFrameToolbar.IsParentShow())this.DivFrameToolbar.Show(this.Identify);else this.HideToolbar();}};//手绘,不用DOM,使用DOM太麻烦了
|
|
2988
2988
|
this.DrawToolbarV2=function(moveonPoint,mouseStatus){if(g_JSChartResource.IsDOMFrameToolbar===true)return;this.Buttons=[];if(this.IsMinSize==true)return;if(this.ChartBorder.TitleHeight<5)return;var aryButton=[];//第1个窗口不能关闭
|
|
2989
2989
|
if(this.CloseIndex&&this.Identify!==0)aryButton.push({ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW,Style:this.CloseWindowButton});if(this.MaxMinWindow&&this.Identify!=0)aryButton.push({ID:JSCHART_BUTTON_ID.MAX_MIN_WINDOW,Style:this.MaxMinWindowButton});if(this.TitleWindow&&this.Identify!=0)aryButton.push({ID:JSCHART_BUTTON_ID.TITLE_WINDOW,Style:this.TitleWindowButton});if(this.ExportData)aryButton.push({ID:JSCHART_BUTTON_ID.EXPORT_DATA,Style:this.ExportDataButton});if(this.OverlayIndex)aryButton.push({ID:JSCHART_BUTTON_ID.OVERLAY_INDEX,Style:this.OverlayIndexButton});if(this.ChangeIndex)aryButton.push({ID:JSCHART_BUTTON_ID.CHANGE_INDEX,Style:this.ChangeIndexButton});if(this.ModifyIndex)aryButton.push({ID:JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM,Style:this.ModifyIndexParamButton});if(this.AddIndexWindow)aryButton.push({ID:JSCHART_BUTTON_ID.ADD_INDEX_WINDOW,Style:this.AddIndexWindowButton});if(this.IndexHelp)aryButton.push({ID:JSCHART_BUTTON_ID.INDEX_HELP,Style:this.IndexHelpButton});if(this.IndexAIAnalyze)aryButton.push({ID:JSCHART_BUTTON_ID.INDEX_AI_ANALYZE,Style:this.IndexAIAnalyzeButton});if(IFrameSplitOperator.IsNonEmptyArray(this.CustomToolbar)){for(var i=0;i<this.CustomToolbar.length;++i){var item=this.CustomToolbar[i];if(item.ID&&item.Style){var btnItem={ID:item.ID,Style:item.Style,TooltipText:item.TooltipText,Data:item.Data};if(item.IsLeft===true)//左侧按钮
|
|
2990
2990
|
{}else{aryButton.push(btnItem);//右侧按钮
|
|
@@ -3411,7 +3411,7 @@ this.PtInFrameBorder=function(x,y){var height=this.DragBorderHeight;for(var i=0;
|
|
|
3411
3411
|
}var overlayRight=right+rightOffset;for(var j=0;j<item.OverlayIndex.length;++j){var overlayItem=item.OverlayIndex[j];if(!overlayItem.RightWidth||!IFrameSplitOperator.IsNumber(overlayItem.RightWidth.Width))continue;var overlayWidth=overlayItem.RightWidth.Width;item.Frame.Canvas.beginPath();item.Frame.Canvas.rect(overlayRight,top,overlayWidth,bottom-top);if(item.Frame.Canvas.isPointInPath(x,y)){return{Index:i,Right:true,Left:false,Position:position,IsOverlay:true,OverlayIndex:j};//Position 1=上面 2 下面 0=中间(TODO)
|
|
3412
3412
|
}overlayRight+=overlayWidth;}}else{item.Frame.Canvas.beginPath();item.Frame.Canvas.rect(right,top,rightWidth,bottom-top);if(item.Frame.Canvas.isPointInPath(x,y)){return{Index:i,Right:true,Left:false,Position:position,IsOverlay:false};//Position 1=上面 2 下面 0=中间(TODO)
|
|
3413
3413
|
}}}var leftWidth=item.Frame.ChartBorder.Left;if(leftWidth>=10){item.Frame.Canvas.beginPath();item.Frame.Canvas.rect(0,top,leftWidth,bottom-top);if(item.Frame.Canvas.isPointInPath(x,y)){return{Index:i,Right:false,Left:true,Position:position,IsOverlay:false};}}}return null;};this.SetDayCount=function(dayCount){this.ChartBorder.MultiDayMinute.Count=dayCount;for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];if(!item.Frame)continue;item.Frame.DayCount=dayCount;item.Frame.ChartBorder.MultiDayMinute.Count=dayCount;}};//设置多日分时宽度
|
|
3414
|
-
this.SetMultiDayMinuteWidth=function(obj){if(!obj)return;if(IFrameSplitOperator.IsNumber(obj.Left))this.ChartBorder.MultiDayMinute.Left=obj.Left;if(IFrameSplitOperator.IsNumber(obj.Right))this.ChartBorder.MultiDayMinute.Right=obj.Right;for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];if(!item.Frame)continue;if(IFrameSplitOperator.IsNumber(obj.Left))item.Frame.ChartBorder.MultiDayMinute.Left=obj.Left;if(IFrameSplitOperator.IsNumber(obj.Right))item.Frame.ChartBorder.MultiDayMinute.Right=obj.Right;}};}//行情框架横屏
|
|
3414
|
+
this.SetMultiDayMinuteWidth=function(obj){if(!obj)return;if(IFrameSplitOperator.IsNumber(obj.Left))this.ChartBorder.MultiDayMinute.Left=obj.Left;if(IFrameSplitOperator.IsNumber(obj.Right))this.ChartBorder.MultiDayMinute.Right=obj.Right;for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];if(!item.Frame)continue;if(IFrameSplitOperator.IsNumber(obj.Left))item.Frame.ChartBorder.MultiDayMinute.Left=obj.Left;if(IFrameSplitOperator.IsNumber(obj.Right))item.Frame.ChartBorder.MultiDayMinute.Right=obj.Right;}};this.HideDivFrameToolbar=function(){for(var i=0;i<this.SubFrame.length;++i){var item=this.SubFrame[i];if(!item.Frame)continue;if(item.Frame.ToolbarButtonStyle==1)continue;if(!item.Frame.DivFrameToolbar)continue;item.Frame.DivFrameToolbar.Hide();}};}//行情框架横屏
|
|
3415
3415
|
function HQTradeHScreenFrame(){this.newMethod=HQTradeFrame;//派生
|
|
3416
3416
|
this.newMethod();delete this.newMethod;this.IsHScreen=true;//是否是横屏
|
|
3417
3417
|
this.CalculateChartBorder=function()//计算每个子框架的边框信息
|
|
@@ -4074,14 +4074,15 @@ var xText=ptMax.Y;var yText=ptMax.X;if(IFrameSplitOperator.IsNumber(highYOffset)
|
|
|
4074
4074
|
if(ptMax.Align=='left')text=leftArrow+text;else text=text+rightArrow;this.Canvas.fillText(text,0,0);this.Canvas.restore();var xText=ptMin.Y;var yText=ptMin.X;if(IFrameSplitOperator.IsNumber(lowYOffset))xText+=lowYOffset;this.Canvas.save();this.Canvas.translate(xText,yText);this.Canvas.rotate(90*Math.PI/180);var text=title.Low;this.Canvas.font=this.TextFont;if(title.LowColor)this.Canvas.fillStyle=title.LowColor;else this.Canvas.fillStyle=this.TextColor;this.Canvas.textAlign=ptMin.Align;this.Canvas.textBaseline='top';//var text=ptMin.Value.toFixed(defaultfloatPrecision);
|
|
4075
4075
|
if(ptMin.Align=='left')text=leftArrow+text;else text=text+rightArrow;this.Canvas.fillText(text,0,0);this.Canvas.restore();};//画某一天的信息地雷
|
|
4076
4076
|
this.DrawInfo=function(item){if(!this.InfoData||this.InfoData.size<=0)return;var isHScreen=this.ChartFrame.IsHScreen===true;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var bottom=this.ChartBorder.GetBottom();var top=this.ChartBorder.GetTop();var topTitle=this.ChartBorder.GetTopTitle();var key=''+item.DayData.Date;if(this.Data.DataType==1)key=item.DayData.Date+'-'+item.DayData.Time;if(!this.InfoData.has(key))return;var infoData=this.InfoData.get(key);if(!infoData||infoData.Data.length<=0)return;this.Canvas.restore();this.Canvas.save();this.ClipWindow(isHScreen);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
4077
|
-
var iconDySize=dataWidth+distanceWidth;var minIconSize=18*pixelTatio;var maxIconSize=25*pixelTatio;if(g_JSChartResource.KLine.Info&&IFrameSplitOperator.IsNumber(g_JSChartResource.KLine.Info.MaxSize))maxIconSize=g_JSChartResource.KLine.Info.MaxSize;if(g_JSChartResource.KLine.Info&&IFrameSplitOperator.IsNumber(g_JSChartResource.KLine.Info.MinSize))minIconSize=g_JSChartResource.KLine.Info.MinSize;var bShowNum=true;if(iconDySize<=15)bShowNum=false;if(iconDySize<minIconSize)iconDySize=minIconSize;else if(iconDySize>maxIconSize)iconDySize=maxIconSize;var text='',title='';var mapImage=new _map2.default();var iconTop=item.YMax+1*pixelTatio;var iconBottom=item.YMin+1*pixelTatio+iconSize;var drawTop=true;var yOffset=0;for(var i in infoData.Data){var infoItem=infoData.Data[i];var imageInfo=mapImage.get(infoItem.InfoType);if(!imageInfo){var icon=JSKLineInfoMap.GetIconFont(infoItem.InfoType);this.Canvas.fillStyle=icon.Color;var iconSize=iconDySize;if(IFrameSplitOperator.IsNumber(icon.Size))iconSize=icon.Size;//固定大小
|
|
4077
|
+
var iconDySize=dataWidth+distanceWidth;var minIconSize=18*pixelTatio;var maxIconSize=25*pixelTatio;if(g_JSChartResource.KLine.Info&&IFrameSplitOperator.IsNumber(g_JSChartResource.KLine.Info.MaxSize))maxIconSize=g_JSChartResource.KLine.Info.MaxSize;if(g_JSChartResource.KLine.Info&&IFrameSplitOperator.IsNumber(g_JSChartResource.KLine.Info.MinSize))minIconSize=g_JSChartResource.KLine.Info.MinSize;var bShowNum=true;if(iconDySize<=15)bShowNum=false;if(iconDySize<minIconSize)iconDySize=minIconSize;else if(iconDySize>maxIconSize)iconDySize=maxIconSize;var text='',title='';var mapImage=new _map2.default();var iconTop=item.YMax+1*pixelTatio;var iconBottom=item.YMin+1*pixelTatio+iconSize;var drawTop=true;var yOffset=0,yTopOffset=0;for(var i in infoData.Data){var infoItem=infoData.Data[i];var imageInfo=mapImage.get(infoItem.InfoType);if(!imageInfo){var icon=JSKLineInfoMap.GetIconFont(infoItem.InfoType);this.Canvas.fillStyle=icon.Color;var iconSize=iconDySize;if(IFrameSplitOperator.IsNumber(icon.Size))iconSize=icon.Size;//固定大小
|
|
4078
4078
|
this.Canvas.font=iconSize+'px '+icon.Family;var infoPosition=this.InfoPosition;if(IFrameSplitOperator.IsNumber(icon.Position))infoPosition=icon.Position;//固定输出位置
|
|
4079
4079
|
var bShowNumber=true;if(IFrameSplitOperator.IsBool(icon.IsShowNumber))bShowNumber=icon.IsShowNumber;if(isHScreen){this.Canvas.textBaseline="middle";this.Canvas.textAlign="left";this.Canvas.fillText(icon.HScreenText,iconTop,item.XCenter,iconSize);var iconRect=new Rect(item.XCenter-iconSize/2,iconTop-iconSize,iconSize,iconSize);var infoCache={Data:new Array(infoItem),Rect:iconRect,Type:infoItem.InfoType,TextRect:{X:iconTop,Y:item.XCenter},IsShowNumber:bShowNumber};mapImage.set(infoItem.InfoType,infoCache);iconTop+=iconSize;}else{this.Canvas.textBaseline="bottom";this.Canvas.textAlign="center";if(infoPosition===1)//底部
|
|
4080
|
-
{var yBottom=bottom+yOffset;
|
|
4081
|
-
{var yBottom=topTitle+iconSize+1;
|
|
4082
|
-
{
|
|
4080
|
+
{var yBottom=bottom+yOffset;var iconRect=new Rect(item.XCenter-iconSize/2,yBottom-iconSize,iconSize,iconSize);this.DrawInfoIcon(item,icon,iconRect);var infoCache={Data:new Array(infoItem),Rect:iconRect,Type:infoItem.InfoType,TextRect:{X:item.XCenter,Y:yBottom},IsShowNumber:bShowNumber};mapImage.set(infoItem.InfoType,infoCache);yOffset-=iconSize;}else if(infoPosition===2)//顶部
|
|
4081
|
+
{var yBottom=topTitle+iconSize+1+yTopOffset;var iconRect=new Rect(item.XCenter-iconSize/2,yBottom-iconSize,iconSize,iconSize);this.DrawInfoIcon(item,icon,iconRect);var infoCache={Data:new Array(infoItem),Rect:iconRect,Type:infoItem.InfoType,TextRect:{X:item.XCenter,Y:yBottom},IsShowNumber:bShowNumber};mapImage.set(infoItem.InfoType,infoCache);yTopOffset+=iconSize;}else{if(drawTop)//K线上面
|
|
4082
|
+
{var iconRect=new Rect(item.XCenter-iconSize/2,iconTop-iconSize,iconSize,iconSize);this.DrawInfoIcon(item,icon,iconRect);var infoCache={Data:new Array(infoItem),Rect:iconRect,Type:infoItem.InfoType,TextRect:{X:item.XCenter,Y:iconTop},IsShowNumber:bShowNumber};mapImage.set(infoItem.InfoType,infoCache);iconTop-=iconSize;if(iconTop-iconSize<top)drawTop=false;}else//上面显示不下,就显示在K线下面
|
|
4083
|
+
{var iconRect=new Rect(item.XCenter-iconSize/2,iconBottom-iconSize,iconSize,iconSize);this.DrawInfoIcon(item,icon,iconRect);var infoCache={Data:new Array(infoItem),Rect:iconRect,Type:infoItem.InfoType,TextRect:{X:item.XCenter,Y:iconBottom},IsShowNumber:bShowNumber};mapImage.set(infoItem.InfoType,infoCache);iconBottom+=iconSize;}}}}else{imageInfo.Data.push(infoItem);}}var numText;if(g_JSChartResource.KLine.NumIcon){if(isHScreen)numText=g_JSChartResource.KLine.NumIcon.HScreenText;else numText=g_JSChartResource.KLine.NumIcon.Text;}var _iteratorNormalCompletion5=true;var _didIteratorError5=false;var _iteratorError5=undefined;try{for(var _iterator5=(0,_getIterator3.default)(mapImage),_step5;!(_iteratorNormalCompletion5=(_step5=_iterator5.next()).done);_iteratorNormalCompletion5=true){var item=_step5.value;var value=item[1];if(value.Data.length>=2&&numText&&bShowNum&&value.IsShowNumber)//太小了 就不显示了
|
|
4083
4084
|
{var iconID=value.Data.length;if(iconID>=numText.length)iconID=0;this.Canvas.fillStyle=g_JSChartResource.KLine.NumIcon.Color;var text=numText[iconID];this.Canvas.fillText(text,value.TextRect.X,value.TextRect.Y,iconSize);}if(!isHScreen)this.InfoTooltipRect.push(value);//横屏没有tooltip
|
|
4084
|
-
}}catch(err){_didIteratorError5=true;_iteratorError5=err;}finally{try{if(!_iteratorNormalCompletion5&&_iterator5.return){_iterator5.return();}}finally{if(_didIteratorError5){throw _iteratorError5;}}}this.Canvas.restore();this.Canvas.save();this.ClipClient(isHScreen);};//画交易图标
|
|
4085
|
+
}}catch(err){_didIteratorError5=true;_iteratorError5=err;}finally{try{if(!_iteratorNormalCompletion5&&_iterator5.return){_iterator5.return();}}finally{if(_didIteratorError5){throw _iteratorError5;}}}this.Canvas.restore();this.Canvas.save();this.ClipClient(isHScreen);};this.DrawInfoIcon=function(item,iconItem,rtIcon){if(iconItem.BGColor){this.Canvas.fillStyle=iconItem.BGColor;this.Canvas.fillRect(rtIcon.X,rtIcon.Y,rtIcon.Width,rtIcon.Height);}this.Canvas.fillStyle=iconItem.Color;this.Canvas.fillText(iconItem.Text,item.XCenter,rtIcon.Y+rtIcon.Height,rtIcon.Width);};//画交易图标
|
|
4085
4086
|
this.DrawTradeIcon=function(){if(!this.TradeData)return;var isHScreen=this.ChartFrame.IsHScreen===true;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xOffset=this.ChartBorder.GetLeft()+distanceWidth/2.0+2.0;var chartright=this.ChartBorder.GetRight();var xPointCount=this.ChartFrame.XPointCount;if(isHScreen){xOffset=this.ChartBorder.GetTop()+distanceWidth/2.0+2.0;chartright=this.ChartBorder.GetBottom();}var sellData=this.TradeData.Sell;var buyData=this.TradeData.Buy;var iconSize=dataWidth+distanceWidth;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
4086
4087
|
var iconSizeMax=24*pixelTatio,iconSizeMin=12*pixelTatio;if(iconSize<iconSizeMin)iconSize=iconSizeMin;else if(iconSize>iconSizeMax)iconSize=iconSizeMax;this.Canvas.font=iconSize+'px '+this.TradeIcon.Family;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var data=this.Data.Data[i];if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var buy=false,sell=false;if(sellData&&i<sellData.length)sell=sellData[i]>0;if(buyData&&i<buyData.length)buy=buyData[i]>0;if(!sell&&!buy)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);var yOpen=this.GetYFromData(data.Open,false);var yClose=this.GetYFromData(data.Close,false);var y=yHigh;if(buy){this.Canvas.fillStyle=this.TradeIcon.Buy.Color;if(isHScreen){this.Canvas.textAlign='right';this.Canvas.textBaseline='middle';this.Canvas.fillText(this.TradeIcon.Buy.HScreenText,yLow,x);}else{this.Canvas.textAlign='center';this.Canvas.textBaseline='top';this.Canvas.fillText(this.TradeIcon.Buy.Text,x,yLow);var iconRect=new Rect(x-iconSize/2,yLow,iconSize,iconSize);var iconData={Data:{Type:1,KData:data,Name:this.TradeData.Name,Param:this.TradeData.Param},Rect:iconRect,TextRect:{X:x,Y:yLow}};this.TradeIconTooltipRect.push(iconData);}}if(sell){this.Canvas.fillStyle=this.TradeIcon.Sell.Color;if(isHScreen){this.Canvas.textAlign='left';this.Canvas.textBaseline='middle';this.Canvas.fillText(this.TradeIcon.Sell.HScreenText,yHigh,x);}else{this.Canvas.textAlign='center';this.Canvas.textBaseline='bottom';this.Canvas.fillText(this.TradeIcon.Sell.Text,x,yHigh);var iconRect=new Rect(x-iconSize/2,yHigh-iconSize,iconSize,iconSize);var iconData={Data:{Type:2,KData:data,Name:this.TradeData.Name,Param:this.TradeData.Param},Rect:iconRect,TextRect:{X:x,Y:yHigh}};this.TradeIconTooltipRect.push(iconData);}}}};this.GetTooltipData=function(x,y,tooltip){if(!this.IsShow)return false;for(var i in this.TradeIconTooltipRect){var item=this.TradeIconTooltipRect[i];if(!item.Rect)continue;var rect=item.Rect;var left=rect.X,top=rect.Y;var right=left+rect.Width;var bottom=top+rect.Height;if(x>=left&&x<=right&&y>=top&&y<=bottom){JSConsole.Chart.Log('[ChartKLine::GetTooltipData] trade icon ',item);tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=2;//指标
|
|
4087
4088
|
return true;}}for(var i in this.InfoTooltipRect){var item=this.InfoTooltipRect[i];if(!item.Rect)continue;var rect=item.Rect;var left=rect.X,top=rect.Y;var right=left+rect.Width;var bottom=top+rect.Height;if(x>=left&&x<=right&&y>=top&&y<=bottom){//JSConsole.Chart.Log('[ChartKLine::GetTooltipData] info ', item);
|
|
@@ -8723,11 +8724,12 @@ var item=windows[i];if(!item)continue;if(item.Script){this.WindowIndex[i]=new Sc
|
|
|
8723
8724
|
{obj.Update=true;}else{if(this.ChartPaint.length>0){var klinePaint=this.ChartPaint[0];klinePaint.InfoData=new _map2.default();}obj.Update=false;}//信息地雷信息
|
|
8724
8725
|
if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartInfo))return;for(var i=0;i<this.ChartInfo.length;++i){this.ChartInfo[i].RequestData(this,obj);}};//设置K线信息地雷
|
|
8725
8726
|
this.SetKLineInfo=function(aryInfo,bUpdate){this.ChartInfo=[];//先清空
|
|
8726
|
-
for(var i in aryInfo){var infoItem=JSKLineInfoMap.Get(aryInfo[i]);if(!infoItem)continue;var item=infoItem.Create();item.MaxRequestDataCount=this.MaxRequestDataCount;this.ChartInfo.push(item);}if(bUpdate==true)this.ReqeustKLineInfoData({FunctionName:"SetKLineInfo"});}
|
|
8727
|
-
this.
|
|
8728
|
-
return;}
|
|
8729
|
-
}
|
|
8730
|
-
|
|
8727
|
+
for(var i in aryInfo){var infoItem=JSKLineInfoMap.Get(aryInfo[i]);if(!infoItem)continue;var item=infoItem.Create();item.MaxRequestDataCount=this.MaxRequestDataCount;this.ChartInfo.push(item);}if(bUpdate==true)this.ReqeustKLineInfoData({FunctionName:"SetKLineInfo"});};//option={ ClassName:, Name: }
|
|
8728
|
+
this.GetKLineInfo=function(option){if(!option)return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartInfo))return null;var className=null;if(option.Name){var classInfo=JSKLineInfoMap.GetClassInfo(option.Name);if(classInfo)className=classInfo.ClassName;}if(!className)return null;for(var i=0;i<this.ChartInfo.length;++i){var item=this.ChartInfo[i];if(item.ClassName==className)//已经存在
|
|
8729
|
+
return item;}return null;};//添加信息地雷
|
|
8730
|
+
this.AddKLineInfo=function(infoName,bUpdate){var item=this.GetKLineInfo({Name:infoName});if(item)return;var infoItem=JSKLineInfoMap.Get(infoName);if(!infoItem){console.warn('[KLineChartContainer::AddKLineInfo] can\'t find infoName='+infoName);return;}var item=infoItem.Create();item.MaxRequestDataCount=this.MaxRequestDataCount;this.ChartInfo.push(item);if(bUpdate==true){item.RequestData(this);//信息地雷信息
|
|
8731
|
+
}};//更新信息地雷列表 Option :{ InsertNew:, 如果没有找到对应的地雷,是否插入新的地雷, Update:是否立即请求数据 }
|
|
8732
|
+
this.UpdateKLineInfo=function(infoName,option){var bInsertNew=false,bUpdate=false;if(option){if(IFrameSplitOperator.IsBoolean(option.InsertNew))bInsertNew=option.InsertNew;if(IFrameSplitOperator.IsBoolean(option.Update))bUpdate=option.Update;}var finder=this.GetKLineInfo({Name:infoName});if(!finder){if(bInsertNew===true){var infoItem=JSKLineInfoMap.Get(infoName);if(!infoItem){console.warn('[KLineChartContainer::UpdateKLineInfo] can\'t find infoname='+infoName);return;}var item=infoItem.Create();item.MaxRequestDataCount=this.MaxRequestDataCount;this.ChartInfo.push(item);finder=item;}else{return;}}if(bUpdate==true)finder.RequestData(this);//信息地雷信息
|
|
8731
8733
|
};//删除信息地理
|
|
8732
8734
|
this.DeleteKLineInfo=function(infoName){var classInfo=JSKLineInfoMap.GetClassInfo(infoName);if(!classInfo){console.warn("[KLineChartContainer::DeleteKLineInfo] can't find infoname=",infoName);return;}for(var i=0;i<this.ChartInfo.length;++i){var item=this.ChartInfo[i];if(item.ClassName==classInfo.ClassName){this.ChartInfo.splice(i,1);this.UpdataChartInfo();this.Draw();break;}}};//清空所有的信息地理
|
|
8733
8735
|
this.ClearKLineInfo=function(){if(!this.ChartInfo||this.ChartInfo.length<=0)return;this.ChartInfo=[];var klinePaint=this.ChartPaint[0];klinePaint.InfoData=null;this.Draw();};//增加叠加股票
|
|
@@ -10914,7 +10916,8 @@ if(item.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM&&frame&&frame.ModifyIndex===fal
|
|
|
10914
10916
|
this.CreateArrayButton(aryButton);//重新创建
|
|
10915
10917
|
this.UpdateStyle();};this.UpdateButton=function(){if(!this.DivToolbar)return;var aryButton=this.GetShowButtons();var bChange=false;if(aryButton.length!=this.AryButton.length){bChange=true;}else{for(var i=0;i<this.AryButton.length;++i){var leftItem=this.AryButton[i];var rightItem=aryButton[i];if(leftItem.ID!=rightItem.ID||leftItem.ClassName!=rightItem.ClassName){bChange=true;break;}}}if(!bChange)return;this.SetToolbar(aryButton);//重新设置按钮
|
|
10916
10918
|
};this.Destroy=function(){this.HideTooltip();if(this.DivToolbar){if(this.DivHQChart.removeChild)this.DivHQChart.removeChild(this.DivToolbar);this.DivToolbar=null;}this.HQChart=null;this.DivHQChart=null;this.FrameID=-1;};this.Create=function(frame){var divToolbar=document.createElement("div");divToolbar.className='UMyChart_FrameToolbar_Div';divToolbar.id=this.ID;divToolbar.oncontextmenu=function(){return false;};//屏蔽右键系统菜单
|
|
10917
|
-
this.DivToolbar=divToolbar;var aryButtons=this.GetShowButtons(frame);this.CreateArrayButton(aryButtons);this.DivHQChart.appendChild(divToolbar);this.UpdateStyle();if(!this.HQChart.JSToolbarTooltip){this.HQChart.JSToolbarTooltip=new JSToolbarTooltip();this.HQChart.JSToolbarTooltip.DivHQChart=this.DivHQChart;this.HQChart.JSToolbarTooltip.Create();}};this.
|
|
10919
|
+
this.DivToolbar=divToolbar;var aryButtons=this.GetShowButtons(frame);this.CreateArrayButton(aryButtons);this.DivHQChart.appendChild(divToolbar);this.UpdateStyle();if(!this.HQChart.JSToolbarTooltip){this.HQChart.JSToolbarTooltip=new JSToolbarTooltip();this.HQChart.JSToolbarTooltip.DivHQChart=this.DivHQChart;this.HQChart.JSToolbarTooltip.Create();}};this.IsParentShow=function(){if(!this.DivHQChart)return false;var style=window.getComputedStyle(this.DivHQChart);// 判断:display 不是 none,且 visibility 不是 hidden,且 opacity 不是 0
|
|
10920
|
+
return style.display!=='none'&&style.visibility!=='hidden'&&parseFloat(style.opacity)!==0;};this.UpdateStyle=function(){if(!this.DivToolbar)return;};this.ReloadResource=function(option){this.UpdateStyle();};this.CreateButton=function(item,divDom){var _this50=this;var btnDiv=document.createElement("div");btnDiv.className="UMyChart_FrameToolbar_Div_Button";btnDiv.onmouseover=function(e){_this50.OnHoverButton(e,item);};btnDiv.onmouseout=function(e){_this50.OnLeaveButton(e,item);};item.Div=btnDiv;var spanDom=document.createElement("span");spanDom.className=item.ClassName;spanDom.onmousedown=function(e){_this50.OnClickButton(e,item);};if(item.SpanText)spanDom.innerText=item.SpanText;item.Span=spanDom;btnDiv.appendChild(spanDom);divDom.appendChild(btnDiv);};this.OnClickButton=function(e,item){if(!this.FrameID<0)return;if(!this.HQChart)return;var frame=this.HQChart.Frame.SubFrame[this.FrameID].Frame;var button={ID:item.ID,Frame:frame,FrameID:this.FrameID};this.HQChart.ClickFrameButton(button,e);};this.OnHoverButton=function(e,item){if(!item.Span)return;this.ShowTooltip(e,item);};this.OnLeaveButton=function(e,item){if(!item.Span)return;this.HideTooltip();};this.Show=function(frameID){this.FrameID=frameID;if(!this.FrameID<0)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.HQChart.Frame.SubFrame))return;if(!this.HQChart.Frame.SubFrame[this.FrameID])return;var pixelTatio=GetDevicePixelRatio();var frame=this.HQChart.Frame.SubFrame[this.FrameID].Frame;var border=frame.GetBorder();var rtClient=this.HQChart.UIElement.getBoundingClientRect();var top=border.Top/pixelTatio;var right=border.RightEx/pixelTatio;var left=right-this.DivToolbar.offsetWidth-2;if(this.Top!=top||this.Left!=left){this.DivToolbar.style.top=top+"px";this.DivToolbar.style.left=left+"px";this.DivToolbar.style.height=frame.ChartBorder.TitleHeight/pixelTatio+"px";this.Top=top;this.Left=left;}if(this.DivToolbar.style.visibility!='visible')this.DivToolbar.style.visibility='visible';};this.Hide=function(){if(this.DivToolbar)this.DivToolbar.style.visibility="hidden";};this.HideTooltip=function(){if(this.HQChart.JSToolbarTooltip)this.HQChart.JSToolbarTooltip.Hide();};this.ShowTooltip=function(e,item){if(!this.HQChart.JSToolbarTooltip)return;if(!item.Div)return;var rtButton=item.Div.getBoundingClientRect();var rtHQChart=this.DivHQChart.getBoundingClientRect();var left=rtButton.left;var top=rtButton.bottom+2;var left=rtButton.left-rtHQChart.left;var top=this.DivToolbar.offsetHeight+this.DivToolbar.offsetTop;this.HQChart.JSToolbarTooltip.Show(top,left,{Text:item.Tooltip.Text});};}JSDivFrameToolbar.GetDfaultButtons=function(frame){var aryButton=[{ID:JSCHART_BUTTON_ID.INDEX_AI_ANALYZE,ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-ai",Tooltip:{Text:"AI分析指标"},Span:null,Div:null,TooltipSpan:null},{ID:JSCHART_BUTTON_ID.INDEX_HELP,ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-help",Tooltip:{Text:"帮助"},Span:null,Div:null,TooltipSpan:null},{ID:JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM,ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-index_param",Tooltip:{Text:"修改参数"},Span:null,Div:null,TooltipSpan:null},{ID:JSCHART_BUTTON_ID.CHANGE_INDEX,ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-change_index",Tooltip:{Text:"切换指标"},Span:null,Div:null,TooltipSpan:null},{ID:JSCHART_BUTTON_ID.OVERLAY_INDEX,ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-overlay_index",Tooltip:{Text:"叠加指标"},Span:null,Div:null,TooltipSpan:null},{ID:JSCHART_BUTTON_ID.ADD_INDEX_WINDOW,ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-add",Tooltip:{Text:"增加指标窗口"},Span:null,Div:null,TooltipSpan:null},{ID:JSCHART_BUTTON_ID.TITLE_WINDOW,ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-Title",Tooltip:{Text:"标题模式"},Span:null,Div:null,TooltipSpan:null},{ID:JSCHART_BUTTON_ID.MAX_MIN_WINDOW,ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-maxmize-",Tooltip:{Text:"放大缩小"},Span:null,Div:null,TooltipSpan:null},{ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW,ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-close",Tooltip:{Text:"关闭窗口"},Span:null,Div:null,TooltipSpan:null}];return aryButton;};//DOM工厂类
|
|
10918
10921
|
function JSDOMFactory(){//[key:name, { Create:function(divElement) { return new class(divElement); }} ]
|
|
10919
10922
|
this.DataMap=new _map2.default([["JSDivFrameToolbar",{Create:function Create(option){return new JSDivFrameToolbar(option);}}]]);this.Create=function(name,option){if(!this.DataMap.has(name)){JSConsole.Chart.Warn('[JSDOMFactory::Create] can\'t find class='+name+'.');return null;}var item=this.DataMap.get(name);return item.Create(option);};this.Add=function(name,option){this.DataMap.set(name,{Create:option.Create});};}var g_JSDOMFactory=new JSDOMFactory();function JSToolbarTooltip(){this.DivTooltip=null;this.DivHQChart=null;this.Text=null;this.Left=-1;this.Top=-1;this.Create=function(){var divDom=document.createElement("div");divDom.className='UMyChart_Toolbar_Tooltip_Div';this.DivHQChart.appendChild(divDom);this.DivTooltip=divDom;this.UpdateStyle();};this.ReloadResource=function(option){this.UpdateStyle();};this.UpdateStyle=function(){if(!this.DivTooltip)return;};this.Show=function(top,left,tooltipData){if(!this.DivTooltip)return;if(this.Text!=tooltipData.Text)this.DivTooltip.innerHTML=tooltipData.Text;var right=left+this.DivTooltip.offsetWidth;if(right+5>=window.innerWidth)left=left-this.DivTooltip.offsetWidth;if(this.Top!=top||this.Left!=left){this.DivTooltip.style.top=top+"px";this.DivTooltip.style.left=left+"px";this.Top=top;this.Left=left;}if(this.DivTooltip.style.visibility!='visible')this.DivTooltip.style.visibility='visible';};this.Hide=function(){if(!this.DivTooltip)return;if(this.DivTooltip.style["visibility"]!='hidden')this.DivTooltip.style["visibility"]="hidden";};}/*
|
|
10920
10923
|
Copyright (c) 2018 jones
|
|
@@ -15659,13 +15662,13 @@ this.OnCreatedCallback=null;this.KLine={Option:JSTooltipKLineChart.GetKLineOptio
|
|
|
15659
15662
|
this.KLine.Option=(0,_assign2.default)(this.KLine.Option,item);if(IFrameSplitOperator.IsNonEmptyArray(option.Option.EventCallback))this.KLine.Option.EventCallback=option.Option.EventCallback;}if(option.OnCreatedCallback)this.OnCreatedCallback=option.OnCreatedCallback;}};this.Create=function(){var _this104=this;var divDom=document.createElement('div');divDom.className='UMyChart_Tooltip_KLine_Div';divDom.id=this.ID;var divChart=document.createElement('div');divChart.className='UMyChart_Tooltip_KLine_Chart_Div';divDom.appendChild(divChart);this.DivDialog=divDom;var chart=JSChart.Init(divChart);this.KLine.JSChart=chart;//语言跟主图保持一致
|
|
15660
15663
|
if(this.HQChart)this.KLine.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);this.KLine.Option.OnCreatedCallback=function(chart){_this104.OnCreateHQChart(chart);};this.KLine.Option.NetworkFilter=function(data,callback){_this104.NetworkFilter(data,callback);};var reloadResourceEvent={event:JSCHART_EVENT_ID.ON_RELOAD_RESOURCE,callback:function callback(event,data,obj){_this104.LoadChartResource(obj);}};var splitXEvent={event:JSCHART_EVENT_ID.ON_SPLIT_XCOORDINATE,callback:function callback(event,data,obj){_this104.OnSplitXCoordinate(event,data,obj);}};var splitYEvent={event:JSCHART_EVENT_ID.ON_SPLIT_YCOORDINATE,callback:function callback(event,data,obj){_this104.OnSplitYCoordinate(event,data,obj);}};if(Array.isArray(this.KLine.Option.EventCallback)){this.KLine.Option.EventCallback.unshift(reloadResourceEvent,splitYEvent,splitYEvent);}else{this.KLine.Option.EventCallback=[reloadResourceEvent,splitXEvent,splitYEvent];}chart.SetOption(this.KLine.Option);//设置K线配置
|
|
15661
15664
|
document.body.appendChild(divDom);this.UpdateStyle();if(!this.KLine.Option.EnableResize){if(this.KLine.JSChart)this.KLine.JSChart.OnSize({Type:1});}};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;};this.NetworkFilter=function(data,callback){if(!this.HQChart||!this.HQChart.NetworkFilter)return;this.HQChart.NetworkFilter(data,callback);};this.OnCreateHQChart=function(chart){this.LoadChartResource(chart);if(this.OnCreatedCallback)this.OnCreatedCallback(chart);};this.Destroy=function(){if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);}this.DivDialog=null;this.TitleBox=null;if(!this.KLine.JSChart)this.KLine.JSChart.ChartDestory();this.KLine.JSChart=null;};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.Show=function(data,x,y){if(!this.DivDialog)this.Create();if(!data||!data.Symbol)return;var symbol=data.Symbol;if(this.KLine.JSChart){if(this.KLine.Symbol!=symbol){this.KLine.Symbol=symbol;this.KLine.JSChart.ChangeSymbol(symbol);}}if(IFrameSplitOperator.IsNumberV2(x,y)){}else if(data.Rect){var rtCell=data.Rect;var pixelRatio=GetDevicePixelRatio();var rtItem={Left:rtCell.Left/pixelRatio,Right:rtCell.Right/pixelRatio,Bottom:rtCell.Bottom/pixelRatio,Top:rtCell.Top/pixelRatio};rtItem.Width=rtItem.Right-rtItem.Left;rtItem.Height=rtItem.Bottom-rtItem.Top;//超出窗口调整位置
|
|
15662
|
-
var height=this.DivDialog.offsetHeight;var width=this.DivDialog.offsetWidth;var x=rtItem.Right+data.Offset.Left;var y=rtItem.Bottom+data.Offset.Top;var xRight=window.innerWidth-5;var ybottom=window.innerHeight-5;if(x+width>xRight)x=rtItem.Left+data.Offset.Left-width;if(y+height>ybottom)y=rtItem.Top+data.Offset.Top-height;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";}};this.Hide=function(){if(!this.DivDialog)return;if(this.DivDialog.style.visibility!='hidden')this.DivDialog.style.visibility='hidden';};this.ReloadResource=function(option){this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;this.TitleFont=g_JSChartResource.PopMinuteChart.Title.Font;//指标标题字体
|
|
15665
|
+
var height=this.DivDialog.offsetHeight;var width=this.DivDialog.offsetWidth;var x=rtItem.Right+data.Offset.Left;var y=rtItem.Bottom+data.Offset.Top;var xRight=window.innerWidth-5;var ybottom=window.innerHeight-5;if(x+width>xRight)x=rtItem.Left+data.Offset.Left-width;if(y+height>ybottom)y=rtItem.Top+data.Offset.Top-height;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";}};this.Hide=function(){if(!this.DivDialog)return;if(this.DivDialog.style.visibility!='hidden')this.DivDialog.style.visibility='hidden';if(this.KLine.JSChart)this.KLine.JSChart.HideDivFrameToolbar();};this.ReloadResource=function(option){this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;this.TitleFont=g_JSChartResource.PopMinuteChart.Title.Font;//指标标题字体
|
|
15663
15666
|
this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font;//十字光标
|
|
15664
15667
|
this.FrameSplitTextFont=g_JSChartResource.PopMinuteChart.Frame.Font;//刻度文字
|
|
15665
15668
|
if(!this.DivDialog)return;this.UpdateStyle();if(this.KLine.JSChart)this.KLine.JSChart.ReloadResource(option);};this.LoadChartResource=function(chart){if(IFrameSplitOperator.IsNonEmptyArray(chart.TitlePaint)){for(var i=0;i<chart.TitlePaint.length;++i){var item=chart.TitlePaint[i];if(!item)continue;item.Font=this.TitleFont;}}if(IFrameSplitOperator.IsNonEmptyArray(chart.WindowIndex)){for(var i=0;i<chart.WindowIndex.length;++i)//去掉指标里面的字体
|
|
15666
15669
|
{var item=chart.WindowIndex[i];if(!item)continue;item.TitleFont=null;}}if(chart.ChartCorssCursor){chart.ChartCorssCursor.Font=this.CorssCursorFont;}};this.OnSplitXCoordinate=function(event,data,obj){var frame=data.Frame;if(IFrameSplitOperator.IsNonEmptyArray(frame.VerticalInfo)){for(var i=0;i<frame.VerticalInfo.length;++i){var item=frame.VerticalInfo[i];if(!item)continue;if(item.Font)item.Font=this.FrameSplitTextFont;}}};this.OnSplitYCoordinate=function(event,data,obj){var frame=data.Frame;if(IFrameSplitOperator.IsNonEmptyArray(frame.HorizontalInfo)){for(var i=0;i<frame.HorizontalInfo.length;++i){var item=frame.HorizontalInfo[i];if(!item)continue;if(item.Font)item.Font=this.FrameSplitTextFont;}}};}JSTooltipKLineChart.GetKLineOption=function(){var option={Type:'历史K线图',//创建图形类型
|
|
15667
15670
|
Windows://窗口指标
|
|
15668
|
-
[{Index:"MA",Change:false,Modify:false},{Index:"MACD",Close:false,Change:false,Modify:false,MaxMin:false,TitleWindow:false}],//Language:'EN',
|
|
15671
|
+
[{Index:"MA",Change:false,Modify:false,TitleWindow:false},{Index:"MACD",Close:false,Change:false,Modify:false,MaxMin:false,TitleWindow:false}],//Language:'EN',
|
|
15669
15672
|
Symbol:null,IsAutoUpdate:false,//是自动更新数据
|
|
15670
15673
|
AutoUpdateFrequency:3000,//数据更新频率
|
|
15671
15674
|
SplashTitle:'加载数据中......',IsShowRightMenu:false,//右键菜单
|
|
@@ -16396,7 +16399,7 @@ if(this.MouseOnItem){if(this.MouseOnItem.Data==item)color=this.TextConfig.MouseO
|
|
|
16396
16399
|
*/this.Canvas.restore();this.ResizeDataCount(endIndex);};this.ResizeDataCount=function(startIndex){if(!IFrameSplitOperator.IsNumber(startIndex))return;if(startIndex<=0)return;if(this.LimitCount<=0)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.AryText))return;if(this.Data.AryText.length<=this.LimitCount)return;var delCount=this.Data.AryText.length-this.LimitCount;for(var i=0;i<delCount&&i<startIndex;++i){this.Data.AryText.shift();}};this.GetTooltipData=function(x,y,tooltip){var rtClient=this.GetClientRect();if(x>=rtClient.Left&&x<=rtClient.Right){for(var i=0;i<this.AryRect.length;++i){var item=this.AryRect[i];if(Path2DHelper.PtInRect(x,y,item.Rect)){tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=1;return true;}}}return false;};this.ScrollStep=function(defaultStep){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.AryText))return false;if(!this.FirstItem)return false;var moveStep=this.MoveStep;if(IFrameSplitOperator.IsNumber(defaultStep))moveStep=defaultStep;var rtClient=this.GetClientRect();var left=rtClient.Left;var right=rtClient.Right;var width=this.FirstItem.Move.Width;var xOffset=this.FirstItem.Move.XOffset+moveStep;if(right-xOffset+width<left){var startIndex=this.GetDataIndex(this.FirstItem);nextIndex=startIndex-1;if(nextIndex<0){var index=this.Data.AryText.length-1;this.FirstItem=this.Data.AryText[index];this.FirstItem.Move={XOffset:0};}else{this.FirstItem=this.Data.AryText[nextIndex];this.FirstItem.Move={XOffset:xOffset-width};}}else{this.FirstItem.Move.XOffset=xOffset;}return true;};}/********************************************************************************
|
|
16397
16400
|
* 版本信息输出
|
|
16398
16401
|
*
|
|
16399
|
-
*/var HQCHART_VERSION="1.1.
|
|
16402
|
+
*/var HQCHART_VERSION="1.1.15822";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
16400
16403
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
16401
16404
|
// BaseIndex:BaseIndex,
|
|
16402
16405
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -6521,6 +6521,15 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
6521
6521
|
return this.JSChartContainer.GetGraphicsDescription(option);
|
|
6522
6522
|
}
|
|
6523
6523
|
}
|
|
6524
|
+
|
|
6525
|
+
this.HideDivFrameToolbar=function()
|
|
6526
|
+
{
|
|
6527
|
+
if(this.JSChartContainer && typeof(this.JSChartContainer.HideDivFrameToolbar)=='function')
|
|
6528
|
+
{
|
|
6529
|
+
JSConsole.Chart.Log('[JSChart:HideDivFrameToolbar] ');
|
|
6530
|
+
return this.JSChartContainer.HideDivFrameToolbar();
|
|
6531
|
+
}
|
|
6532
|
+
}
|
|
6524
6533
|
}
|
|
6525
6534
|
|
|
6526
6535
|
JSChart.LastVersion=null; //最新的版本号
|
|
@@ -17525,6 +17534,11 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
17525
17534
|
|
|
17526
17535
|
return false;
|
|
17527
17536
|
}
|
|
17537
|
+
|
|
17538
|
+
this.HideDivFrameToolbar=function()
|
|
17539
|
+
{
|
|
17540
|
+
this.Frame.HideDivFrameToolbar();
|
|
17541
|
+
}
|
|
17528
17542
|
}
|
|
17529
17543
|
|
|
17530
17544
|
function GetDevicePixelRatio()
|
|
@@ -21528,8 +21542,15 @@ function MinuteFrame()
|
|
|
21528
21542
|
if (g_JSChartResource.IsDOMFrameToolbar===true) bDraw=false;
|
|
21529
21543
|
if (!this.DivFrameToolbar) return;
|
|
21530
21544
|
|
|
21531
|
-
if (!bDraw)
|
|
21532
|
-
|
|
21545
|
+
if (!bDraw)
|
|
21546
|
+
{
|
|
21547
|
+
this.HideToolbar();
|
|
21548
|
+
}
|
|
21549
|
+
else
|
|
21550
|
+
{
|
|
21551
|
+
if (this.DivFrameToolbar.IsParentShow()) this.DivFrameToolbar.Show(this.Identify);
|
|
21552
|
+
else this.HideToolbar();
|
|
21553
|
+
}
|
|
21533
21554
|
}
|
|
21534
21555
|
|
|
21535
21556
|
//手绘,不用DOM,使用DOM太麻烦了
|
|
@@ -23786,8 +23807,15 @@ function KLineFrame()
|
|
|
23786
23807
|
if (g_JSChartResource.IsDOMFrameToolbar===true) bDraw=false;
|
|
23787
23808
|
if (!this.DivFrameToolbar) return;
|
|
23788
23809
|
|
|
23789
|
-
if (!bDraw)
|
|
23790
|
-
|
|
23810
|
+
if (!bDraw)
|
|
23811
|
+
{
|
|
23812
|
+
this.HideToolbar();
|
|
23813
|
+
}
|
|
23814
|
+
else
|
|
23815
|
+
{
|
|
23816
|
+
if (this.DivFrameToolbar.IsParentShow()) this.DivFrameToolbar.Show(this.Identify);
|
|
23817
|
+
else this.HideToolbar();
|
|
23818
|
+
}
|
|
23791
23819
|
}
|
|
23792
23820
|
|
|
23793
23821
|
//手绘,不用DOM,使用DOM太麻烦了
|
|
@@ -28272,6 +28300,20 @@ function HQTradeFrame()
|
|
|
28272
28300
|
if (IFrameSplitOperator.IsNumber(obj.Right)) item.Frame.ChartBorder.MultiDayMinute.Right=obj.Right;
|
|
28273
28301
|
}
|
|
28274
28302
|
}
|
|
28303
|
+
|
|
28304
|
+
|
|
28305
|
+
this.HideDivFrameToolbar=function()
|
|
28306
|
+
{
|
|
28307
|
+
for(var i=0;i<this.SubFrame.length;++i)
|
|
28308
|
+
{
|
|
28309
|
+
var item=this.SubFrame[i];
|
|
28310
|
+
if (!item.Frame) continue;
|
|
28311
|
+
if (item.Frame.ToolbarButtonStyle==1) continue;
|
|
28312
|
+
if (!item.Frame.DivFrameToolbar) continue;
|
|
28313
|
+
|
|
28314
|
+
item.Frame.DivFrameToolbar.Hide();
|
|
28315
|
+
}
|
|
28316
|
+
}
|
|
28275
28317
|
}
|
|
28276
28318
|
|
|
28277
28319
|
//行情框架横屏
|
|
@@ -36035,7 +36077,7 @@ function ChartKLine()
|
|
|
36035
36077
|
var iconTop=item.YMax+1*pixelTatio;
|
|
36036
36078
|
var iconBottom=item.YMin+1*pixelTatio+iconSize;
|
|
36037
36079
|
var drawTop=true;
|
|
36038
|
-
var yOffset=0;
|
|
36080
|
+
var yOffset=0, yTopOffset=0;
|
|
36039
36081
|
for(var i in infoData.Data)
|
|
36040
36082
|
{
|
|
36041
36083
|
var infoItem=infoData.Data[i];
|
|
@@ -36071,35 +36113,41 @@ function ChartKLine()
|
|
|
36071
36113
|
if (infoPosition===1) //底部
|
|
36072
36114
|
{
|
|
36073
36115
|
var yBottom=bottom+yOffset;
|
|
36074
|
-
this.Canvas.fillText(icon.Text,item.XCenter,yBottom,iconSize);
|
|
36075
36116
|
var iconRect=new Rect(item.XCenter-iconSize/2,yBottom-iconSize,iconSize,iconSize);
|
|
36117
|
+
this.DrawInfoIcon(item, icon, iconRect);
|
|
36118
|
+
|
|
36076
36119
|
var infoCache={ Data:new Array(infoItem), Rect:iconRect, Type:infoItem.InfoType, TextRect:{X:item.XCenter, Y:yBottom}, IsShowNumber:bShowNumber };
|
|
36077
36120
|
mapImage.set(infoItem.InfoType,infoCache);
|
|
36078
36121
|
yOffset-=iconSize;
|
|
36079
36122
|
}
|
|
36080
36123
|
else if (infoPosition===2) //顶部
|
|
36081
36124
|
{
|
|
36082
|
-
var yBottom=topTitle+iconSize+1;
|
|
36083
|
-
this.Canvas.fillText(icon.Text,item.XCenter,yBottom,iconSize);
|
|
36125
|
+
var yBottom=topTitle+iconSize+1+yTopOffset;
|
|
36084
36126
|
var iconRect=new Rect(item.XCenter-iconSize/2,yBottom-iconSize,iconSize,iconSize);
|
|
36127
|
+
this.DrawInfoIcon(item, icon, iconRect);
|
|
36128
|
+
|
|
36085
36129
|
var infoCache={ Data:new Array(infoItem), Rect:iconRect, Type:infoItem.InfoType, TextRect:{X:item.XCenter, Y:yBottom}, IsShowNumber:bShowNumber };
|
|
36086
36130
|
mapImage.set(infoItem.InfoType,infoCache);
|
|
36131
|
+
|
|
36132
|
+
yTopOffset+=iconSize;
|
|
36087
36133
|
}
|
|
36088
36134
|
else
|
|
36089
36135
|
{
|
|
36090
|
-
if (drawTop)
|
|
36136
|
+
if (drawTop) //K线上面
|
|
36091
36137
|
{
|
|
36092
|
-
this.Canvas.fillText(icon.Text,item.XCenter,iconTop,iconSize);
|
|
36093
36138
|
var iconRect=new Rect(item.XCenter-iconSize/2,iconTop-iconSize,iconSize,iconSize);
|
|
36139
|
+
this.DrawInfoIcon(item, icon, iconRect);
|
|
36140
|
+
|
|
36094
36141
|
var infoCache={ Data:new Array(infoItem), Rect:iconRect, Type:infoItem.InfoType, TextRect:{X:item.XCenter, Y:iconTop}, IsShowNumber:bShowNumber };
|
|
36095
36142
|
mapImage.set(infoItem.InfoType,infoCache);
|
|
36096
36143
|
iconTop-=iconSize;
|
|
36097
36144
|
if (iconTop-iconSize<top ) drawTop=false;
|
|
36098
36145
|
}
|
|
36099
|
-
else
|
|
36146
|
+
else //上面显示不下,就显示在K线下面
|
|
36100
36147
|
{
|
|
36101
|
-
this.Canvas.fillText(icon.Text,item.XCenter,iconBottom,iconSize);
|
|
36102
36148
|
var iconRect=new Rect(item.XCenter-iconSize/2,iconBottom-iconSize,iconSize,iconSize);
|
|
36149
|
+
this.DrawInfoIcon(item, icon, iconRect);
|
|
36150
|
+
|
|
36103
36151
|
var infoCache={ Data:new Array(infoItem), Rect:iconRect, Type:infoItem.InfoType, TextRect:{X:item.XCenter, Y:iconBottom} , IsShowNumber:bShowNumber};
|
|
36104
36152
|
mapImage.set(infoItem.InfoType,infoCache);
|
|
36105
36153
|
iconBottom+=iconSize;
|
|
@@ -36139,6 +36187,18 @@ function ChartKLine()
|
|
|
36139
36187
|
this.ClipClient(isHScreen);
|
|
36140
36188
|
}
|
|
36141
36189
|
|
|
36190
|
+
this.DrawInfoIcon=function(item, iconItem, rtIcon)
|
|
36191
|
+
{
|
|
36192
|
+
if (iconItem.BGColor)
|
|
36193
|
+
{
|
|
36194
|
+
this.Canvas.fillStyle=iconItem.BGColor;
|
|
36195
|
+
this.Canvas.fillRect(rtIcon.X, rtIcon.Y, rtIcon.Width, rtIcon.Height);
|
|
36196
|
+
}
|
|
36197
|
+
|
|
36198
|
+
this.Canvas.fillStyle=iconItem.Color;
|
|
36199
|
+
this.Canvas.fillText(iconItem.Text,item.XCenter,rtIcon.Y+rtIcon.Height, rtIcon.Width);
|
|
36200
|
+
}
|
|
36201
|
+
|
|
36142
36202
|
//画交易图标
|
|
36143
36203
|
this.DrawTradeIcon=function()
|
|
36144
36204
|
{
|
|
@@ -94991,25 +95051,44 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
94991
95051
|
if (bUpdate==true) this.ReqeustKLineInfoData({ FunctionName:"SetKLineInfo" });
|
|
94992
95052
|
}
|
|
94993
95053
|
|
|
94994
|
-
|
|
94995
|
-
|
|
95054
|
+
|
|
95055
|
+
//option={ ClassName:, Name: }
|
|
95056
|
+
this.GetKLineInfo=function(option)
|
|
94996
95057
|
{
|
|
94997
|
-
|
|
94998
|
-
if (!
|
|
95058
|
+
if (!option) return null;
|
|
95059
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.ChartInfo)) return null;
|
|
95060
|
+
|
|
95061
|
+
var className=null;
|
|
95062
|
+
if (option.Name)
|
|
94999
95063
|
{
|
|
95000
|
-
|
|
95001
|
-
|
|
95064
|
+
var classInfo=JSKLineInfoMap.GetClassInfo(option.Name);
|
|
95065
|
+
if (classInfo) className=classInfo.ClassName;
|
|
95002
95066
|
}
|
|
95003
95067
|
|
|
95004
|
-
|
|
95068
|
+
if (!className) return null;
|
|
95069
|
+
|
|
95070
|
+
for(var i=0; i<this.ChartInfo.length; ++i)
|
|
95005
95071
|
{
|
|
95006
95072
|
var item=this.ChartInfo[i];
|
|
95007
|
-
if (item.ClassName==
|
|
95008
|
-
return;
|
|
95073
|
+
if (item.ClassName==className) //已经存在
|
|
95074
|
+
return item;
|
|
95009
95075
|
}
|
|
95010
95076
|
|
|
95077
|
+
return null;
|
|
95078
|
+
}
|
|
95079
|
+
|
|
95080
|
+
//添加信息地雷
|
|
95081
|
+
this.AddKLineInfo=function(infoName,bUpdate)
|
|
95082
|
+
{
|
|
95083
|
+
var item=this.GetKLineInfo({ Name:infoName });
|
|
95084
|
+
if (item) return;
|
|
95085
|
+
|
|
95011
95086
|
var infoItem=JSKLineInfoMap.Get(infoName);
|
|
95012
|
-
if (!infoItem)
|
|
95087
|
+
if (!infoItem)
|
|
95088
|
+
{
|
|
95089
|
+
console.warn(`[KLineChartContainer::AddKLineInfo] can't find infoName=${infoName}`);
|
|
95090
|
+
return;
|
|
95091
|
+
}
|
|
95013
95092
|
|
|
95014
95093
|
var item=infoItem.Create();
|
|
95015
95094
|
item.MaxRequestDataCount=this.MaxRequestDataCount;
|
|
@@ -95021,39 +95100,28 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
95021
95100
|
}
|
|
95022
95101
|
}
|
|
95023
95102
|
|
|
95024
|
-
|
|
95103
|
+
//更新信息地雷列表 Option :{ InsertNew:, 如果没有找到对应的地雷,是否插入新的地雷, Update:是否立即请求数据 }
|
|
95025
95104
|
this.UpdateKLineInfo=function(infoName, option)
|
|
95026
95105
|
{
|
|
95027
|
-
var classInfo=JSKLineInfoMap.GetClassInfo(infoName);
|
|
95028
|
-
if (!classInfo)
|
|
95029
|
-
{
|
|
95030
|
-
console.warn("[KLineChartContainer::UpdateKLineInfo] can't find infoname=", infoName);
|
|
95031
|
-
return;
|
|
95032
|
-
}
|
|
95033
|
-
|
|
95034
95106
|
var bInsertNew=false, bUpdate=false;
|
|
95035
95107
|
if (option)
|
|
95036
95108
|
{
|
|
95037
95109
|
if (IFrameSplitOperator.IsBoolean(option.InsertNew)) bInsertNew=option.InsertNew;
|
|
95038
95110
|
if (IFrameSplitOperator.IsBoolean(option.Update)) bUpdate=option.Update;
|
|
95039
95111
|
}
|
|
95040
|
-
var finder=null;
|
|
95041
|
-
for(var i=0;i<this.ChartInfo.length; ++i)
|
|
95042
|
-
{
|
|
95043
|
-
var item=this.ChartInfo[i];
|
|
95044
|
-
if (item.ClassName==classInfo.ClassName)
|
|
95045
|
-
{
|
|
95046
|
-
finder=item;
|
|
95047
|
-
break;
|
|
95048
|
-
}
|
|
95049
|
-
}
|
|
95050
95112
|
|
|
95113
|
+
var finder=this.GetKLineInfo({ Name:infoName });
|
|
95114
|
+
|
|
95051
95115
|
if (!finder)
|
|
95052
95116
|
{
|
|
95053
95117
|
if (bInsertNew===true)
|
|
95054
95118
|
{
|
|
95055
95119
|
var infoItem=JSKLineInfoMap.Get(infoName);
|
|
95056
|
-
if (!infoItem)
|
|
95120
|
+
if (!infoItem)
|
|
95121
|
+
{
|
|
95122
|
+
console.warn(`[KLineChartContainer::UpdateKLineInfo] can't find infoname=${infoName}`);
|
|
95123
|
+
return;
|
|
95124
|
+
}
|
|
95057
95125
|
|
|
95058
95126
|
var item=infoItem.Create();
|
|
95059
95127
|
item.MaxRequestDataCount=this.MaxRequestDataCount;
|
|
@@ -114731,7 +114799,6 @@ Path2DHelper.PtInRect=function(x, y, rect)
|
|
|
114731
114799
|
//
|
|
114732
114800
|
///////////////////////////////////////////////////////////////////////////////////
|
|
114733
114801
|
|
|
114734
|
-
|
|
114735
114802
|
function JSDivFrameToolbar()
|
|
114736
114803
|
{
|
|
114737
114804
|
this.DivToolbar=null;
|
|
@@ -114884,6 +114951,15 @@ function JSDivFrameToolbar()
|
|
|
114884
114951
|
}
|
|
114885
114952
|
}
|
|
114886
114953
|
|
|
114954
|
+
this.IsParentShow=function()
|
|
114955
|
+
{
|
|
114956
|
+
if (!this.DivHQChart) return false;
|
|
114957
|
+
const style=window.getComputedStyle(this.DivHQChart);
|
|
114958
|
+
|
|
114959
|
+
// 判断:display 不是 none,且 visibility 不是 hidden,且 opacity 不是 0
|
|
114960
|
+
return style.display !== 'none' && style.visibility !== 'hidden' && parseFloat(style.opacity) !== 0;
|
|
114961
|
+
}
|
|
114962
|
+
|
|
114887
114963
|
this.UpdateStyle=function()
|
|
114888
114964
|
{
|
|
114889
114965
|
if (!this.DivToolbar) return;
|
|
@@ -167202,6 +167278,8 @@ function JSTooltipKLineChart()
|
|
|
167202
167278
|
if (!this.DivDialog) return;
|
|
167203
167279
|
if (this.DivDialog.style.visibility!='hidden')
|
|
167204
167280
|
this.DivDialog.style.visibility='hidden';
|
|
167281
|
+
|
|
167282
|
+
if (this.KLine.JSChart) this.KLine.JSChart.HideDivFrameToolbar()
|
|
167205
167283
|
}
|
|
167206
167284
|
|
|
167207
167285
|
|
|
@@ -167287,8 +167365,8 @@ JSTooltipKLineChart.GetKLineOption=function()
|
|
|
167287
167365
|
Type:'历史K线图', //创建图形类型
|
|
167288
167366
|
Windows: //窗口指标
|
|
167289
167367
|
[
|
|
167290
|
-
{ Index:"MA",Change:false, Modify:false },
|
|
167291
|
-
{ Index:"MACD", Close:false, Change:false, Modify:false,MaxMin:false,TitleWindow:false },
|
|
167368
|
+
{ Index:"MA", Change:false, Modify:false, TitleWindow:false },
|
|
167369
|
+
{ Index:"MACD", Close:false, Change:false, Modify:false, MaxMin:false, TitleWindow:false },
|
|
167292
167370
|
],
|
|
167293
167371
|
|
|
167294
167372
|
//Language:'EN',
|
|
@@ -177301,7 +177379,7 @@ function ChartScrollText()
|
|
|
177301
177379
|
|
|
177302
177380
|
|
|
177303
177381
|
|
|
177304
|
-
var HQCHART_VERSION="1.1.
|
|
177382
|
+
var HQCHART_VERSION="1.1.15822";
|
|
177305
177383
|
|
|
177306
177384
|
function PrintHQChartVersion()
|
|
177307
177385
|
{
|