hqchart 1.1.15235 → 1.1.15237
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
CHANGED
|
@@ -2018,7 +2018,7 @@ if(drag.CurrentMove){drag.CurrentMove.X=e.clientX;drag.CurrentMove.Y=e.clientY;}
|
|
|
2018
2018
|
JSConsole.Chart.Log("[JSChartContainer::DocOnMouseMove] YDrag ",this.YDrag,yMove);this.OnZoomUpDownFrameY(this.YDrag,yMove);drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;}else if(this.IndexChartDrag&&this.IndexChartDrag.SelectedChart)//选中图形移动
|
|
2019
2019
|
{if(Math.abs(drag.LastMove.Y-e.clientY)<2&&Math.abs(drag.LastMove.X-e.clientX)<2)return;var chartMove=this.GetExtendChartByClassName("DragMovePaint");if(chartMove&&chartMove.Chart){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;chartMove.Chart.Point={X:x,Y:y};chartMove.Chart.IsShow=true;chartMove.Chart.Info=this.IndexChartDrag.Info;this.DrawDynamicInfo();}this.IndexChartDrag.LastMove.X=x;this.IndexChartDrag.LastMove.Y=y;drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;}else if(this.CustomChartDrag){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var sendData={X:x,Y:y,e:e,ChartDrag:this.CustomChartDrag,Drag:drag};this.TryDragMove_CustomChartDrag(sendData);}else if(this.CurrentChartDrawPicture&&this.CurrentChartDrawPicture.EnableMove===true)//画图工具移动
|
|
2020
2020
|
{var drawPicture=this.CurrentChartDrawPicture;if(drawPicture.Status==1||drawPicture.Status==2){if(Math.abs(drag.LastMove.X-e.clientX)<5&&Math.abs(drag.LastMove.Y-e.clientY)<5)return;if(this.SetChartDrawPictureSecondPoint(e.clientX,e.clientY)){this.DrawDynamicInfo();}}else if(drawPicture.Status==3){if(this.SetChartDrawPictureThirdPoint(e.clientX,e.clientY)){this.DrawDynamicInfo();}}else if(drawPicture.Status==20)//画图工具移动
|
|
2021
|
-
{if(Math.abs(drag.LastMove.X-e.clientX)<5&&Math.abs(drag.LastMove.Y-e.clientY)<1)return;if(this.SelectChartDrawPicture){if(this.SelectChartDrawPicture.EnableCtrlMove){if(!e.ctrlKey)return;}}if(this.SelectChartDrawPicture&&this.SelectChartDrawPicture.DragInfo)this.SelectChartDrawPicture.DragInfo.Move={X:e.clientX,Y:e.client};if(this.MoveChartDrawPicture(e.clientX-drag.LastMove.X,e.clientY-drag.LastMove.Y,false,drag)){this.DrawDynamicInfo();}}drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;}else if(drag.Click&&drag.Click.IsInFrameBottom){var dragType=this.GetDragXCoordinateType(e,"DocOnMouseMove");if(dragType==2)this.OnDragXCoordinateZoom(drag,{X:moveSetp,Y:moveSetpY},e);else if(dragType==1)this.OnDragXCoordinateKLine(drag,{X:moveSetp,Y:moveSetpY},e);}else if((bLButtonSelectRect||bRButtonSelectRect)&&!isDragSelectRect&&!isDragSubSelectRect&&!bShfitDragKLine)//左右键区间选择
|
|
2021
|
+
{if(Math.abs(drag.LastMove.X-e.clientX)<5&&Math.abs(drag.LastMove.Y-e.clientY)<1)return;if(this.SelectChartDrawPicture){if(this.SelectChartDrawPicture.EnableCtrlMove){if(!e.ctrlKey)return;}}if(this.SelectChartDrawPicture&&this.SelectChartDrawPicture.DragInfo)this.SelectChartDrawPicture.DragInfo.Move={X:e.clientX,Y:e.client};if(this.MoveChartDrawPicture(e.clientX-drag.LastMove.X,e.clientY-drag.LastMove.Y,false,drag)){this.DrawDynamicInfo();}else{return;}}drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;}else if(drag.Click&&drag.Click.IsInFrameBottom){var dragType=this.GetDragXCoordinateType(e,"DocOnMouseMove");if(dragType==2)this.OnDragXCoordinateZoom(drag,{X:moveSetp,Y:moveSetpY},e);else if(dragType==1)this.OnDragXCoordinateKLine(drag,{X:moveSetp,Y:moveSetpY},e);}else if((bLButtonSelectRect||bRButtonSelectRect)&&!isDragSelectRect&&!isDragSubSelectRect&&!bShfitDragKLine)//左右键区间选择
|
|
2022
2022
|
{var yMoveSetp=Math.abs(drag.LastMove.Y-e.clientY);if(moveSetp<5&&yMoveSetp<5)return;this.SetCursor({Cursor:"default"});var ptStart=this.PointAbsoluteToRelative(drag.Click.X,drag.Click.Y);var ptEnd=this.PointAbsoluteToRelative(e.clientX,e.clientY);this.ShowDragSelectRect(ptStart,ptEnd);drag.LastMove.X=e.clientX;drag.LastMove.Y=e.clientY;}else if(this.DragMode==1||isDragSelectRect||isDragSubSelectRect)//数据上下左右拖拽 区间选择框左右拖动
|
|
2023
2023
|
{if(this.DataMoveConfig.Mouse.EnableLR)this.OnDragMode_One({X:moveSetp,Y:moveSetpY},e);}};//X轴坐标拖动 缩放K线
|
|
2024
2024
|
this.OnDragXCoordinateZoom=function(drag,moveData,e){var moveSetp=moveData.X;var moveSetpY=moveData.Y;if(moveSetp<5)return;var isLeft=true;if(drag.LastMove.X<e.clientX)isLeft=false;//右移数据
|
|
@@ -2389,7 +2389,7 @@ var pt=this.PointAbsoluteToRelative(x,y,isPhone);drawPicture.Point[2]=new Point(
|
|
|
2389
2389
|
return true;};//xStep,yStep 移动的偏移量
|
|
2390
2390
|
this.MoveChartDrawPicture=function(x,y,isPhone,drag){var drawPicture=this.CurrentChartDrawPicture;if(!drawPicture)return false;var pixelTatio=GetDevicePixelRatio();//x,y 需要乘以放大倍速
|
|
2391
2391
|
if(isPhone)pixelTatio=1;var xStep=x*pixelTatio;var yStep=y*pixelTatio;//JSConsole.Chart.Log("xStep="+xStep+" yStep="+yStep);
|
|
2392
|
-
drawPicture.Move(xStep,yStep,drag);return true;};this.FinishChartDrawPicturePoint=function(){var drawPicture=this.CurrentChartDrawPicture;if(!drawPicture)return false;if(drawPicture.PointCount!=drawPicture.Point.length)return false;if(drawPicture.ClassName=="ChartDrawRuler")//尺子不用保存的
|
|
2392
|
+
if(!drawPicture.Move(xStep,yStep,drag))return false;return true;};this.FinishChartDrawPicturePoint=function(){var drawPicture=this.CurrentChartDrawPicture;if(!drawPicture)return false;if(drawPicture.PointCount!=drawPicture.Point.length)return false;if(drawPicture.ClassName=="ChartDrawRuler")//尺子不用保存的
|
|
2393
2393
|
{if(drawPicture.FinishedCallback)drawPicture.FinishedCallback(drawPicture);this.CurrentChartDrawPicture=null;return true;}drawPicture.PointMagnetKLine();drawPicture.Status=10;//完成
|
|
2394
2394
|
drawPicture.PointToValue();this.ChartDrawPicture.push(drawPicture);this.CurrentChartDrawPicture=null;//通知上层画好了
|
|
2395
2395
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FINISH_DRAWPICTURE);//完成画图工具事件
|
|
@@ -6653,9 +6653,9 @@ this.ChangePeriod=function(period){var kData=this.GetKData();if(!kData)return;va
|
|
|
6653
6653
|
{var data=this.GetKData();if(!data)return false;var aryDateTime=[];for(var i=0;i<this.Value.length;++i){var item=this.Value[i];if(!item.DateTime)break;var dateTime={Date:item.DateTime.Date};if(IFrameSplitOperator.IsNumber(item.DateTime.Time))dateTime.Time=item.DateTime.Time;aryDateTime[i]=dateTime;}data.FindDataIndexByDateTime(aryDateTime);for(var i=0;i<aryDateTime.length;++i){var findItem=aryDateTime[i];var valueItem=this.Value[i];if(findItem.Index>=0)valueItem.XValue=findItem.Index;}};//重置X索引数据
|
|
6654
6654
|
this.ResetXValue=function(){for(var i=0;i<this.Value.length;++i){var item=this.Value[i];item.XValue=null;}return true;};//xStep,yStep 移动的偏移量
|
|
6655
6655
|
this.Move=function(xStep,yStep){if(this.Status!=20)return false;if(!this.Frame)return false;var data=this.Frame.Data;if(!data)return false;if(this.MovePointIndex==null)return false;var index=parseInt(this.MovePointIndex);if(index===100)//整体移动
|
|
6656
|
-
{if(this.IsMoveOutOfBounds(this.Point,xStep,yStep))return false;for(var i in this.Point){this.Point[i].X+=xStep;this.Point[i].Y+=yStep;}}else if(index===0||index===1||index===2||index===3||index===4||index===5){if(index<this.Point.length){this.Point[index].X+=xStep;this.Point[index].Y+=yStep;}}else{return false;}};//是否超出边界了
|
|
6656
|
+
{if(this.IsMoveOutOfBounds(this.Point,xStep,yStep))return false;for(var i in this.Point){this.Point[i].X+=xStep;this.Point[i].Y+=yStep;}}else if(index===0||index===1||index===2||index===3||index===4||index===5){if(index<this.Point.length){this.Point[index].X+=xStep;this.Point[index].Y+=yStep;}}else{return false;}return true;};//是否超出边界了
|
|
6657
6657
|
this.IsMoveOutOfBounds=function(aryPoint,xStep,yStep){if(!this.EnableMoveCheck)return false;if(!this.Frame)return false;if(this.Frame.ClassName=="MinuteFrame"||this.Frame.Class=="MinuteHScreenFrame")return false;var data=this.Frame.Data;if(!data)return false;if(!IFrameSplitOperator.IsNonEmptyArray(data.Data))return false;if(!IFrameSplitOperator.IsNonEmptyArray(aryPoint))return false;var isHScreen=this.Frame.IsHScreen;if(isHScreen){//TODO:横屏以后再做
|
|
6658
|
-
return false;}else{var offset=data.DataOffset;var startIndex=0-offset;var endIndex=data.Data.length-offset;if(xStep>0){var xEnd=this.Frame.GetXFromIndex(endIndex-1,false);for(var i=0;i<aryPoint.length;++i){var item=aryPoint[i];if(item.X+xStep>xEnd)return true;}}else if(xStep<0){var xStart=this.Frame.GetXFromIndex(startIndex,false);for(var i=0;i<aryPoint.length;++i){var item=aryPoint[i];if(item.X+xStep<xStart)return true;}}return false;}};this.ClipFrame=function(){if(this.Frame.IsHScreen){var left=this.Frame.ChartBorder.GetLeftEx();var top=this.Frame.ChartBorder.GetTop();var width=this.Frame.ChartBorder.GetWidthEx();var height=this.Frame.ChartBorder.GetHeight();}else{var left=this.Frame.ChartBorder.GetLeft();var top=this.Frame.ChartBorder.GetTopEx();var width=this.Frame.ChartBorder.GetWidth();var height=this.Frame.ChartBorder.GetHeightEx();}this.Canvas.save();this.Canvas.beginPath();this.Canvas.rect(left,top,width,height);this.Canvas.clip();};//计算需要画的点的坐标option:{IsCheckX:是否检测X值, IsCheckY:是否检测Y值}
|
|
6658
|
+
return false;}else{var offset=data.DataOffset;var startIndex=0-offset;var endIndex=data.Data.length-offset;if(this.ClassName=="ChartDrawHLine")return false;if(xStep>0){var xEnd=this.Frame.GetXFromIndex(endIndex-1,false);for(var i=0;i<aryPoint.length;++i){var item=aryPoint[i];if(item.X+xStep>xEnd)return true;}}else if(xStep<0){var xStart=this.Frame.GetXFromIndex(startIndex,false);for(var i=0;i<aryPoint.length;++i){var item=aryPoint[i];if(item.X+xStep<xStart)return true;}}return false;}};this.ClipFrame=function(){if(this.Frame.IsHScreen){var left=this.Frame.ChartBorder.GetLeftEx();var top=this.Frame.ChartBorder.GetTop();var width=this.Frame.ChartBorder.GetWidthEx();var height=this.Frame.ChartBorder.GetHeight();}else{var left=this.Frame.ChartBorder.GetLeft();var top=this.Frame.ChartBorder.GetTopEx();var width=this.Frame.ChartBorder.GetWidth();var height=this.Frame.ChartBorder.GetHeightEx();}this.Canvas.save();this.Canvas.beginPath();this.Canvas.rect(left,top,width,height);this.Canvas.clip();};//计算需要画的点的坐标option:{IsCheckX:是否检测X值, IsCheckY:是否检测Y值}
|
|
6659
6659
|
this.CalculateDrawPoint=function(option){if(this.Status<2)return null;if(!this.Point.length||!this.Frame)return null;var drawPoint=[];if(this.Status==10){var data=this.Frame.Data;if(!data)return null;var showCount=this.Frame.XPointCount;var invaildX=0;//超出范围的x点个数
|
|
6660
6660
|
var isHScreen=this.Frame.IsHScreen;for(var i=0;i<this.Value.length;++i){var item=this.Value[i];if(!IFrameSplitOperator.IsNumber(item.XValue))return null;//无效索引 不显示
|
|
6661
6661
|
var dataIndex=item.XValue-data.DataOffset;if(dataIndex<0||dataIndex>=showCount)++invaildX;var pt=new Point();if(isHScreen)//横屏X,Y对调
|
|
@@ -6993,7 +6993,7 @@ linePoint={Start:new Point(),End:new Point()};linePoint.Start.X=drawPoint[0].X;l
|
|
|
6993
6993
|
};//xStep,yStep 移动的偏移量
|
|
6994
6994
|
this.Move=function(xStep,yStep){if(this.Status!=20)return false;if(!this.Frame)return false;var data=this.Frame.Data;if(!data)return false;if(this.MovePointIndex==100)//整体移动
|
|
6995
6995
|
{for(var i=0;i<this.Point.length;++i){this.Point[i].X+=xStep;this.Point[i].Y+=yStep;}}else if(this.MovePointIndex==0||this.MovePointIndex==1){if(this.MovePointIndex<this.Point.length){this.Point[this.MovePointIndex].X+=xStep;this.Point[this.MovePointIndex].Y+=yStep;}}else if(this.MovePointIndex==2)//宽度的点要计算
|
|
6996
|
-
{this.Point[this.MovePointIndex].X+=xStep;this.Point[this.MovePointIndex].Y+=yStep;var x=this.Point[1].X-this.Point[0].X;var y=this.Point[1].Y-this.Point[0].Y;var angle=Math.atan(Math.abs(x/y));var yMove=this.ChannelWidth/Math.sin(angle)-yStep;this.ChannelWidth=Math.sin(angle)*yMove;}};//0-10 鼠标对应的点索引 100=鼠标在正个图形上 -1 鼠标不在图形上
|
|
6996
|
+
{this.Point[this.MovePointIndex].X+=xStep;this.Point[this.MovePointIndex].Y+=yStep;var x=this.Point[1].X-this.Point[0].X;var y=this.Point[1].Y-this.Point[0].Y;var angle=Math.atan(Math.abs(x/y));var yMove=this.ChannelWidth/Math.sin(angle)-yStep;this.ChannelWidth=Math.sin(angle)*yMove;}else{return false;}return true;};//0-10 鼠标对应的点索引 100=鼠标在正个图形上 -1 鼠标不在图形上
|
|
6997
6997
|
this.IsPointIn=function(x,y){if(!this.Frame||this.Status!=10)return-1;var data=this.Frame.Data;if(!data)return-1;//是否在点上
|
|
6998
6998
|
for(var i=0;i<this.Value.length;++i){var item=this.Value[i];var pt=new Point();if(i<2){pt.X=this.Frame.GetXFromIndex(item.XValue-data.DataOffset);pt.Y=this.Frame.GetYFromData(item.YValue);}else//第3个点使用实际坐标
|
|
6999
6999
|
{if(i>=this.Point.length)continue;pt.X=this.Point[i].X;pt.Y=this.Point[i].Y;}this.Canvas.beginPath();this.Canvas.arc(pt.X,pt.Y,5,0,360);if(this.Canvas.isPointInPath(x,y))return i;}//是否在线段上
|
|
@@ -7341,7 +7341,7 @@ this.Canvas.strokeStyle=this.LineColor;this.Canvas.beginPath();this.Canvas.moveT
|
|
|
7341
7341
|
var aryLabel=this.FormatLabelText(drawPoint);if(!IFrameSplitOperator.IsNonEmptyArray(aryLabel))return;this.TextFontHeight=this.GetFontHeight(this.LabelConfig.Font,"擎");for(var i=0;i<aryLabel.length;++i){var item=aryLabel[i];if(!IFrameSplitOperator.IsNonEmptyArray(item.AryText))continue;this.CalculateLabelSize(item);this.DrawLabelItem(item,drawPoint);}};this.DrawLabelItem=function(lableItem,drawPoint){var ptCenter=drawPoint[0];var ptRight=drawPoint[1];var ptTop=drawPoint[2];var ptBottom=drawPoint[3];var clientWidth=ptRight.X-ptCenter.X;var config=this.LabelConfig;var margin=config.Margin;var rtText={Width:lableItem.Width+margin.Left+margin.Right,Height:lableItem.Height+margin.Top+margin.Bottom};if(lableItem.Type==0)//中间
|
|
7342
7342
|
{rtText.Left=ptCenter.X+clientWidth/2-rtText.Width/2;rtText.Right=rtText.Left+rtText.Width;rtText.Top=ptCenter.Y-rtText.Height/2;rtText.Bottom=rtText.Top+rtText.Height;}else if(lableItem.Type==1)//顶部
|
|
7343
7343
|
{rtText.Left=ptCenter.X+clientWidth/2-rtText.Width/2;rtText.Right=rtText.Left+rtText.Width;rtText.Top=ptTop.Y-rtText.Height;rtText.Bottom=rtText.Top+rtText.Height;}else if(lableItem.Type==2){rtText.Left=ptCenter.X+clientWidth/2-rtText.Width/2;rtText.Right=rtText.Left+rtText.Width;rtText.Top=ptBottom.Y;rtText.Bottom=rtText.Top+rtText.Height;}else{return;}this.Canvas.fillStyle=lableItem.BGColor;this.Canvas.fillRect(rtText.Left,rtText.Top,rtText.Width,rtText.Height);this.Canvas.textAlign='left';this.Canvas.textBaseline='bottom';this.Canvas.fillStyle=lableItem.TextColor;var x=rtText.Left+margin.Left;var y=rtText.Top+margin.Top+this.TextFontHeight;for(var i=0;i<lableItem.AryText.length;++i){var item=lableItem.AryText[i];var xText=x;var yText=y;if(IFrameSplitOperator.IsNumber(item.YOffset))yText+=item.YOffset;this.Canvas.fillText(item.Text,xText,yText);y+=this.TextFontHeight;}};this.FormatLabelText=function(drawPoint){if(this.HQChart){var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_TVLONGPOSITION_LABEL);if(event&&event.Callback){var sendData={Frame:this.Frame,AryLabel:null,AryPoint:drawPoint,PreventDefault:false};event.Callback(event,sendData,this);if(sendData.PreventDefault)return sendData.AryLabel;}}var ptCenter=drawPoint[0];var ptTop=drawPoint[2];var ptBottom=drawPoint[3];var aryData=[];var yValue=this.Frame.GetYData(ptCenter.Y,false);aryData.push({Type:0,AryText:[{Text:'Open: '+yValue.toFixed(2)}],BGColor:"rgb(112,128,144)",TextColor:"rgb(255,255,255)"});var yValue=this.Frame.GetYData(ptTop.Y,false);aryData.push({Type:1,AryText:[{Text:'Target: '+yValue.toFixed(2),YOffset:-1}],BGColor:this.TopAreaConfig.TextBGColor,TextColor:this.TopAreaConfig.TextColor});var yValue=this.Frame.GetYData(ptBottom.Y,false);aryData.push({Type:2,AryText:[{Text:'Stop: '+yValue.toFixed(2),YOffset:-1}],BGColor:this.BottomAreaConfig.TextBGColor,TextColor:this.BottomAreaConfig.TextColor});return aryData;};this.CalculateLabelSize=function(lableItem){lableItem.Width=0;lableItem.Height=0;for(var i=0;i<lableItem.AryText.length;++i){var item=lableItem.AryText[i];var textWidth=this.Canvas.measureText(item.Text).width;item.TextWidth=textWidth;if(lableItem.Width<textWidth)lableItem.Width=textWidth;lableItem.Height+=this.TextFontHeight;}};this.Move=function(xStep,yStep){if(this.Status!=20)return false;if(!this.Frame)return false;var data=this.Frame.Data;if(!data)return false;if(this.MovePointIndex==100)//整体移动
|
|
7344
|
-
{for(var i=0;i<this.Point.length;++i){var item=this.Point[i];item.X+=xStep;item.Y+=yStep;}}else if(this.MovePointIndex===0){for(var i=0;i<this.Point.length;++i){var item=this.Point[i];if(i==0){item.X+=xStep;item.Y+=yStep;}else if(i==1){item.Y+=yStep;}else if(i==2||i==3){item.X+=xStep;}}}else if(this.MovePointIndex==1){this.Point[1].X+=xStep;}else if(this.MovePointIndex==2){var ptCenter=this.Point[0];var item=this.Point[2];if(item.Y+yStep<ptCenter.Y)item.Y+=yStep;}else if(this.MovePointIndex==3){var ptCenter=this.Point[0];var item=this.Point[3];if(item.Y+yStep>ptCenter.Y)item.Y+=yStep;}};}function ChartDrawTVShortPosition(){this.newMethod=ChartDrawTVLongPosition;//派生
|
|
7344
|
+
{for(var i=0;i<this.Point.length;++i){var item=this.Point[i];item.X+=xStep;item.Y+=yStep;}}else if(this.MovePointIndex===0){for(var i=0;i<this.Point.length;++i){var item=this.Point[i];if(i==0){item.X+=xStep;item.Y+=yStep;}else if(i==1){item.Y+=yStep;}else if(i==2||i==3){item.X+=xStep;}}}else if(this.MovePointIndex==1){this.Point[1].X+=xStep;}else if(this.MovePointIndex==2){var ptCenter=this.Point[0];var item=this.Point[2];if(item.Y+yStep<ptCenter.Y)item.Y+=yStep;}else if(this.MovePointIndex==3){var ptCenter=this.Point[0];var item=this.Point[3];if(item.Y+yStep>ptCenter.Y)item.Y+=yStep;}else{return false;}return true;};}function ChartDrawTVShortPosition(){this.newMethod=ChartDrawTVLongPosition;//派生
|
|
7345
7345
|
this.newMethod();delete this.newMethod;this.ClassName='ChartDrawTVShortPosition';this.TopAreaConfig=CloneData(g_JSChartResource.ChartDrawTVLongPosition.BottomArea);this.BottomAreaConfig=CloneData(g_JSChartResource.ChartDrawTVLongPosition.TopArea);}function ChartDrawStorage(){//this.DrawData=new Map(); //画图工具数据 key=symbol-Period, value=Map() Key:Guid, Value:{ Guid, Symbol, Period, ClassName, Value }
|
|
7346
7346
|
this.DrawDataV2=new _map2.default();//画图工具数据 key=symbol, value=Map() Key:Guid, Value:{ Guid, Symbol, Period, ClassName, Value }
|
|
7347
7347
|
this.StorageKey;this.GetEventCallback;//事件回调
|
|
@@ -8642,7 +8642,7 @@ if(this.ChartDrawStorage)this.ChartDrawStorage.SaveDrawData(drawPicture);this.Dr
|
|
|
8642
8642
|
this.RandomDrawPictureValue=function(chart,data){if(!IFrameSplitOperator.IsNonEmptyArray(data.Value))return;var kData=this.GetKLineChart();if(!kData||!kData.Data||!IFrameSplitOperator.IsNumber(kData.Data.DataOffset)||kData.Data.DataOffset<0)return null;if(!IFrameSplitOperator.IsNonEmptyArray(kData.Data.Data))return null;var aryKData=kData.Data.Data;var startIndex=kData.Data.DataOffset;var endIndex=kData.Data.DataOffset+kData.ChartFrame.XPointCount-1;if(endIndex>=aryKData.length)endIndex=aryKData.length-1;var frameHeight=chart.Frame.ChartBorder.GetHeight();var max=chart.Frame.HorizontalMax;var min=chart.Frame.HorizontalMin;var y=chart.Frame.ChartBorder.GetBottomEx()-frameHeight*data.YFristScale;var range={Max:5,Min:2};var xRandomOffset=Math.floor(Math.random()*(range.Max-range.Min+1))+range.Min;var xValue=data.Value[0].XIndex+xRandomOffset;var firstPoint=null;chart.Value=[];for(var i=0;i<data.Value.length;++i){var item=data.Value[i];chart.Value[i]={XValue:xValue+item.XOffset};chart.Point[i]={Y:y+item.YOffset,X:chart.Frame.GetXFromIndex(xValue+item.XOffset,false)};}};//xStep,yStep 移动的偏移量
|
|
8643
8643
|
this.MoveChartDrawPicture=function(x,y,isPhone,drag){var drawPicture=this.CurrentChartDrawPicture;if(!drawPicture)return false;var pixelTatio=GetDevicePixelRatio();//x,y 需要乘以放大倍速
|
|
8644
8644
|
if(isPhone)pixelTatio=1;var xStep=x*pixelTatio;var yStep=y*pixelTatio;//JSConsole.Chart.Log("xStep="+xStep+" yStep="+yStep);
|
|
8645
|
-
drawPicture.Move(xStep,yStep,drag);return true;};//数据长度变化 需要更新画图工具X轴索引
|
|
8645
|
+
if(!drawPicture.Move(xStep,yStep,drag))return false;return true;};//数据长度变化 需要更新画图工具X轴索引
|
|
8646
8646
|
this.UpdateChartDrawXValue=function(){for(var i in this.ChartDrawPicture){var item=this.ChartDrawPicture[i];item.UpdateXValue();}};//注册鼠标右键事件
|
|
8647
8647
|
this.OnRightMenu=function(x,y,e){var pixelTatio=GetDevicePixelRatio();//x,y 需要乘以放大倍速
|
|
8648
8648
|
var frameId=this.Frame.PtInFrame(x*pixelTatio,y*pixelTatio);this.PopupRightMenuV2({X:e.offsetX,Y:e.offsetY,FrameID:frameId,CursorIndex:this.CursorIndex,Point:{X:x*pixelTatio,Y:y*pixelTatio}},e);var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CONTEXT_MENU);if(event){var data={X:x,Y:y,Event:e,FrameID:frameId,Point:{X:x*pixelTatio,Y:y*pixelTatio},CursorIndex:this.CursorIndex};event.Callback(event,data,this);}};//右键菜单数据
|
|
@@ -15645,7 +15645,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
15645
15645
|
this.ExecuteScript(item,data);}this.Status=0;}};this.OnExecuteFinish=function(data,indexInfo,jsExectute,jobInfo){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT,JobInfo:jobInfo};postMessage(message);};this.OnExecuteError=function(error,indexInfo,jobData){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
|
|
15646
15646
|
* 版本信息输出
|
|
15647
15647
|
*
|
|
15648
|
-
*/var HQCHART_VERSION="1.1.
|
|
15648
|
+
*/var HQCHART_VERSION="1.1.15236";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();//把给外界调用的方法暴露出来
|
|
15649
15649
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
15650
15650
|
// BaseIndex:BaseIndex,
|
|
15651
15651
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -4913,6 +4913,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
4913
4913
|
{
|
|
4914
4914
|
this.DrawDynamicInfo();
|
|
4915
4915
|
}
|
|
4916
|
+
else
|
|
4917
|
+
{
|
|
4918
|
+
return;
|
|
4919
|
+
}
|
|
4916
4920
|
}
|
|
4917
4921
|
|
|
4918
4922
|
drag.LastMove.X=e.clientX;
|
|
@@ -10070,7 +10074,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10070
10074
|
var xStep=x*pixelTatio;
|
|
10071
10075
|
var yStep=y*pixelTatio;
|
|
10072
10076
|
//JSConsole.Chart.Log("xStep="+xStep+" yStep="+yStep);
|
|
10073
|
-
drawPicture.Move(xStep,yStep,drag);
|
|
10077
|
+
if (!drawPicture.Move(xStep,yStep,drag)) return false;
|
|
10074
10078
|
|
|
10075
10079
|
return true;
|
|
10076
10080
|
}
|
|
@@ -65168,6 +65172,8 @@ function IChartDrawPicture()
|
|
|
65168
65172
|
{
|
|
65169
65173
|
return false;
|
|
65170
65174
|
}
|
|
65175
|
+
|
|
65176
|
+
return true;
|
|
65171
65177
|
}
|
|
65172
65178
|
|
|
65173
65179
|
//是否超出边界了
|
|
@@ -65197,6 +65203,8 @@ function IChartDrawPicture()
|
|
|
65197
65203
|
var startIndex=0-offset;
|
|
65198
65204
|
var endIndex=data.Data.length-offset;
|
|
65199
65205
|
|
|
65206
|
+
if (this.ClassName=="ChartDrawHLine") return false;
|
|
65207
|
+
|
|
65200
65208
|
if (xStep>0)
|
|
65201
65209
|
{
|
|
65202
65210
|
var xEnd=this.Frame.GetXFromIndex(endIndex-1,false);
|
|
@@ -69675,6 +69683,12 @@ function ChartDrawPictureParallelChannel()
|
|
|
69675
69683
|
var yMove=this.ChannelWidth/Math.sin(angle)-yStep;
|
|
69676
69684
|
this.ChannelWidth=Math.sin(angle)*yMove;
|
|
69677
69685
|
}
|
|
69686
|
+
else
|
|
69687
|
+
{
|
|
69688
|
+
return false;
|
|
69689
|
+
}
|
|
69690
|
+
|
|
69691
|
+
return true;
|
|
69678
69692
|
}
|
|
69679
69693
|
|
|
69680
69694
|
//0-10 鼠标对应的点索引 100=鼠标在正个图形上 -1 鼠标不在图形上
|
|
@@ -76873,6 +76887,12 @@ function ChartDrawTVLongPosition()
|
|
|
76873
76887
|
var item=this.Point[3];
|
|
76874
76888
|
if (item.Y+yStep>ptCenter.Y) item.Y+=yStep;
|
|
76875
76889
|
}
|
|
76890
|
+
else
|
|
76891
|
+
{
|
|
76892
|
+
return false;
|
|
76893
|
+
}
|
|
76894
|
+
|
|
76895
|
+
return true;
|
|
76876
76896
|
|
|
76877
76897
|
}
|
|
76878
76898
|
}
|
|
@@ -87816,7 +87836,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
87816
87836
|
var xStep=x*pixelTatio;
|
|
87817
87837
|
var yStep=y*pixelTatio;
|
|
87818
87838
|
//JSConsole.Chart.Log("xStep="+xStep+" yStep="+yStep);
|
|
87819
|
-
drawPicture.Move(xStep,yStep,drag);
|
|
87839
|
+
if (!drawPicture.Move(xStep,yStep,drag)) return false;
|
|
87820
87840
|
|
|
87821
87841
|
return true;
|
|
87822
87842
|
}
|
|
@@ -9009,6 +9009,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9009
9009
|
{
|
|
9010
9010
|
this.DrawDynamicInfo();
|
|
9011
9011
|
}
|
|
9012
|
+
else
|
|
9013
|
+
{
|
|
9014
|
+
return;
|
|
9015
|
+
}
|
|
9012
9016
|
}
|
|
9013
9017
|
|
|
9014
9018
|
drag.LastMove.X=e.clientX;
|
|
@@ -14166,7 +14170,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
14166
14170
|
var xStep=x*pixelTatio;
|
|
14167
14171
|
var yStep=y*pixelTatio;
|
|
14168
14172
|
//JSConsole.Chart.Log("xStep="+xStep+" yStep="+yStep);
|
|
14169
|
-
drawPicture.Move(xStep,yStep,drag);
|
|
14173
|
+
if (!drawPicture.Move(xStep,yStep,drag)) return false;
|
|
14170
14174
|
|
|
14171
14175
|
return true;
|
|
14172
14176
|
}
|
|
@@ -69264,6 +69268,8 @@ function IChartDrawPicture()
|
|
|
69264
69268
|
{
|
|
69265
69269
|
return false;
|
|
69266
69270
|
}
|
|
69271
|
+
|
|
69272
|
+
return true;
|
|
69267
69273
|
}
|
|
69268
69274
|
|
|
69269
69275
|
//是否超出边界了
|
|
@@ -69293,6 +69299,8 @@ function IChartDrawPicture()
|
|
|
69293
69299
|
var startIndex=0-offset;
|
|
69294
69300
|
var endIndex=data.Data.length-offset;
|
|
69295
69301
|
|
|
69302
|
+
if (this.ClassName=="ChartDrawHLine") return false;
|
|
69303
|
+
|
|
69296
69304
|
if (xStep>0)
|
|
69297
69305
|
{
|
|
69298
69306
|
var xEnd=this.Frame.GetXFromIndex(endIndex-1,false);
|
|
@@ -73771,6 +73779,12 @@ function ChartDrawPictureParallelChannel()
|
|
|
73771
73779
|
var yMove=this.ChannelWidth/Math.sin(angle)-yStep;
|
|
73772
73780
|
this.ChannelWidth=Math.sin(angle)*yMove;
|
|
73773
73781
|
}
|
|
73782
|
+
else
|
|
73783
|
+
{
|
|
73784
|
+
return false;
|
|
73785
|
+
}
|
|
73786
|
+
|
|
73787
|
+
return true;
|
|
73774
73788
|
}
|
|
73775
73789
|
|
|
73776
73790
|
//0-10 鼠标对应的点索引 100=鼠标在正个图形上 -1 鼠标不在图形上
|
|
@@ -80969,6 +80983,12 @@ function ChartDrawTVLongPosition()
|
|
|
80969
80983
|
var item=this.Point[3];
|
|
80970
80984
|
if (item.Y+yStep>ptCenter.Y) item.Y+=yStep;
|
|
80971
80985
|
}
|
|
80986
|
+
else
|
|
80987
|
+
{
|
|
80988
|
+
return false;
|
|
80989
|
+
}
|
|
80990
|
+
|
|
80991
|
+
return true;
|
|
80972
80992
|
|
|
80973
80993
|
}
|
|
80974
80994
|
}
|
|
@@ -91912,7 +91932,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
91912
91932
|
var xStep=x*pixelTatio;
|
|
91913
91933
|
var yStep=y*pixelTatio;
|
|
91914
91934
|
//JSConsole.Chart.Log("xStep="+xStep+" yStep="+yStep);
|
|
91915
|
-
drawPicture.Move(xStep,yStep,drag);
|
|
91935
|
+
if (!drawPicture.Move(xStep,yStep,drag)) return false;
|
|
91916
91936
|
|
|
91917
91937
|
return true;
|
|
91918
91938
|
}
|
|
@@ -154243,7 +154263,7 @@ function ScrollBarBGChart()
|
|
|
154243
154263
|
|
|
154244
154264
|
|
|
154245
154265
|
|
|
154246
|
-
var HQCHART_VERSION="1.1.
|
|
154266
|
+
var HQCHART_VERSION="1.1.15236";
|
|
154247
154267
|
|
|
154248
154268
|
function PrintHQChartVersion()
|
|
154249
154269
|
{
|
|
@@ -9053,6 +9053,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9053
9053
|
{
|
|
9054
9054
|
this.DrawDynamicInfo();
|
|
9055
9055
|
}
|
|
9056
|
+
else
|
|
9057
|
+
{
|
|
9058
|
+
return;
|
|
9059
|
+
}
|
|
9056
9060
|
}
|
|
9057
9061
|
|
|
9058
9062
|
drag.LastMove.X=e.clientX;
|
|
@@ -14210,7 +14214,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
14210
14214
|
var xStep=x*pixelTatio;
|
|
14211
14215
|
var yStep=y*pixelTatio;
|
|
14212
14216
|
//JSConsole.Chart.Log("xStep="+xStep+" yStep="+yStep);
|
|
14213
|
-
drawPicture.Move(xStep,yStep,drag);
|
|
14217
|
+
if (!drawPicture.Move(xStep,yStep,drag)) return false;
|
|
14214
14218
|
|
|
14215
14219
|
return true;
|
|
14216
14220
|
}
|
|
@@ -69308,6 +69312,8 @@ function IChartDrawPicture()
|
|
|
69308
69312
|
{
|
|
69309
69313
|
return false;
|
|
69310
69314
|
}
|
|
69315
|
+
|
|
69316
|
+
return true;
|
|
69311
69317
|
}
|
|
69312
69318
|
|
|
69313
69319
|
//是否超出边界了
|
|
@@ -69337,6 +69343,8 @@ function IChartDrawPicture()
|
|
|
69337
69343
|
var startIndex=0-offset;
|
|
69338
69344
|
var endIndex=data.Data.length-offset;
|
|
69339
69345
|
|
|
69346
|
+
if (this.ClassName=="ChartDrawHLine") return false;
|
|
69347
|
+
|
|
69340
69348
|
if (xStep>0)
|
|
69341
69349
|
{
|
|
69342
69350
|
var xEnd=this.Frame.GetXFromIndex(endIndex-1,false);
|
|
@@ -73815,6 +73823,12 @@ function ChartDrawPictureParallelChannel()
|
|
|
73815
73823
|
var yMove=this.ChannelWidth/Math.sin(angle)-yStep;
|
|
73816
73824
|
this.ChannelWidth=Math.sin(angle)*yMove;
|
|
73817
73825
|
}
|
|
73826
|
+
else
|
|
73827
|
+
{
|
|
73828
|
+
return false;
|
|
73829
|
+
}
|
|
73830
|
+
|
|
73831
|
+
return true;
|
|
73818
73832
|
}
|
|
73819
73833
|
|
|
73820
73834
|
//0-10 鼠标对应的点索引 100=鼠标在正个图形上 -1 鼠标不在图形上
|
|
@@ -81013,6 +81027,12 @@ function ChartDrawTVLongPosition()
|
|
|
81013
81027
|
var item=this.Point[3];
|
|
81014
81028
|
if (item.Y+yStep>ptCenter.Y) item.Y+=yStep;
|
|
81015
81029
|
}
|
|
81030
|
+
else
|
|
81031
|
+
{
|
|
81032
|
+
return false;
|
|
81033
|
+
}
|
|
81034
|
+
|
|
81035
|
+
return true;
|
|
81016
81036
|
|
|
81017
81037
|
}
|
|
81018
81038
|
}
|
|
@@ -91956,7 +91976,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
91956
91976
|
var xStep=x*pixelTatio;
|
|
91957
91977
|
var yStep=y*pixelTatio;
|
|
91958
91978
|
//JSConsole.Chart.Log("xStep="+xStep+" yStep="+yStep);
|
|
91959
|
-
drawPicture.Move(xStep,yStep,drag);
|
|
91979
|
+
if (!drawPicture.Move(xStep,yStep,drag)) return false;
|
|
91960
91980
|
|
|
91961
91981
|
return true;
|
|
91962
91982
|
}
|
|
@@ -166300,7 +166320,7 @@ function HQChartScriptWorker()
|
|
|
166300
166320
|
|
|
166301
166321
|
|
|
166302
166322
|
|
|
166303
|
-
var HQCHART_VERSION="1.1.
|
|
166323
|
+
var HQCHART_VERSION="1.1.15236";
|
|
166304
166324
|
|
|
166305
166325
|
function PrintHQChartVersion()
|
|
166306
166326
|
{
|