hqchart 1.1.12455 → 1.1.12459

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.
@@ -1425,7 +1425,7 @@ this.CreateDepthChartContainer=function(option){var chart=null;chart=new DepthCh
1425
1425
  }if(item.IsShowXLine==false)chart.Frame.IsShowXLine=item.IsShowXLine;if(item.IsShowYLine==false)chart.Frame.IsShowYLine=item.IsShowYLine;if(IFrameSplitOperator.IsNumber(item.XSplitCount))chart.Frame.XSplitOperator.SplitCount=item.XSplitCount;//X轴刻度个数 半边的
1426
1426
  }return chart;};//根据option内容绘制图形
1427
1427
  this.SetOption=function(option){//toolbar按钮风格
1428
- if(IFrameSplitOperator.IsNumber(option.ToolbarButtonStyle))g_JSChartResource.ToolbarButtonStyle=option.ToolbarButtonStyle;var chart=null;switch(option.Type){case"历史K线图":case'历史K线图横屏':chart=this.CreateKLineChartContainer(option);break;case"自定义指数历史K线图":chart=this.CreateCustomKLineChartContainer(option);break;case"分钟走势图":case"分钟走势图横屏":chart=this.CreateMinuteChartContainer(option);break;case"迷你分钟走势图":chart=this.CreateMinMinuteChartContainer(option);break;case"历史分钟走势图":chart=this.CreateHistoryMinuteChartContainer(option);break;case'K线训练':case'K线训练横屏':case"简单K线训练":case"简单K线训练横屏":chart=this.CreateKLineTrainChartContainer(option);break;case"深度图":chart=this.CreateDepthChartContainer(option);break;case"简单图形":return this.CreateSimpleChart(option);case"饼图":case'雷达图':return this.CreatePieChart(option);case'地图':return this.CreateMapChart(option);default:return false;}if(!chart)return false;if(option.OnCreatedCallback)option.OnCreatedCallback(chart);//是否自动更新
1428
+ if(IFrameSplitOperator.IsNumber(option.ToolbarButtonStyle))g_JSChartResource.ToolbarButtonStyle=option.ToolbarButtonStyle;var chart=null;switch(option.Type){case"历史K线图":case'历史K线图横屏':chart=this.CreateKLineChartContainer(option);break;case"自定义指数历史K线图":chart=this.CreateCustomKLineChartContainer(option);break;case"分钟走势图":case"分钟走势图横屏":chart=this.CreateMinuteChartContainer(option);break;case"迷你分钟走势图":chart=this.CreateMinMinuteChartContainer(option);break;case"历史分钟走势图":chart=this.CreateHistoryMinuteChartContainer(option);break;case'K线训练':case'K线训练横屏':case"简单K线训练":case"简单K线训练横屏":chart=this.CreateKLineTrainChartContainer(option);break;case"深度图":chart=this.CreateDepthChartContainer(option);break;case"简单图形":return this.CreateSimpleChart(option);case"饼图":case'雷达图':return this.CreatePieChart(option);case'地图':return this.CreateMapChart(option);default:return false;}if(!chart)return false;this.JSChartContainer=chart;if(option.OnCreatedCallback)option.OnCreatedCallback(chart);//是否自动更新
1429
1429
  if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;//注册事件
1430
1430
  if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}//设置股票代码
