hqchart 1.1.15821 → 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.
@@ -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 this.DivFrameToolbar.Show(this.Identify);};//手绘,不用DOM,使用DOM太麻烦了
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 this.DivFrameToolbar.Show(this.Identify);};//手绘,不用DOM,使用DOM太麻烦了
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()//计算每个子框架的边框信息
@@ -10916,7 +10916,8 @@ if(item.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM&&frame&&frame.ModifyIndex===fal
10916
10916
  this.CreateArrayButton(aryButton);//重新创建
10917
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);//重新设置按钮
10918
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;};//屏蔽右键系统菜单
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.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工厂类
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工厂类
10920
10921
  function JSDOMFactory(){//[key:name, { Create:function(divElement) { return new class(divElement); }} ]
10921
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";};}/*
10922
10923
  Copyright (c) 2018 jones
@@ -15661,13 +15662,13 @@ this.OnCreatedCallback=null;this.KLine={Option:JSTooltipKLineChart.GetKLineOptio
15661
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;//语言跟主图保持一致
15662
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线配置
15663
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;//超出窗口调整位置
15664
- 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;//指标标题字体
15665
15666
  this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font;//十字光标
15666
15667
  this.FrameSplitTextFont=g_JSChartResource.PopMinuteChart.Frame.Font;//刻度文字
15667
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)//去掉指标里面的字体
15668
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线图',//创建图形类型
15669
15670
  Windows://窗口指标
15670
- [{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',
15671
15672
  Symbol:null,IsAutoUpdate:false,//是自动更新数据
15672
15673
  AutoUpdateFrequency:3000,//数据更新频率
15673
15674
  SplashTitle:'加载数据中......',IsShowRightMenu:false,//右键菜单
@@ -16398,7 +16399,7 @@ if(this.MouseOnItem){if(this.MouseOnItem.Data==item)color=this.TextConfig.MouseO
16398
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;};}/********************************************************************************
16399
16400
  * 版本信息输出
16400
16401
  *
16401
- */var HQCHART_VERSION="1.1.15820";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();//把给外界调用的方法暴露出来
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();//把给外界调用的方法暴露出来
16402
16403
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
16403
16404
  // BaseIndex:BaseIndex,
16404
16405
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.15821",
3
+ "version": "1.1.15823",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -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) this.HideToolbar();
21532
- else this.DivFrameToolbar.Show(this.Identify);
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) this.HideToolbar();
23790
- else this.DivFrameToolbar.Show(this.Identify);
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
  //行情框架横屏
@@ -114757,7 +114799,6 @@ Path2DHelper.PtInRect=function(x, y, rect)
114757
114799
  //
114758
114800
  ///////////////////////////////////////////////////////////////////////////////////
114759
114801
 
114760
-
114761
114802
  function JSDivFrameToolbar()
114762
114803
  {
114763
114804
  this.DivToolbar=null;
@@ -114910,6 +114951,15 @@ function JSDivFrameToolbar()
114910
114951
  }
114911
114952
  }
114912
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
+
114913
114963
  this.UpdateStyle=function()
114914
114964
  {
114915
114965
  if (!this.DivToolbar) return;
@@ -167228,6 +167278,8 @@ function JSTooltipKLineChart()
167228
167278
  if (!this.DivDialog) return;
167229
167279
  if (this.DivDialog.style.visibility!='hidden')
167230
167280
  this.DivDialog.style.visibility='hidden';
167281
+
167282
+ if (this.KLine.JSChart) this.KLine.JSChart.HideDivFrameToolbar()
167231
167283
  }
167232
167284
 
167233
167285
 
@@ -167313,8 +167365,8 @@ JSTooltipKLineChart.GetKLineOption=function()
167313
167365
  Type:'历史K线图', //创建图形类型
167314
167366
  Windows: //窗口指标
167315
167367
  [
167316
- { Index:"MA",Change:false, Modify:false },
167317
- { 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 },
167318
167370
  ],
167319
167371
 
167320
167372
  //Language:'EN',
@@ -177327,7 +177379,7 @@ function ChartScrollText()
177327
177379
 
177328
177380
 
177329
177381
 
177330
- var HQCHART_VERSION="1.1.15820";
177382
+ var HQCHART_VERSION="1.1.15822";
177331
177383
 
177332
177384
  function PrintHQChartVersion()
177333
177385
  {