hqchart 1.1.15736 → 1.1.15740

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.
@@ -1943,7 +1943,8 @@ return this.MoveIndex({WindowIndex:startFrameID,IndexID:info.IndexID},{WindowInd
1943
1943
  this.GetSelectedChartInfo=function(selectedChart){if(!selectedChart)return null;var result={Type:0};var id=selectedChart.Identify;if(id=="Main-KLine"){result.Name=this.Name;result.Symbol=this.Symbol;result.Type=JSCHART_DRAGCHART_TYPE_ID.MAIN_KLINE;}else if(id.indexOf("Overlay-KLine-")==0){result.Name=selectedChart.Chart.Title;result.Symbol=selectedChart.Chart.Symbol;result.Type=JSCHART_DRAGCHART_TYPE_ID.OVERLAY_KLINE;}else if(id.indexOf("Overlay-Minute-")==0){result.Name=selectedChart.Chart.Title;result.Symbol=selectedChart.Chart.Symbol;result.Type=JSCHART_DRAGCHART_TYPE_ID.OVERLAY_MINUTE;}else if(id=="Minute-Line"){result.Name=this.Name;result.Symbol=this.Symbol;result.Type=JSCHART_DRAGCHART_TYPE_ID.MAIN_MINUTE;}else if(id=="Minute-Average-Line"){result.Name=this.Name;result.Symbol=this.Symbol;result.Type=JSCHART_DRAGCHART_TYPE_ID.MAIN_AVERAGE_MINUTE;}else if(id=="Minute-Vol-Bar"){result.Name=this.Name;result.Symbol=this.Symbol;result.Type=JSCHART_DRAGCHART_TYPE_ID.MAIN_MINUTE_VOL;}else if(id.indexOf("guid")==0){for(var i=0;i<this.TitlePaint.length;++i){var titleItem=this.TitlePaint[i];if(titleItem.ClassName!="DynamicChartTitlePainting")continue;if(titleItem.Identify==id){result.IndexName=titleItem.Title;result.IndexID=id;result.Type=JSCHART_DRAGCHART_TYPE_ID.MAIN_INDEX;break;}var _iteratorNormalCompletion3=true;var _didIteratorError3=false;var _iteratorError3=undefined;try{for(var _iterator3=(0,_getIterator3.default)(titleItem.OverlayIndex),_step3;!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=true){var item=_step3.value;if(item[0]==id){result.IndexName=item[1].Title;result.IndexID=id;result.Type=JSCHART_DRAGCHART_TYPE_ID.OVERLAY_INDEX;break;}}}catch(err){_didIteratorError3=true;_iteratorError3=err;}finally{try{if(!_iteratorNormalCompletion3&&_iterator3.return){_iterator3.return();}}finally{if(_didIteratorError3){throw _iteratorError3;}}}if(result.Type>0)break;}}return result;};//点击事件
1944
1944
  this.ClickEvent=function(e){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK);if(!event||!event.Callback)return false;if(this.ClickDownPoint.X!=e.clientX||this.ClickDownPoint.Y!=e.clientY)return false;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-uielement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-uielement.getBoundingClientRect().top)*pixelTatio;var data={X:e.clientX,Y:e.clientY,FrameID:-1};var clientPos=this.PtInClient(x,y);if(clientPos>0){var yValueExtend={};var yValue=this.Frame.GetYData(y,yValueExtend);if(IFrameSplitOperator.IsNumber(yValueExtend.FrameID)&&yValueExtend.FrameID>=0){var xValue=this.Frame.GetXData(x);data.FrameID=yValueExtend.FrameID;data.Data={X:xValue,Y:yValue};}}event.Callback(event,data,this);return true;};//双击事件