1431
1431
  if(!option.Symbol){chart.DrawEmpty();this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
@@ -4479,7 +4479,7 @@ this.newMethod();delete this.newMethod;this.ClassName='MinuteTooltipPaint';this.
4479
4479
  this.TitlePaint;this.GetTop=function(){if(this.IsHScreen){var border=this.ChartBorder.GetHScreenBorder();if(this.ShowPosition==0)return border.TopEx+this.Left;else return border.BottomEx-this.Width-this.Left;}else{var border=this.ChartBorder.GetBorder();return border.Top+this.Top;}};this.GetLeft=function(){if(this.IsHScreen){var border=this.ChartBorder.GetHScreenBorder();return border.Right-this.Height-this.Top;}else{var border=this.ChartBorder.GetBorder();if(this.ShowPosition==0)return border.LeftEx+this.Left;else return border.RightEx-this.Width-this.Left;}};this.Draw=function(){if(!this.IsEnableDraw())return;this.IsHScreen=this.ChartFrame.IsHScreen===true;this.TitlePaint=this.HQChart.TitlePaint[0];if(!this.TitlePaint)return;var drawData;//{ Type:0=连续交易 1=集合竞价, Data:数据 }
4480
4480
  var pointInfo=this.TitlePaint.PointInfo;if(pointInfo&&(pointInfo.ClientPos==2||pointInfo.ClientPos==3||pointInfo.ClientPos>=200&&pointInfo.ClientPos<=299||pointInfo.ClientPos>=300&&pointInfo.ClientPos<=399)){var auctionData=this.TitlePaint.GetCurrentAuctionData();if(!auctionData)return;drawData={Type:1,Data:auctionData};}else{var minuteData=this.TitlePaint.GetCurrentKLineData();if(!minuteData)return;drawData={Type:0,Data:minuteData};}var titleData=this.GetFormatTitle(drawData);if(!titleData||!IFrameSplitOperator.IsNonEmptyArray(titleData.AryText))return;this.CalculateTooltipSize(titleData);this.CalculateShowPosition();this.DrawBG();this.DrawTooltipData(titleData);this.DrawBorder();};this.GetFormatTitle=function(data){if(!data||!data.Data)return;var item;var close,vol,amount;if(data.Type==0)//盘中
4481
4481
  {item=data.Data;close=item.Close;vol=item.Vol;amount=item.Amount;}else if(data.Type==1)//盘前 盘后
4482
- {item=data.Data.Data;if(!item)return;close=item.Price;}var upperSymbol;this.YClose=this.TitlePaint.YClose;if(this.HQChart.Symbol)upperSymbol=this.HQChart.Symbol.toUpperCase();var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
4482
+ {item=data.Data.Data;if(!item)return;close=item.Price;}var upperSymbol;this.YClose=this.TitlePaint.YClose;this.YClose=item.YClose;if(this.HQChart.Symbol)upperSymbol=this.HQChart.Symbol.toUpperCase();var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
4483
4483
  var aryText=[];var result={AryText:aryText};var text,title,color;if(IFrameSplitOperator.IsNumber(item.Date)){text=IFrameSplitOperator.FormatDateString(item.Date);aryText.push({Text:text,Color:this.DateTimeColor});}if(IFrameSplitOperator.IsNumber(item.Time)){text=IFrameSplitOperator.FormatTimeString(item.Time);aryText.push({Text:text,Color:this.DateTimeColor});}if(IFrameSplitOperator.IsNumber(close))//最新
4484
4484
  {title=g_JSChartLocalization.GetText('Tooltip-Price',this.LanguageID);color=this.TitlePaint.GetColor(close,this.YClose);text=close.toFixed(defaultfloatPrecision);aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:color});}var isShowAvPrice=true;if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))isShowAvPrice=false;//外汇没有均价
4485
4485
  else if(MARKET_SUFFIX_NAME.IsET(upperSymbol)&&!MARKET_SUFFIX_NAME.IsETShowAvPrice(upperSymbol))isShowAvPrice=false;else if(MARKET_SUFFIX_NAME.IsShowAvPrice&&!MARKET_SUFFIX_NAME.IsShowAvPrice(upperSymbol))isShowAvPrice=false;//均价
@@ -4627,8 +4627,8 @@ this.SetOption=function(option){if(option.BGColor)this.BGColor=option.BGColor;if
4627
4627
  if(pointInfo&&(pointInfo.ClientPos==2||pointInfo.ClientPos==3||pointInfo.ClientPos>=200&&pointInfo.ClientPos<=299||pointInfo.ClientPos>=300&&pointInfo.ClientPos<=399)){var auctionData=this.TitlePaint.GetCurrentAuctionData();if(!auctionData)return;drawData={Type:1,Data:auctionData};}else{var minuteData=this.TitlePaint.GetCurrentKLineData();if(!minuteData)return;drawData={Type:0,Data:minuteData};}this.YClose=this.TitlePaint.YClose;var aryText=this.GetForamtTitle(drawData);if(!IFrameSplitOperator.IsNonEmptyArray(aryText))return;this.Canvas.font=this.Font;this.Canvas.textBaseline='top';this.LineHeight=GetFontHeight(this.Canvas,null,"擎");var border=this.ChartBorder.GetBorder();var height=this.LineHeight*aryText.length*2;var rtBorder={Left:1,Top:1,Right:border.Left};rtBorder.Bottom=rtBorder.Top+height;rtBorder.Width=rtBorder.Right-rtBorder.Left;rtBorder.Height=rtBorder.Bottom-rtBorder.Top;rtBorder.Height+=this.Mergin.Top+this.Mergin.Bottom;rtBorder.Bottom=rtBorder.Top+rtBorder.Height;if(IFrameSplitOperator.IsNumber(this.FixedWidth))rtBorder.Width=this.FixedWidth;this.Canvas.fillStyle=this.BGColor;this.Canvas.fillRect(rtBorder.Left,rtBorder.Top,rtBorder.Width,rtBorder.Height);this.Canvas.strokeStyle=this.BorderColor;this.Canvas.strokeRect(ToFixedPoint(rtBorder.Left),ToFixedPoint(rtBorder.Top),ToFixedRect(rtBorder.Width),ToFixedRect(rtBorder.Height));var right=rtBorder.Left+rtBorder.Width-this.Mergin.Right;var left=this.Mergin.Left+rtBorder.Left;var top=this.Mergin.Top+rtBorder.Top;var rtItem={Left:left,Top:top,Right:right};rtItem.Width=rtItem.Right-rtItem.Left;for(var i=0;i<aryText.length;++i){var item=aryText[i];this.DrawText(item,rtItem);}};this.DrawText=function(item,rtItem){this.Canvas.fillStyle=item.TitleColor;this.Canvas.textAlign='left';this.Canvas.fillText(item.Title,rtItem.Left,rtItem.Top);rtItem.Top+=this.LineHeight;rtItem.Bottom=rtItem.Top+this.LineHeight;this.Canvas.textAlign='right';this.Canvas.fillStyle=item.TextColor;this.Canvas.fillText(item.Text,rtItem.Right,rtItem.Top);rtItem.Top+=this.LineHeight;rtItem.Bottom=rtItem.Top+this.LineHeight;};//{ Title:, Text:, Color: }
