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.
- package/lib/umychart.vue.js +10 -9
- package/package.json +1 -1
- package/src/jscommon/umychart/umychart.js +60 -8
- package/src/jscommon/umychart/umychart.min.js +1 -1
- package/src/jscommon/umychart.PopKLineChart.js +4 -2
- package/src/jscommon/umychart.js +55 -5
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +56 -6
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +60 -8
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()//计算每个子框架的边框信息
|
|
@@ -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.
|
|
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.
|
|
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
|
@@ -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
|
//行情框架横屏
|
|
@@ -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.
|
|
177382
|
+
var HQCHART_VERSION="1.1.15822";
|
|
177331
177383
|
|
|
177332
177384
|
function PrintHQChartVersion()
|
|
177333
177385
|
{
|