1945
1945
  this.DBClickEvent=function(dbClickInfo,e){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DBCLICK);if(!event||!event.Callback)return false;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-uielement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-uielement.getBoundingClientRect().top)*pixelTatio;var data={X:e.clientX,Y:e.clientY,FrameID:-1,ClientPos:-1};var clientPos=this.PtInClient(x,y);data.ClientPos=clientPos;if(clientPos>0){var yValueExtend={};var yValue=this.Frame.GetYData(y,yValueExtend);if(IFrameSplitOperator.IsNumber(yValueExtend.FrameID)&&yValueExtend.FrameID>=0){var xValue=this.Frame.GetXData(x);data.FrameID=yValueExtend.FrameID;data.Data={X:xValue,Y:yValue};if(this.GetDataItem)data.Data.Item=this.GetDataItem({ClientPos:clientPos,Index:xValue,Point:{X:x,Y:y}});}}//选中图形
1946
- if(dbClickInfo&&dbClickInfo.SelectedChart){data.SelectedChart=this.GetSelectedChartInfo(dbClickInfo.SelectedChart);}event.Callback(event,data,this);return true;};this.PtInChartPaintTooltip=function(x,y,toolTip){for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip))return item;}return null;};//叠加指标提示信息
1946
+ if(dbClickInfo&&dbClickInfo.SelectedChart){data.SelectedChart=this.GetSelectedChartInfo(dbClickInfo.SelectedChart);}event.Callback(event,data,this);return true;};this.PtInChartPaintTooltip=function(x,y,toolTip){if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaint))return null;//最后画的先检测
1947
+ for(var i=this.ChartPaint.length-1;i>=0;--i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip))return item;}return null;};//叠加指标提示信息
1947
1948
  this.PtInOverlayIndexTooltip=function(x,y,tooltip){var windowIndex=this.Frame.PtInFrame(x,y);if(windowIndex<0)return null;if(!this.Frame.SubFrame[windowIndex])return null;var aryOverlay=this.Frame.SubFrame[windowIndex].OverlayIndex;if(!IFrameSplitOperator.IsNonEmptyArray(aryOverlay))return null;for(var i=0;i<aryOverlay.length;++i){var overlayItem=aryOverlay[i];if(!IFrameSplitOperator.IsNonEmptyArray(overlayItem.ChartPaint))continue;for(var j=0;j<overlayItem.ChartPaint.length;++j){var item=overlayItem.ChartPaint[j];if(!item.IsShow)continue;if(item.IsHideScriptIndex())continue;if(item.GetTooltipData(x,y,tooltip)){tooltip.OverlayIndex={WindowIndex:windowIndex,Identify:overlayItem.Identify};if(overlayItem.Script){tooltip.OverlayIndex.IndexName=overlayItem.Script.Name;tooltip.OverlayIndex.IndexID=overlayItem.Script.ID;}return item;}}}return null;};this.PtInOverlayChartPaintTooltip=function(x,y,toolTip){for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(item.GetTooltipData(x,y,toolTip))return item;}return null;};//扩展图形支持tooltip外部接口