4628
4628
  this.GetForamtTitle=function(drawData){if(!drawData||!drawData.Data)return null;var aryText=[];var upperSymbol;if(this.HQChart.Symbol)upperSymbol=this.HQChart.Symbol.toUpperCase();var defaultfloatPrecision=GetfloatPrecision(upperSymbol);//价格小数位数
4629
4629
  if(drawData.Type==0)//连续交易
4630
- {var item=drawData.Data;var titleItem=this.FormatDate(item.Date);if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtTime(item.Time,"HH:MM",'PCTooltip-Time');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtPrice(item.Close,defaultfloatPrecision,'PCTooltip-Price');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtPrice(item.AvPrice,defaultfloatPrecision,'PCTooltip-AvPrice');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtIncrease(item.Close,"PCTooltip-Increase");if(titleItem)aryText.push(titleItem);var titleItem=this.FormatVol(item.Vol,'PCTooltip-Vol');if(titleItem)aryText.push(titleItem);if(IFrameSplitOperator.IsNumber(item.Amount)){var titleItem={Title:g_JSChartLocalization.GetText('PCTooltip-Amount',this.LanguageID),TitleColor:this.TitleColor,Text:IFrameSplitOperator.FromatIntegerString(item.Amount,2,this.LanguageID),TextColor:this.AmountColor};aryText.push(titleItem);}}else if(drawData.Type==1)//集合竞价
4631
- {var item=drawData.Data.Data;if(!item)return;var titleItem=this.FormatDate(item.Date);if(titleItem)aryText.push(titleItem);var timeForamt="HH:MM:SS";if(item.Ver===1)timeForamt="HH:MM";var titleItem=this.ForamtTime(item.Time,timeForamt,'PCTooltip-Time');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtPrice(item.Price,defaultfloatPrecision,'PCTooltip-AC-Price');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtIncrease(item.Price,"PCTooltip-AC-Increase");if(titleItem)aryText.push(titleItem);if(IFrameSplitOperator.IsNonEmptyArray(item.Vol)){var titleItem=this.FormatVol(item.Vol[0],'PCTooltip-AC-Vol');if(titleItem)aryText.push(titleItem);var titleItem=this.FormatVol(item.Vol[1],'PCTooltip-AC-NotMatchVol');if(titleItem)aryText.push(titleItem);}}return aryText;};this.GetColor=function(price,yclse){if(price>yclse)return this.UpColor;else if(price<yclse)return this.DownColor;else return this.UnchagneColor;};this.FormatDate=function(date){if(!IFrameSplitOperator.IsNumber(date))return null;var titleItem={Title:g_JSChartLocalization.GetText('PCTooltip-Date',this.LanguageID),TitleColor:this.TitleColor,Text:IFrameSplitOperator.FormatDateString(date,"MM-DD",this.LanguageID),TextColor:this.DateTimeColor};return titleItem;};this.ForamtTime=function(time,format,TitleID){if(!IFrameSplitOperator.IsNumber(time))return null;var titleItem={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),TitleColor:this.TitleColor,Text:IFrameSplitOperator.FormatTimeString(time,format,this.LanguageID),TextColor:this.DateTimeColor};return titleItem;};this.ForamtPrice=function(price,defaultfloatPrecision,TitleID){if(!IFrameSplitOperator.IsNumber(price))return null;var titleItem={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),TitleColor:this.TitleColor,Text:price.toFixed(defaultfloatPrecision),TextColor:this.GetColor(price,this.YClose)};return titleItem;};this.ForamtIncrease=function(price,TitleID){if(!IFrameSplitOperator.IsNumber(price)||price==0)return null;var value=(price-this.YClose)/this.YClose*100;var titleItem={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),TitleColor:this.TitleColor,Text:value.toFixed(2)+'%',TextColor:this.GetColor(value,0)};return titleItem;};this.FormatVol=function(vol,TitleID){if(!IFrameSplitOperator.IsNumber(vol))return null;var titleItem={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),TitleColor:this.TitleColor,Text:IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID),TextColor:this.VolColor};return titleItem;};}//股票信息
4630
+ {var item=drawData.Data;if(!item)return;this.YClose=item.YClose;var titleItem=this.FormatDate(item.Date);if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtTime(item.Time,"HH:MM",'PCTooltip-Time');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtPrice(item.Close,defaultfloatPrecision,'PCTooltip-Price');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtPrice(item.AvPrice,defaultfloatPrecision,'PCTooltip-AvPrice');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtIncrease(item.Close,"PCTooltip-Increase");if(titleItem)aryText.push(titleItem);var titleItem=this.FormatVol(item.Vol,'PCTooltip-Vol');if(titleItem)aryText.push(titleItem);if(IFrameSplitOperator.IsNumber(item.Amount)){var titleItem={Title:g_JSChartLocalization.GetText('PCTooltip-Amount',this.LanguageID),TitleColor:this.TitleColor,Text:IFrameSplitOperator.FromatIntegerString(item.Amount,2,this.LanguageID),TextColor:this.AmountColor};aryText.push(titleItem);}}else if(drawData.Type==1)//集合竞价
4631
+ {var item=drawData.Data.Data;if(!item)return;this.YClose=item.YClose;var titleItem=this.FormatDate(item.Date);if(titleItem)aryText.push(titleItem);var timeForamt="HH:MM:SS";if(item.Ver===1)timeForamt="HH:MM";var titleItem=this.ForamtTime(item.Time,timeForamt,'PCTooltip-Time');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtPrice(item.Price,defaultfloatPrecision,'PCTooltip-AC-Price');if(titleItem)aryText.push(titleItem);var titleItem=this.ForamtIncrease(item.Price,"PCTooltip-AC-Increase");if(titleItem)aryText.push(titleItem);if(IFrameSplitOperator.IsNonEmptyArray(item.Vol)){var titleItem=this.FormatVol(item.Vol[0],'PCTooltip-AC-Vol');if(titleItem)aryText.push(titleItem);var titleItem=this.FormatVol(item.Vol[1],'PCTooltip-AC-NotMatchVol');if(titleItem)aryText.push(titleItem);}}return aryText;};this.GetColor=function(price,yclse){if(price>yclse)return this.UpColor;else if(price<yclse)return this.DownColor;else return this.UnchagneColor;};this.FormatDate=function(date){if(!IFrameSplitOperator.IsNumber(date))return null;var titleItem={Title:g_JSChartLocalization.GetText('PCTooltip-Date',this.LanguageID),TitleColor:this.TitleColor,Text:IFrameSplitOperator.FormatDateString(date,"MM-DD",this.LanguageID),TextColor:this.DateTimeColor};return titleItem;};this.ForamtTime=function(time,format,TitleID){if(!IFrameSplitOperator.IsNumber(time))return null;var titleItem={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),TitleColor:this.TitleColor,Text:IFrameSplitOperator.FormatTimeString(time,format,this.LanguageID),TextColor:this.DateTimeColor};return titleItem;};this.ForamtPrice=function(price,defaultfloatPrecision,TitleID){if(!IFrameSplitOperator.IsNumber(price))return null;var titleItem={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),TitleColor:this.TitleColor,Text:price.toFixed(defaultfloatPrecision),TextColor:this.GetColor(price,this.YClose)};return titleItem;};this.ForamtIncrease=function(price,TitleID){if(!IFrameSplitOperator.IsNumber(price)||price==0)return null;var value=(price-this.YClose)/this.YClose*100;var titleItem={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),TitleColor:this.TitleColor,Text:value.toFixed(2)+'%',TextColor:this.GetColor(value,0)};return titleItem;};this.FormatVol=function(vol,TitleID){if(!IFrameSplitOperator.IsNumber(vol))return null;var titleItem={Title:g_JSChartLocalization.GetText(TitleID,this.LanguageID),TitleColor:this.TitleColor,Text:IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID),TextColor:this.VolColor};return titleItem;};}//股票信息
4632
4632
  function StockInfoExtendChartPaint(){this.newMethod=IExtendChartPainting;//派生
4633
4633
  this.newMethod();delete this.newMethod;this.Left=80;this.Right=1;this.Top=1;this.Bottom=1;this.BorderColor=g_JSChartResource.FrameBorderPen;this.Symbol;this.Name;this.TitleFont=["14px 微软雅黑"];this.Draw=function(){var left=this.ChartBorder.GetRight()+this.Left;var right=this.ChartBorder.GetChartWidth()-this.Right;var y=this.Top+18;var middle=left+(right-left)/2;if(this.Symbol&&this.Name){this.Canvas.font=this.TitleFont[0];this.Canvas.textAlign="right";this.Canvas.textBaseline="bottom";this.Canvas.fillText(this.Symbol,middle-2,y);this.Canvas.textAlign="left";this.Canvas.fillText(this.Name,middle+2,y);};this.Canvas.strokeStyle=this.BorderColor;this.Canvas.moveTo(left,y);this.Canvas.lineTo(right,y);this.Canvas.stroke();y+=30;this.DrawBorder();};this.DrawBorder=function(){var left=this.ChartBorder.GetRight()+this.Left;var right=this.ChartBorder.GetChartWidth()-this.Right;var top=this.Top;var bottom=this.ChartBorder.GetChartHeight()-this.Bottom;this.Canvas.strokeStyle=this.BorderColor;this.Canvas.strokeRect(left,top,right-left,bottom-top);};}//筹码分布