1948
1949
  this.PtInExtendChartPaintTooltip=function(x,y,tooltip){return null;};this.TryClickPaintEvent=function(eventID,ptClick,e){var event=this.GetEventCallback(eventID);if(event&&event.Callback){if(ptClick.X==e.clientX&&ptClick.Y==e.clientY){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-uielement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-uielement.getBoundingClientRect().top)*pixelTatio;var toolTip=new TooltipData();var stock=null;//主数据
1949
1950
  var paint=this.PtInChartPaintTooltip(x,y,toolTip);if(paint)stock={Symbol:this.Symbol,Name:this.Name};if(!paint)//叠加数据
@@ -4464,8 +4465,8 @@ this.TextColor=g_JSChartResource.ChartScatterPlotV2.TextColor;this.Radius=g_JSCh
4464
4465
  var align=2;var yOffset=2;var xText=x;if(IFrameSplitOperator.IsNumber(item.YOffset))yOffset=item.YOffset;//Y偏移
4465
4466
  if(IFrameSplitOperator.IsNumber(item.BaseLine))baseLine=item.BaseLine;var yText=y-radius-yOffset;if(baseLine==2)yText=y+radius+this.TextHeight+yOffset;//下
4466
4467
  if(IFrameSplitOperator.IsNumber(item.Align))align=item.Align;//左中右
4467
- if(align==1)xText=x-textWidth;else if(align==2)xText=x-textWidth/2;var rtText=null;if(item.BG&&item.BG.Color){var bgItem=item.BG;var marginLeft=2,marginRight=2,yBGOffset=1,marginBottom=0,marginTop=0;if(IFrameSplitOperator.IsNumber(bgItem.MarginLeft))marginLeft=bgItem.MarginLeft;if(IFrameSplitOperator.IsNumber(bgItem.MarginRight))marginRight=bgItem.MarginRight;if(IFrameSplitOperator.IsNumber(bgItem.MarginBottom))marginBottom=bgItem.MarginBottom;if(IFrameSplitOperator.IsNumber(bgItem.MarginTop))marginTop=bgItem.MarginTop;if(IFrameSplitOperator.IsNumber(bgItem.YOffset))yBGOffset=bgItem.YOffset;var rtBG={Left:xText-marginLeft,Bottom:yText+yBGOffset+marginBottom,Width:textWidth+marginLeft+marginRight,Height:this.TextHeight+marginBottom+marginTop};rtBG.Right=rtBG.Left+rtBG.Width;rtBG.Top=rtBG.Bottom-rtBG.Height;if(this.IsTextOverlap(rtBG))return;this.Canvas.fillStyle=bgItem.Color;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);rtText=rtBG;}else{rtText={Left:xText,Bottom:yText,Width:textWidth,Height:this.TextHeight};rtText.Right=rtText.Left+rtText.Width;rtText.Top=rtText.Bottom-rtText.Height;if(this.IsTextOverlap(rtText))return;}if(item.Color)this.Canvas.fillStyle=item.Color;else this.Canvas.fillStyle=this.TextColor;this.Canvas.fillText(text,xText,yText);this.AryDrawRect.push(rtText);};this.IsTextOverlap=function(rtText){for(var i=0;i<this.AryDrawRect.length;++i){var item=this.AryDrawRect[i];if(IsRectOverlap(rtText,item))return true;}return false;};this.GetMaxMin=function(){var range={Min:null,Max:null};if(!IFrameSplitOperator.IsNonEmptyArray(this.AryPoint))return range;if(!this.MapCache||this.MapCache.size<=0)return range;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;if(this.ChartFrame.GlobalOption&&this.ChartFrame.GlobalOption.IsValueFullRange){start=0;xPointCount=this.Data.Data.length;}for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var kItem=this.Data.Data[i];if(!kItem)continue;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(!IFrameSplitOperator.IsNonEmptyArray(mapItem.Data))continue;for(var k=0;k<mapItem.Data.length;++k){var item=mapItem.Data[k];var value=item.Value;if(IFrameSplitOperator.IsString(item.Value))value=this.GetKValue(kItem,item.Value);if(!IFrameSplitOperator.IsNumber(value))continue;if(range.Max==null)range.Max=value;else if(range.Max<value)range.Max=value;if(range.Min==null)range.Min=value;else if(range.Min>value)range.Min=value;}}return range;};this.GetTooltipData=function(x,y,tooltip){if(!this.IsShow)return false;if(!IFrameSplitOperator.IsNonEmptyArray(this.TooltipData))return false;for(var i=this.TooltipData.length-1;i>=0;--i){var item=this.TooltipData[i];this.Canvas.beginPath();this.Canvas.arc(item.X,item.Y,item.Radius,0,2*Math.PI);if(this.Canvas.isPointInPath(x,y)){JSConsole.Chart.Log('[ChartScatterPlotV2::GetTooltipData] point',item);tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=6;//散点图
4468
- return true;}}};}//子线段
4468
+ if(align==1)xText=x-textWidth;else if(align==2)xText=x-textWidth/2;var rtText=null;if(item.BG&&item.BG.Color){var bgItem=item.BG;var marginLeft=2,marginRight=2,yBGOffset=1,marginBottom=0,marginTop=0;if(IFrameSplitOperator.IsNumber(bgItem.MarginLeft))marginLeft=bgItem.MarginLeft;if(IFrameSplitOperator.IsNumber(bgItem.MarginRight))marginRight=bgItem.MarginRight;if(IFrameSplitOperator.IsNumber(bgItem.MarginBottom))marginBottom=bgItem.MarginBottom;if(IFrameSplitOperator.IsNumber(bgItem.MarginTop))marginTop=bgItem.MarginTop;if(IFrameSplitOperator.IsNumber(bgItem.YOffset))yBGOffset=bgItem.YOffset;var rtBG={Left:xText-marginLeft,Bottom:yText+yBGOffset+marginBottom,Width:textWidth+marginLeft+marginRight,Height:this.TextHeight+marginBottom+marginTop};rtBG.Right=rtBG.Left+rtBG.Width;rtBG.Top=rtBG.Bottom-rtBG.Height;if(this.IsTextOverlap(rtBG))return;this.Canvas.fillStyle=bgItem.Color;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);rtText=rtBG;}else{rtText={Left:xText,Bottom:yText,Width:textWidth,Height:this.TextHeight};rtText.Right=rtText.Left+rtText.Width;rtText.Top=rtText.Bottom-rtText.Height;if(this.IsTextOverlap(rtText))return;}if(item.Color)this.Canvas.fillStyle=item.Color;else this.Canvas.fillStyle=this.TextColor;this.Canvas.fillText(text,xText,yText);this.AryDrawRect.push(rtText);};this.IsTextOverlap=function(rtText){for(var i=0;i<this.AryDrawRect.length;++i){var item=this.AryDrawRect[i];if(IsRectOverlap(rtText,item))return true;}return false;};this.GetMaxMin=function(){var range={Min:null,Max:null};if(!IFrameSplitOperator.IsNonEmptyArray(this.AryPoint))return range;if(!this.MapCache||this.MapCache.size<=0)return range;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;var xPointCount=this.ChartFrame.XPointCount;var start=this.Data.DataOffset;if(this.ChartFrame.GlobalOption&&this.ChartFrame.GlobalOption.IsValueFullRange){start=0;xPointCount=this.Data.Data.length;}for(var i=start,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var kItem=this.Data.Data[i];if(!kItem)continue;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(!IFrameSplitOperator.IsNonEmptyArray(mapItem.Data))continue;for(var k=0;k<mapItem.Data.length;++k){var item=mapItem.Data[k];var value=item.Value;if(IFrameSplitOperator.IsString(item.Value))value=this.GetKValue(kItem,item.Value);if(!IFrameSplitOperator.IsNumber(value))continue;if(range.Max==null)range.Max=value;else if(range.Max<value)range.Max=value;if(range.Min==null)range.Min=value;else if(range.Min>value)range.Min=value;}}return range;};this.GetTooltipData=function(x,y,tooltip){if(!this.IsShow)return false;if(!IFrameSplitOperator.IsNonEmptyArray(this.TooltipData))return false;for(var i=this.TooltipData.length-1;i>=0;--i){var item=this.TooltipData[i];if(Path2DHelper.PtInPoint(x,y,item,item.Radius)){JSConsole.Chart.Log('[ChartScatterPlotV2::GetTooltipData] point',item);tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=6;//散点图
4469
+ return true;}}return false;};}//子线段
4469
4470
  function ChartSubLine(){this.newMethod=ChartLine;//派生
4470
4471
  this.newMethod();delete this.newMethod;this.ClassName='ChartSubLine';//类名
4471
4472
  this.Color="rgb(255,193,37)";//线段颜色
@@ -13306,7 +13307,7 @@ if(item.data){outVarItem.Data=this.FittingMinuteArray(item.data,date,time,hqChar
13306
13307
  {drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='STICKLINE')//柱子
13307
13308
  {drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.Width=draw.Width;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.OVERLAY_BARS){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.BarName=draw.BarName;drawItem.BarColor=draw.BarColor;drawItem.LineWidth=draw.LineWidth;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.CLIP_COLOR_STICK){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.Data,date,time,hqChart);outVarItem.Draw=drawItem;if(draw.Option)outVarItem.Option=draw.Option;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.BASELINE_BAR){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_LINE'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);for(var k in drawItem.DrawData){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}outVarItem.Draw=drawItem;if(draw.LineDash)drawItem.LineDash=draw.LineDash;if(draw.Arrow)drawItem.Arrow=draw.Arrow;result.push(outVarItem);}else if(draw.DrawType=='MULTI_POINT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_TEXT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_SVGICON'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={Icon:draw.DrawData.Icon,Family:draw.DrawData.Family};outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWSVG'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;if(draw.AutoPosition)drawItem.AutoPosition=draw.AutoPosition;drawItem.EnalbeDetailNoOverlap=draw.EnalbeDetailNoOverlap;drawItem.EnableClick=draw.EnableClick;if(draw.BuildKeyCallback)drawItem.BuildKeyCallback=draw.BuildKeyCallback;drawItem.DrawData={Data:draw.Data,Family:draw.Family,TextFont:draw.TextFont,EnableTooltip:draw.EnableTooltip,IsDrawFirst:draw.IsDrawFirst};outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="MULTI_HTMLDOM")//外部自己创建dom
13308
13309
  {drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.Callback=draw.Callback;drawItem.DrawData=this.FittingMultiText(draw.DrawData,date,time,hqChart);this.GetKLineData(drawItem.DrawData,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_BAR'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="DRAWCOLORKLINE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;if(draw.Color)drawItem.Color=draw.Color;if(IFrameSplitOperator.IsBool(draw.IsEmptyBar))drawItem.IsEmptyBar=draw.IsEmptyBar;result.push(outVarItem);}else if(draw.DrawType=="DRAWTEXT_LINE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;//{ Price:, Text:{ Title:text, Color:textcolor }, Line:{ Type:linetype, Color:linecolor } };
13309
- outVarItem.Draw=drawItem;if(draw.Font)outVarItem.Font=draw.Font;result.push(outVarItem);}else if(draw.DrawType=="DRAWTITLE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.KLINE_TABLE){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;drawItem.RowCount=draw.RowCount;drawItem.RowName=draw.RowName;drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.DRAW_HORIZONTAL_CHANNEL){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else{var find=g_ScriptIndexChartFactory.Get(draw.DrawType);//外部挂接
13310
+ outVarItem.Draw=drawItem;if(draw.Font)outVarItem.Font=draw.Font;result.push(outVarItem);}else if(draw.DrawType=="DRAWTITLE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.KLINE_TABLE){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;drawItem.RowCount=draw.RowCount;drawItem.RowName=draw.RowName;drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.DRAW_HORIZONTAL_CHANNEL){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT_V2){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;drawItem.Config=draw.Config;outVarItem.Draw=drawItem;result.push(outVarItem);}else{var find=g_ScriptIndexChartFactory.Get(draw.DrawType);//外部挂接
13310
13311
  if(find&&find.MinuteFittingCallback){if(find.MinuteFittingCallback(item,outVarItem,{Date:date,Time:time,HQChart:hqChart},this))result.push(outVarItem);}}}}return result;};//matchType 0=精确匹配(默认) 5=模糊匹配
13311
13312
  this.FittingMinuteArray=function(sourceData,date,time,hqChart,matchType){var minutedata=hqChart.SourceData;;//分钟线
13312
13313
  var arySingleData=[];for(var i in sourceData){var value=sourceData[i];var indexItem=new SingleData();//单列指标数据
@@ -16332,7 +16333,7 @@ if(this.MouseOnItem){if(this.MouseOnItem.Data==item)color=this.TextConfig.MouseO
16332
16333
  */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;};}/********************************************************************************
16333
16334
  * 版本信息输出
16334
16335
  *
16335
- */var HQCHART_VERSION="1.1.15735";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();//把给外界调用的方法暴露出来
16336
+ */var HQCHART_VERSION="1.1.15739";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();//把给外界调用的方法暴露出来
16336
16337
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
16337
16338
  // BaseIndex:BaseIndex,
16338
16339
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.15736",
3
+ "version": "1.1.15740",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -27046,6 +27046,16 @@ function APIScriptIndex(name,script,args,option, isOverlay)
27046
27046
  outVarItem.Draw=drawItem;
27047
27047
  result.push(outVarItem);
27048
27048
  }
27049
+ else if (draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT_V2)
27050
+ {
27051
+ drawItem.Name=draw.Name;
27052
+ drawItem.Type=draw.Type;
27053
+ drawItem.DrawType=draw.DrawType;
27054
+ drawItem.DrawData=draw.DrawData;
27055
+ drawItem.Config=draw.Config;
27056
+ outVarItem.Draw=drawItem;
27057
+ result.push(outVarItem);
27058
+ }
27049
27059
  else