4634
4634
  function StockChip(){this.newMethod=IExtendChartPainting;//派生
@@ -7428,7 +7428,7 @@ if(this.IsPhoneDragging(e)){var drag={Click:{},LastMove:{}};//LastMove=最后移
7428
7428
  var touches=this.GetToucheData(e,this.IsForceLandscape);var pt=this.PointAbsoluteToRelative(touches[0].clientX,touches[0].clientY,true);if(this.TryClickLock||this.TryClickIndexTitle)//指标枷锁区域 , 指标标题点击
7429
7429
  {var x=pt.X;var y=pt.Y;if(this.TryClickLock&&this.TryClickLock(x,y))return;if(this.TryClickIndexTitle&&this.TryClickIndexTitle(x,y))return;}if(this.ClickFrameButton){var button=this.Frame.PtInButtons(pt.X,pt.Y);if(button){this.ClickFrameButton(button,e);return;}}drag.Click.X=touches[0].clientX;drag.Click.Y=touches[0].clientY;drag.LastMove.X=touches[0].clientX;drag.LastMove.Y=touches[0].clientY;var self=this;var T_ShowCorssCursor=function T_ShowCorssCursor()//临时函数(Temp_) T_开头
7430
7430
  {if(self.ChartCorssCursor.IsShow===true)//移动十字光标
7431
- {var pixelTatio=GetDevicePixelRatio();var x=drag.Click.X-uielement.getBoundingClientRect().left*pixelTatio;var y=drag.Click.Y-uielement.getBoundingClientRect().top*pixelTatio;self.OnMouseMove(x,y,e);}};if(this.ChartDrawOption.IsLockScreen){this.MouseDrag=drag;if(this.SelectChartDrawPicture)this.SelectChartDrawPicture.IsSelected=false;this.SelectChartDrawPicture=null;if(this.CurrentChartDrawPicture)//画图工具模式
7431
+ {var pt=self.PointAbsoluteToRelative(drag.Click.X,drag.Click.Y,true);var x=pt.X;var y=pt.Y;self.OnMouseMove(x,y,e);}};if(this.ChartDrawOption.IsLockScreen){this.MouseDrag=drag;if(this.SelectChartDrawPicture)this.SelectChartDrawPicture.IsSelected=false;this.SelectChartDrawPicture=null;if(this.CurrentChartDrawPicture)//画图工具模式
7432
7432
  {var drawPicture=this.CurrentChartDrawPicture;if(drawPicture.Status==2)this.SetChartDrawPictureThirdPoint(drag.Click.X,drag.Click.Y,true);else{this.SetChartDrawPictureFirstPoint(drag.Click.X,drag.Click.Y,true);//只有1个点 直接完成
7433
7433
  if(this.FinishChartDrawPicturePoint())this.DrawDynamicInfo({Corss:false,Tooltip:false});}if(e.cancelable)e.preventDefault();return;}else{var drawPictrueData={};var pixelTatio=GetDevicePixelRatio();//鼠标移动坐标是原始坐标 需要乘以放大倍速
7434
7434
  drawPictrueData.X=touches[0].clientX-uielement.getBoundingClientRect().left;drawPictrueData.Y=touches[0].clientY-uielement.getBoundingClientRect().top;if(this.GetChartDrawPictureByPoint(drawPictrueData)){drawPictrueData.ChartDrawPicture.Status=20;drawPictrueData.ChartDrawPicture.ValueToPoint();drawPictrueData.ChartDrawPicture.MovePointIndex=drawPictrueData.PointIndex;drawPictrueData.ChartDrawPicture.IsSelected=true;this.CurrentChartDrawPicture=drawPictrueData.ChartDrawPicture;this.SelectChartDrawPicture=drawPictrueData.ChartDrawPicture;var _event2=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_DRAWPICTURE);//选中画图工具事件
@@ -12478,7 +12478,7 @@ this.AreaColor=g_JSChartResource.ScrollBar.BGChart.AreaColor;//面积图颜色
12478
12478
  };this.Draw=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.Canvas.save();if(this.LineWidth>0)this.Canvas.lineWidth=this.LineWidth*GetDevicePixelRatio();var bottom=this.ChartBorder.GetBottom();this.Canvas.strokeStyle=this.Color;var bFirstPoint=true;var drawCount=0,x,y;var firstPoint={};for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];var value=item.Close;if(!IFrameSplitOperator.IsNumber(value))continue;x=this.ChartFrame.GetXFromIndex(i);y=this.ChartFrame.GetYFromData(value);if(bFirstPoint){this.Canvas.beginPath();this.Canvas.moveTo(x,y);bFirstPoint=false;firstPoint={X:x,Y:y};}else{this.Canvas.lineTo(x,y);}++drawCount;}if(drawCount>0){this.Canvas.stroke();this.Canvas.lineTo(x,bottom);this.Canvas.lineTo(firstPoint.X,bottom);this.Canvas.closePath();this.Canvas.fillStyle=this.AreaColor;this.Canvas.fill();}this.Canvas.restore();};this.GetMaxMin=function(){var range={Max:null,Min:null};if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];var value=item.Close;if(!IFrameSplitOperator.IsNumber(value))continue;if(range.Max==null||range.Max<value)range.Max=value;if(range.Min==null||range.Min>value)range.Min=value;}return range;};}/********************************************************************************
12479
12479
  * 版本信息输出
12480
12480
  *
12481
- */var HQCHART_VERSION="1.1.12454";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
12481
+ */var HQCHART_VERSION="1.1.12458";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
12482
12482
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
12483
12483
  // BaseIndex:BaseIndex,