27050
27060
  {
27051
27061
  var find=g_ScriptIndexChartFactory.Get(draw.DrawType); //外部挂接
@@ -5528,7 +5528,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
5528
5528
 
5529
5529
  this.PtInChartPaintTooltip=function(x,y, toolTip)
5530
5530
  {
5531
- for(var i=0;i<this.ChartPaint.length;++i)
5531
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaint)) return null;
5532
+ //最后画的先检测
5533
+ for(var i=this.ChartPaint.length-1; i>=0; --i)
5532
5534
  {
5533
5535
  var item=this.ChartPaint[i];
5534
5536
  if (item.GetTooltipData(x,y,toolTip))
@@ -38232,9 +38234,7 @@ function ChartScatterPlotV2()
38232
38234
  {
38233
38235
  var item=this.TooltipData[i];
38234
38236
 
38235
- this.Canvas.beginPath();
38236
- this.Canvas.arc(item.X, item.Y, item.Radius, 0, 2 * Math.PI);
38237
- if (this.Canvas.isPointInPath(x,y))
38237
+ if (Path2DHelper.PtInPoint(x, y, item, item.Radius))
38238
38238
  {
38239
38239
  JSConsole.Chart.Log('[ChartScatterPlotV2::GetTooltipData] point', item);
38240
38240
  tooltip.Data=item;
@@ -38243,6 +38243,8 @@ function ChartScatterPlotV2()
38243
38243
  return true;
38244
38244
  }
38245
38245
  }
38246
+
38247
+ return false;
38246
38248
  }
38247
38249
 
38248
38250
  }
@@ -9626,7 +9626,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
9626
9626
 
9627
9627
  this.PtInChartPaintTooltip=function(x,y, toolTip)
9628
9628
  {
9629
- for(var i=0;i<this.ChartPaint.length;++i)
9629
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaint)) return null;
9630
+ //最后画的先检测
9631
+ for(var i=this.ChartPaint.length-1; i>=0; --i)
9630
9632
  {
9631
9633
  var item=this.ChartPaint[i];
9632
9634
  if (item.GetTooltipData(x,y,toolTip))
@@ -42330,9 +42332,7 @@ function ChartScatterPlotV2()
42330
42332
  {
42331
42333
  var item=this.TooltipData[i];
42332
42334
 
42333
- this.Canvas.beginPath();
42334
- this.Canvas.arc(item.X, item.Y, item.Radius, 0, 2 * Math.PI);
42335
- if (this.Canvas.isPointInPath(x,y))
42335
+ if (Path2DHelper.PtInPoint(x, y, item, item.Radius))
42336
42336
  {
42337
42337
  JSConsole.Chart.Log('[ChartScatterPlotV2::GetTooltipData] point', item);
42338
42338
  tooltip.Data=item;
@@ -42341,6 +42341,8 @@ function ChartScatterPlotV2()
42341
42341
  return true;
42342
42342
  }
42343
42343
  }
42344
+
42345
+ return false;
42344
42346
  }