12484
12484
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "hqchart",
3
3
  "description": "stock chart",
4
4
  "author": "jones2000",
5
- "version": "1.1.12455",
5
+ "version": "1.1.12459",
6
6
  "main": "lib/main.js",
7
7
  "private": false,
8
8
  "license": "Apache License 2.0",
@@ -1586,6 +1586,8 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
1586
1586
 
1587
1587
  if (!chart) return false;
1588
1588
 
1589
+ this.JSChartContainer=chart;
1590
+
1589
1591
  if (option.OnCreatedCallback) option.OnCreatedCallback(chart);
1590
1592
 
1591
1593
  //是否自动更新
@@ -38014,6 +38016,7 @@ function MinuteTooltipPaint()
38014
38016
 
38015
38017
  var upperSymbol;
38016
38018
  this.YClose=this.TitlePaint.YClose;
38019
+ this.YClose=item.YClose;
38017
38020
  if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
38018
38021
  var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
38019
38022
 
@@ -38357,6 +38360,9 @@ function MinuteLeftTooltipPaint()
38357
38360
  if (drawData.Type==0) //连续交易
38358
38361
  {
38359
38362
  var item=drawData.Data;
38363
+ if (!item) return;
38364
+
38365
+ this.YClose=item.YClose;
38360
38366
  var titleItem=this.FormatDate(item.Date);
38361
38367
  if (titleItem) aryText.push(titleItem);
38362
38368
 
@@ -38392,6 +38398,8 @@ function MinuteLeftTooltipPaint()
38392
38398
  {
38393
38399
  var item=drawData.Data.Data;
38394
38400
  if (!item) return;
38401
+
38402
+ this.YClose=item.YClose;
38395
38403
  var titleItem=this.FormatDate(item.Date);
38396
38404
  if (titleItem) aryText.push(titleItem);
38397
38405
 
@@ -48275,7 +48283,7 @@ function DynamicMinuteTitlePainting()
48275
48283
  var text, strTime, strDate;
48276
48284
  strDate=IFrameSplitOperator.FormatDateString(item.Date);
48277
48285
  var yClose=item.YClose;
48278
-
48286
+
48279
48287
  //时间
48280
48288
  if (data.Ver==1.0) strTime=IFrameSplitOperator.FormatTimeString(item.Time,"HH:MM");
48281
48289
  else strTime=IFrameSplitOperator.FormatTimeString(item.Time,"HH:MM:SS");
@@ -70924,9 +70932,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
70924
70932
  {
70925
70933
  if (self.ChartCorssCursor.IsShow === true) //移动十字光标
70926
70934
  {
70927
- var pixelTatio = GetDevicePixelRatio();
70928
- var x = drag.Click.X-uielement.getBoundingClientRect().left*pixelTatio;
70929
- var y = drag.Click.Y-uielement.getBoundingClientRect().top*pixelTatio;
70935
+ var pt=self.PointAbsoluteToRelative(drag.Click.X, drag.Click.Y, true);
70936
+ var x = pt.X;
70937
+ var y = pt.Y
70930
70938
  self.OnMouseMove(x, y, e);
70931
70939
  }
70932
70940
  }
@@ -5666,6 +5666,8 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5666
5666
 
5667
5667
  if (!chart) return false;
5668
5668
 
5669
+ this.JSChartContainer=chart;
5670
+
5669
5671
  if (option.OnCreatedCallback) option.OnCreatedCallback(chart);
5670
5672
 
5671
5673
  //是否自动更新
@@ -42094,6 +42096,7 @@ function MinuteTooltipPaint()
42094
42096
 
42095
42097
  var upperSymbol;
42096
42098
  this.YClose=this.TitlePaint.YClose;
42099
+ this.YClose=item.YClose;
42097
42100
  if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
42098
42101
  var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
42099
42102
 
@@ -42437,6 +42440,9 @@ function MinuteLeftTooltipPaint()
42437
42440
  if (drawData.Type==0) //连续交易
42438
42441
  {
42439
42442
  var item=drawData.Data;
42443
+ if (!item) return;
42444
+
42445
+ this.YClose=item.YClose;
42440
42446
  var titleItem=this.FormatDate(item.Date);
42441
42447
  if (titleItem) aryText.push(titleItem);
42442
42448
 
@@ -42472,6 +42478,8 @@ function MinuteLeftTooltipPaint()
42472
42478
  {
42473
42479
  var item=drawData.Data.Data;
42474
42480
  if (!item) return;
42481
+
42482
+ this.YClose=item.YClose;
42475
42483
  var titleItem=this.FormatDate(item.Date);
42476
42484
  if (titleItem) aryText.push(titleItem);
42477
42485
 
@@ -52355,7 +52363,7 @@ function DynamicMinuteTitlePainting()
52355
52363
  var text, strTime, strDate;
52356
52364
  strDate=IFrameSplitOperator.FormatDateString(item.Date);
52357
52365
  var yClose=item.YClose;
52358
-
52366
+
52359
52367
  //时间
52360
52368
  if (data.Ver==1.0) strTime=IFrameSplitOperator.FormatTimeString(item.Time,"HH:MM");
52361
52369
  else strTime=IFrameSplitOperator.FormatTimeString(item.Time,"HH:MM:SS");
@@ -75004,9 +75012,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
75004
75012
  {
75005
75013
  if (self.ChartCorssCursor.IsShow === true) //移动十字光标
75006
75014
  {
75007
- var pixelTatio = GetDevicePixelRatio();
75008
- var x = drag.Click.X-uielement.getBoundingClientRect().left*pixelTatio;
75009
- var y = drag.Click.Y-uielement.getBoundingClientRect().top*pixelTatio;
75015
+ var pt=self.PointAbsoluteToRelative(drag.Click.X, drag.Click.Y, true);
75016
+ var x = pt.X;
75017
+ var y = pt.Y
75010
75018
  self.OnMouseMove(x, y, e);
75011
75019
  }
75012
75020
  }
@@ -127795,7 +127803,7 @@ function ScrollBarBGChart()
127795
127803
 
127796
127804
 
127797
127805
 
127798
- var HQCHART_VERSION="1.1.12454";
127806
+ var HQCHART_VERSION="1.1.12458";
127799
127807
 
127800
127808
  function PrintHQChartVersion()
127801
127809
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.12454";
8
+ var HQCHART_VERSION="1.1.12458";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -5710,6 +5710,8 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5710
5710
 
5711
5711
  if (!chart) return false;
5712
5712
 
5713
+ this.JSChartContainer=chart;
5714
+
5713
5715
  if (option.OnCreatedCallback) option.OnCreatedCallback(chart);
5714
5716
 
5715
5717
  //是否自动更新
@@ -42138,6 +42140,7 @@ function MinuteTooltipPaint()
42138
42140
 
42139
42141
  var upperSymbol;
42140
42142
  this.YClose=this.TitlePaint.YClose;
42143
+ this.YClose=item.YClose;
42141
42144
  if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
42142
42145
  var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
42143
42146
 
@@ -42481,6 +42484,9 @@ function MinuteLeftTooltipPaint()
42481
42484
  if (drawData.Type==0) //连续交易
42482
42485
  {
42483
42486
  var item=drawData.Data;
42487
+ if (!item) return;
42488
+
42489
+ this.YClose=item.YClose;
42484
42490
  var titleItem=this.FormatDate(item.Date);
42485
42491
  if (titleItem) aryText.push(titleItem);
42486
42492
 
@@ -42516,6 +42522,8 @@ function MinuteLeftTooltipPaint()
42516
42522
  {
42517
42523
  var item=drawData.Data.Data;
42518
42524
  if (!item) return;
42525
+
42526
+ this.YClose=item.YClose;
42519
42527
  var titleItem=this.FormatDate(item.Date);
42520
42528
  if (titleItem) aryText.push(titleItem);
42521
42529
 
@@ -52399,7 +52407,7 @@ function DynamicMinuteTitlePainting()
52399
52407
  var text, strTime, strDate;
52400
52408
  strDate=IFrameSplitOperator.FormatDateString(item.Date);
52401
52409
  var yClose=item.YClose;
52402
-
52410
+
52403
52411
  //时间
52404
52412
  if (data.Ver==1.0) strTime=IFrameSplitOperator.FormatTimeString(item.Time,"HH:MM");
52405
52413
  else strTime=IFrameSplitOperator.FormatTimeString(item.Time,"HH:MM:SS");
@@ -75048,9 +75056,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
75048
75056
  {
75049
75057
  if (self.ChartCorssCursor.IsShow === true) //移动十字光标
75050
75058
  {
75051
- var pixelTatio = GetDevicePixelRatio();
75052
- var x = drag.Click.X-uielement.getBoundingClientRect().left*pixelTatio;
75053
- var y = drag.Click.Y-uielement.getBoundingClientRect().top*pixelTatio;
75059
+ var pt=self.PointAbsoluteToRelative(drag.Click.X, drag.Click.Y, true);
75060
+ var x = pt.X;
75061
+ var y = pt.Y
75054
75062
  self.OnMouseMove(x, y, e);
75055
75063
  }
75056
75064
  }
@@ -127839,7 +127847,7 @@ function ScrollBarBGChart()
127839
127847
 
127840
127848
 
127841
127849
 
127842
- var HQCHART_VERSION="1.1.12454";
127850
+ var HQCHART_VERSION="1.1.12458";
127843
127851
 
127844
127852
  function PrintHQChartVersion()
127845
127853
  {
@@ -1000,7 +1000,7 @@ function DynamicMinuteTitlePainting()
1000
1000
  var item=data.Data;
1001
1001
  var defaultfloatPrecision = this.GetDecimal(this.Symbol); //价格小数位数
1002
1002
  var aryText=[];
1003
-
1003
+ var yClose=item.YClose;
1004
1004
  if (this.IsShowName) aryText.push({ Text:this.Name, Color:this.NameColor });
1005
1005
 
1006
1006
  var text = IFrameSplitOperator.FormatDateTimeString(item.DateTime, this.IsShowDate ? 'YYYY-MM-DD HH-MM' : 'HH-MM');
@@ -1008,7 +1008,7 @@ function DynamicMinuteTitlePainting()
1008
1008
 
1009
1009
  if (IFrameSplitOperator.IsNumber(item.Close))
1010
1010
  {
1011
- var color = this.GetColor(item.Close, this.YClose);
1011
+ var color = this.GetColor(item.Close, yClose);
1012
1012
  var text = g_JSChartLocalization.GetText('MTitle-Close', this.LanguageID) + item.Close.toFixed(defaultfloatPrecision);
1013
1013
  aryText.push({ Text:text, Color:color });
1014
1014
  }
@@ -1022,7 +1022,7 @@ function DynamicMinuteTitlePainting()
1022
1022
 
1023
1023
  if (IFrameSplitOperator.IsNumber(item.AvPrice) && this.IsShowAveragePrice==true)
1024
1024
  {
1025
- var color = this.GetColor(item.AvPrice, this.YClose);
1025
+ var color = this.GetColor(item.AvPrice, yClose);
1026
1026
  var text = g_JSChartLocalization.GetText('MTitle-AvPrice', this.LanguageID) + item.AvPrice.toFixed(defaultfloatPrecision);
1027
1027
  aryText.push({ Text:text, Color:color });
1028
1028
  }
@@ -169,6 +169,7 @@ function MinuteData()
169
169
  this.Time;
170
170
  this.Position = null; //持仓量
171
171
  this.YClearing; //昨结算价
172
+ this.YClose; //昨收
172
173
 
173
174
  this.ExtendData; //扩展数据
174
175
  }
@@ -456,6 +456,7 @@ function MinuteTooltipPaint()
456
456
  if (this.HQChart.Symbol) upperSymbol=this.HQChart.Symbol.toUpperCase();
457
457
  var defaultfloatPrecision = JSCommonCoordinateData.GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
458
458
  this.YClose = this.KLineTitlePaint.YClose;
459
+ this.YClose=item.YClose;
459
460
 
460
461
  var aryText=[];
461
462
  var result={ AryText:aryText };
@@ -9808,6 +9808,7 @@ MinuteChartContainer.JsonDataToMinuteData = function (data)
9808
9808
  if (jsData.price) preClose = jsData.price;
9809
9809
  if (jsData.avprice) preAvPrice = jsData.avprice;
9810
9810
 
9811
+ item.YClose=yClose;
9811
9812
  item.Close = jsData.price;
9812
9813
  item.Open = jsData.open;
9813
9814
  item.High = jsData.high;
@@ -9877,6 +9878,7 @@ MinuteChartContainer.JsonDataToMinuteDataArray = function (data)
9877
9878
  var jsData = dayData.minute[j];
9878
9879
  if (jsData[2]) preClose = jsData[2]; //保存上一个收盘数据
9879
9880
  var item = new MinuteData();
9881
+ item.YClose=yClose;
9880
9882
  item.Close = jsData[2];
9881
9883
  item.Open = jsData[1];
9882
9884
  item.High = jsData[3];