42345
42347
 
42346
42348
  }
@@ -140800,6 +140802,16 @@ function APIScriptIndex(name,script,args,option, isOverlay)
140800
140802
  outVarItem.Draw=drawItem;
140801
140803
  result.push(outVarItem);
140802
140804
  }
140805
+ else if (draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT_V2)
140806
+ {
140807
+ drawItem.Name=draw.Name;
140808
+ drawItem.Type=draw.Type;
140809
+ drawItem.DrawType=draw.DrawType;
140810
+ drawItem.DrawData=draw.DrawData;
140811
+ drawItem.Config=draw.Config;
140812
+ outVarItem.Draw=drawItem;
140813
+ result.push(outVarItem);
140814
+ }
140803
140815
  else
140804
140816
  {
140805
140817
  var find=g_ScriptIndexChartFactory.Get(draw.DrawType); //外部挂接
@@ -159232,7 +159244,7 @@ function ScrollBarBGChart()
159232
159244
 
159233
159245
 
159234
159246
 
159235
- var HQCHART_VERSION="1.1.15735";
159247
+ var HQCHART_VERSION="1.1.15739";
159236
159248
 
159237
159249
  function PrintHQChartVersion()
159238
159250
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.15735";
8
+ var HQCHART_VERSION="1.1.15739";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -9670,7 +9670,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
9670
9670
 
9671
9671
  this.PtInChartPaintTooltip=function(x,y, toolTip)
9672
9672
  {
9673
- for(var i=0;i<this.ChartPaint.length;++i)
9673
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaint)) return null;
9674
+ //最后画的先检测
9675
+ for(var i=this.ChartPaint.length-1; i>=0; --i)
9674
9676
  {
9675
9677
  var item=this.ChartPaint[i];
9676
9678
  if (item.GetTooltipData(x,y,toolTip))
@@ -42374,9 +42376,7 @@ function ChartScatterPlotV2()
42374
42376
  {
42375
42377
  var item=this.TooltipData[i];
42376
42378
 
42377
- this.Canvas.beginPath();
42378
- this.Canvas.arc(item.X, item.Y, item.Radius, 0, 2 * Math.PI);
42379
- if (this.Canvas.isPointInPath(x,y))
42379
+ if (Path2DHelper.PtInPoint(x, y, item, item.Radius))
42380
42380
  {
42381
42381
  JSConsole.Chart.Log('[ChartScatterPlotV2::GetTooltipData] point', item);
42382
42382
  tooltip.Data=item;
@@ -42385,6 +42385,8 @@ function ChartScatterPlotV2()
42385
42385
  return true;
42386
42386
  }
42387
42387
  }
42388
+
42389
+ return false;
42388
42390
  }
42389
42391
 
42390
42392
  }
@@ -140844,6 +140846,16 @@ function APIScriptIndex(name,script,args,option, isOverlay)
140844
140846
  outVarItem.Draw=drawItem;
140845
140847
  result.push(outVarItem);
140846
140848
  }
140849
+ else if (draw.DrawType==SCRIPT_CHART_NAME.SCATTER_PLOT_V2)
140850
+ {
140851
+ drawItem.Name=draw.Name;
140852
+ drawItem.Type=draw.Type;
140853
+ drawItem.DrawType=draw.DrawType;
140854
+ drawItem.DrawData=draw.DrawData;
140855
+ drawItem.Config=draw.Config;
140856
+ outVarItem.Draw=drawItem;
140857
+ result.push(outVarItem);
140858
+ }
140847
140859
  else
140848
140860
  {
140849
140861
  var find=g_ScriptIndexChartFactory.Get(draw.DrawType); //外部挂接
@@ -175596,7 +175608,7 @@ function ChartScrollText()
175596
175608
 
175597
175609
 
175598
175610
 
175599
- var HQCHART_VERSION="1.1.15735";
175611
+ var HQCHART_VERSION="1.1.15739";
175600
175612
 
175601
175613
  function PrintHQChartVersion()
175602
175614
  {