hqchart 1.1.14691 → 1.1.14705
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.
|
@@ -4525,6 +4525,15 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4525
4525
|
}
|
|
4526
4526
|
}
|
|
4527
4527
|
|
|
4528
|
+
if (option.FastSlide)
|
|
4529
|
+
{
|
|
4530
|
+
var item=option.FastSlide;
|
|
4531
|
+
if (IFrameSplitOperator.IsNumber(item.MinDistance)) chart.FastSlideConfig.MinDistance=item.MinDistance;
|
|
4532
|
+
if (IFrameSplitOperator.IsNumber(item.MinSpeed)) chart.FastSlideConfig.MinSpeed=item.MinSpeed;
|
|
4533
|
+
if (IFrameSplitOperator.IsNumber(item.MaxTime)) chart.FastSlideConfig.MaxTime=item.MaxTime;
|
|
4534
|
+
if (IFrameSplitOperator.IsBool(item.Enable)) chart.FastSlideConfig.Enable=item.Enable;
|
|
4535
|
+
}
|
|
4536
|
+
|
|
4528
4537
|
if (chart.ClassName=="KLineChartContainer")
|
|
4529
4538
|
{
|
|
4530
4539
|
if (!option.DragSelectRect)
|
|
@@ -4593,6 +4602,12 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4593
4602
|
if (IFrameSplitOperator.IsBool(item.RightButton.Enable)) chart.ChartCorssCursor.RightButton.Enable=item.RightButton.Enable;
|
|
4594
4603
|
}
|
|
4595
4604
|
|
|
4605
|
+
if (item.BottomButton)
|
|
4606
|
+
{
|
|
4607
|
+
var subItem=item.BottomButton;
|
|
4608
|
+
if (IFrameSplitOperator.IsBool(subItem.Enable)) chart.ChartCorssCursor.BottomButton.Enable=subItem.Enable;
|
|
4609
|
+
}
|
|
4610
|
+
|
|
4596
4611
|
if (IFrameSplitOperator.IsNumber(item.PriceFormatType)) chart.ChartCorssCursor.StringFormatY.PriceFormatType=item.PriceFormatType;
|
|
4597
4612
|
if (IFrameSplitOperator.IsNumber(item.DataFormatType)) chart.ChartCorssCursor.StringFormatY.DataFormatType=item.DataFormatType;
|
|
4598
4613
|
if (IFrameSplitOperator.IsBool(item.EnableKeyboard)) chart.ChartCorssCursor.EnableKeyboard=item.EnableKeyboard;
|
|
@@ -5077,6 +5092,15 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5077
5092
|
if (IFrameSplitOperator.IsNumber(item.WheelYMove)) chart.EnableYDrag.WheelYMove=item.WheelYMove;
|
|
5078
5093
|
}
|
|
5079
5094
|
|
|
5095
|
+
if (option.FastSlide)
|
|
5096
|
+
{
|
|
5097
|
+
var item=option.FastSlide;
|
|
5098
|
+
if (IFrameSplitOperator.IsNumber(item.MinDistance)) chart.FastSlideConfig.MinDistance=item.MinDistance;
|
|
5099
|
+
if (IFrameSplitOperator.IsNumber(item.MinSpeed)) chart.FastSlideConfig.MinSpeed=item.MinSpeed;
|
|
5100
|
+
if (IFrameSplitOperator.IsNumber(item.MaxTime)) chart.FastSlideConfig.MaxTime=item.MaxTime;
|
|
5101
|
+
if (IFrameSplitOperator.IsBool(item.Enable)) chart.FastSlideConfig.Enable=item.Enable;
|
|
5102
|
+
}
|
|
5103
|
+
|
|
5080
5104
|
//分页
|
|
5081
5105
|
if (option.PageInfo) chart.SetPageInfo(option.PageInfo);
|
|
5082
5106
|
|
|
@@ -5098,6 +5122,12 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5098
5122
|
if (IFrameSplitOperator.IsBool(item.RightButton.Enable)) chart.ChartCorssCursor.RightButton.Enable=item.RightButton.Enable;
|
|
5099
5123
|
}
|
|
5100
5124
|
|
|
5125
|
+
if (item.BottomButton)
|
|
5126
|
+
{
|
|
5127
|
+
var subItem=item.BottomButton;
|
|
5128
|
+
if (IFrameSplitOperator.IsBool(subItem.Enable)) chart.ChartCorssCursor.BottomButton.Enable=subItem.Enable;
|
|
5129
|
+
}
|
|
5130
|
+
|
|
5101
5131
|
if (IFrameSplitOperator.IsNumber(item.PriceFormatType)) chart.ChartCorssCursor.StringFormatY.PriceFormatType=item.PriceFormatType;
|
|
5102
5132
|
if (IFrameSplitOperator.IsNumber(item.DataFormatType)) chart.ChartCorssCursor.StringFormatY.DataFormatType=item.DataFormatType;
|
|
5103
5133
|
|
|
@@ -6834,6 +6864,10 @@ var JSCHART_EVENT_ID=
|
|
|
6834
6864
|
ON_DBCLICK_DEAL_ROW:167,
|
|
6835
6865
|
|
|
6836
6866
|
ON_FORMAT_OVERLAY_INDEX_OUT_TEXT:168, //格式化叠指标标题
|
|
6867
|
+
|
|
6868
|
+
ON_TOUCH_FAST_SLIDE:169, //快速滑动
|
|
6869
|
+
|
|
6870
|
+
ON_CLICK_CROSSCURSOR_BOTTOM:170, //十字光标底部文字点击
|
|
6837
6871
|
}
|
|
6838
6872
|
|
|
6839
6873
|
var JSCHART_OPERATOR_ID=
|
|
@@ -6862,6 +6896,8 @@ var JSCHART_OPERATOR_ID=
|
|
|
6862
6896
|
|
|
6863
6897
|
OP_GOTO:16, //移动到某一个天或某一个分钟
|
|
6864
6898
|
OP_GOTO_BY_DATAINDEX:17, //的移动到某一个数据起始位置
|
|
6899
|
+
|
|
6900
|
+
OP_MOVE_CORSSCURSOR:18, //移动十字光标 { Step, Start:{ Date:, Time: } }
|
|
6865
6901
|
}
|
|
6866
6902
|
|
|
6867
6903
|
var JSCHART_DRAG_ID=
|
|
@@ -7207,6 +7243,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7207
7243
|
this.mapEvent=new Map(); //通知外部调用 key:JSCHART_EVENT_ID value:{Callback:回调,}
|
|
7208
7244
|
|
|
7209
7245
|
this.PhonePinch=null; //手机双指操作信息
|
|
7246
|
+
this.TouchDrag=null; //手势拖动操作信息
|
|
7210
7247
|
this.IsOnTouch = false; //是否再操作数据
|
|
7211
7248
|
this.TouchDrawCount = 0; //手势绘制次数
|
|
7212
7249
|
this.DisableMouse=false; //禁止鼠标事件
|
|
@@ -7262,7 +7299,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7262
7299
|
this.EnableVerticalDrag=false;
|
|
7263
7300
|
|
|
7264
7301
|
//十字光标长留(手势才有)
|
|
7265
|
-
this.ClickModel={ IsShowCorssCursor:false };
|
|
7302
|
+
this.ClickModel={ IsShowCorssCursor:false, PreventHide:false }; //PreventHide 阻止隐藏十字光标
|
|
7266
7303
|
this.EnableClickModel=false;
|
|
7267
7304
|
|
|
7268
7305
|
//标题栏显示最新数据
|
|
@@ -7293,6 +7330,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7293
7330
|
//SecondKeyID 1=shiftKey 2=ctrlKey 3=altKey
|
|
7294
7331
|
this.AryHotKey=[]; //热键 { KeyID:87, SecondKeyID:1, CMD:JSCHART_MENU_ID.CMD_FULLSCREEN_SUMMARY_ID, Args:null, Description:"Alt+W 全屏区间统计" },
|
|
7295
7332
|
|
|
7333
|
+
this.FastSlideConfig={ MinDistance:500, MinSpeed:3, MaxTime:250, Enable:false }; //快速滑动配置 MinDistance=最小的距离 MinSpeed=最小速度 MaxTime=最大间隔时间(ms)
|
|
7334
|
+
|
|
7296
7335
|
this.RestoreFocus=function(delay)
|
|
7297
7336
|
{
|
|
7298
7337
|
var value=1000;
|
|
@@ -7885,11 +7924,23 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7885
7924
|
var button=this.ChartCorssCursor.PtInButton(x,y);
|
|
7886
7925
|
if (!button) return false;
|
|
7887
7926
|
|
|
7888
|
-
|
|
7889
|
-
if (event && event.Callback)
|
|
7927
|
+
if (button.Type==1)
|
|
7890
7928
|
{
|
|
7891
|
-
var
|
|
7892
|
-
event.Callback
|
|
7929
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_CROSSCURSOR_RIGHT);
|
|
7930
|
+
if (event && event.Callback)
|
|
7931
|
+
{
|
|
7932
|
+
var sendData={ Button:button, e };
|
|
7933
|
+
event.Callback(event,sendData,this);
|
|
7934
|
+
}
|
|
7935
|
+
}
|
|
7936
|
+
else if (button.Type==2)
|
|
7937
|
+
{
|
|
7938
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_CROSSCURSOR_BOTTOM);
|
|
7939
|
+
if (event && event.Callback)
|
|
7940
|
+
{
|
|
7941
|
+
var sendData={ Button:button, e };
|
|
7942
|
+
event.Callback(event,sendData,this);
|
|
7943
|
+
}
|
|
7893
7944
|
}
|
|
7894
7945
|
|
|
7895
7946
|
return true;
|
|
@@ -9399,6 +9450,11 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9399
9450
|
return true;
|
|
9400
9451
|
}
|
|
9401
9452
|
|
|
9453
|
+
if (this.TryClickCrossCursor(x,y))
|
|
9454
|
+
{
|
|
9455
|
+
return true;
|
|
9456
|
+
}
|
|
9457
|
+
|
|
9402
9458
|
return false;
|
|
9403
9459
|
}
|
|
9404
9460
|
|
|
@@ -9410,6 +9466,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9410
9466
|
this.IsOnTouch=true;
|
|
9411
9467
|
this.TouchDrawCount=0;
|
|
9412
9468
|
this.PhonePinch=null;
|
|
9469
|
+
this.TouchDrag=null;
|
|
9470
|
+
if (this.ClickModel) this.ClickModel.PreventHide=false;
|
|
9413
9471
|
this.StopDragTimer();
|
|
9414
9472
|
|
|
9415
9473
|
var isSingleTouch=this.IsSingleTouch(e);
|
|
@@ -9424,7 +9482,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9424
9482
|
var touches = this.GetToucheData(e, this.IsForceLandscape);
|
|
9425
9483
|
var pt=this.PointAbsoluteToRelative(touches[0].clientX, touches[0].clientY, true);
|
|
9426
9484
|
|
|
9427
|
-
if (this.TryPhoneClickButton(pt.X, pt.Y, e))
|
|
9485
|
+
if (this.TryPhoneClickButton(pt.X, pt.Y, e))
|
|
9486
|
+
return;
|
|
9428
9487
|
|
|
9429
9488
|
if (this.EnableVerticalDrag )
|
|
9430
9489
|
{
|
|
@@ -9455,11 +9514,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9455
9514
|
|
|
9456
9515
|
if (this.EnableClickModel && this.ClickModel.IsShowCorssCursor==true) bStartTimer=false;
|
|
9457
9516
|
|
|
9458
|
-
var drag=
|
|
9459
|
-
{
|
|
9460
|
-
"Click":{},
|
|
9461
|
-
"LastMove":{} //最后移动的位置
|
|
9462
|
-
};
|
|
9517
|
+
var drag= { Click:{}, LastMove:{}, StartTime:Date.now() }; //LastMove 最后移动的位置
|
|
9518
|
+
var touchDrag={ Click:{}, LastMove:{}, StartTime:Date.now() };
|
|
9463
9519
|
|
|
9464
9520
|
//var touches=this.GetToucheData(e,this.IsForceLandscape);
|
|
9465
9521
|
|
|
@@ -9467,8 +9523,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9467
9523
|
drag.Click.Y=touches[0].clientY;
|
|
9468
9524
|
drag.LastMove.X=touches[0].clientX;
|
|
9469
9525
|
drag.LastMove.Y=touches[0].clientY;
|
|
9470
|
-
|
|
9471
9526
|
this.MouseDrag=drag;
|
|
9527
|
+
|
|
9528
|
+
touchDrag.Click.X=touches[0].clientX;
|
|
9529
|
+
touchDrag.Click.Y=touches[0].clientY;
|
|
9530
|
+
touchDrag.LastMove.X=touches[0].clientX;
|
|
9531
|
+
touchDrag.LastMove.Y=touches[0].clientY;
|
|
9532
|
+
this.TouchDrag=touchDrag;
|
|
9533
|
+
|
|
9472
9534
|
var drawPictureActive=this.GetActiveDrawPicture(); //上一次选中的
|
|
9473
9535
|
var selectedChart={ Chart:this.SelectedChart.Selected.Chart, Identify:this.SelectedChart.Selected.Identify }; //上一次选中的图形
|
|
9474
9536
|
this.PhoneTouchInfo={ Start:{X:touches[0].clientX, Y:touches[0].clientY }, End:{ X:touches[0].clientX, Y:touches[0].clientY } };
|
|
@@ -9590,11 +9652,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9590
9652
|
}
|
|
9591
9653
|
else if (this.IsPhonePinching(e))
|
|
9592
9654
|
{
|
|
9593
|
-
var phonePinch=
|
|
9594
|
-
{
|
|
9595
|
-
"Start":{},
|
|
9596
|
-
"Last":{}
|
|
9597
|
-
};
|
|
9655
|
+
var phonePinch={ Start:{}, Last:{}, StartTime:Date.now() };
|
|
9598
9656
|
|
|
9599
9657
|
var touches=this.GetToucheData(e,this.IsForceLandscape);
|
|
9600
9658
|
|
|
@@ -9729,6 +9787,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9729
9787
|
this.PhoneTouchInfo.End.X=touches[0].clientX;
|
|
9730
9788
|
this.PhoneTouchInfo.End.Y=touches[0].clientY;
|
|
9731
9789
|
}
|
|
9790
|
+
|
|
9791
|
+
if (this.TouchDrag)
|
|
9792
|
+
{
|
|
9793
|
+
var touchDrag=this.TouchDrag;
|
|
9794
|
+
touchDrag.LastMove.X=touches[0].clientX;
|
|
9795
|
+
touchDrag.LastMove.Y=touches[0].clientY;
|
|
9796
|
+
}
|
|
9732
9797
|
}
|
|
9733
9798
|
else if (this.IsPhonePinching(e))
|
|
9734
9799
|
{
|
|
@@ -9795,6 +9860,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9795
9860
|
JSConsole.Chart.Log('[KLineChartContainer:OnTouchEnd]',e);
|
|
9796
9861
|
if (this.ChartSplashPaint && this.ChartSplashPaint.IsEnableSplash == true) return;
|
|
9797
9862
|
|
|
9863
|
+
this.FastSlideEvent();
|
|
9864
|
+
|
|
9798
9865
|
var bClearDrawPicture=true;
|
|
9799
9866
|
if (this.CurrentChartDrawPicture)
|
|
9800
9867
|
{
|
|
@@ -9833,6 +9900,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9833
9900
|
this.OnTouchFinished();
|
|
9834
9901
|
this.TouchDrawCount=0;
|
|
9835
9902
|
this.PhonePinch=null;
|
|
9903
|
+
this.TouchDrag=null;
|
|
9836
9904
|
}
|
|
9837
9905
|
|
|
9838
9906
|
this.OnTouchDBClick=function(points)
|
|
@@ -10787,6 +10855,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10787
10855
|
{
|
|
10788
10856
|
if (this.TouchStatus.CorssCursorShow==true) this.ChartCorssCursor.Draw();
|
|
10789
10857
|
}
|
|
10858
|
+
else if (this.EnableClickModel)
|
|
10859
|
+
{
|
|
10860
|
+
if (this.ClickModel.IsShowCorssCursor===true) this.ChartCorssCursor.Draw();
|
|
10861
|
+
}
|
|
10790
10862
|
else if (this.IsOnTouch===false && this.CurrentChartDrawPicture && this.CurrentChartDrawPicture.IsShowCorssCursor===true) //开始绘图
|
|
10791
10863
|
{
|
|
10792
10864
|
this.ChartCorssCursor.Draw();
|
|
@@ -15646,6 +15718,43 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
15646
15718
|
|
|
15647
15719
|
return true;
|
|
15648
15720
|
}
|
|
15721
|
+
|
|
15722
|
+
//快速滑动
|
|
15723
|
+
this.FastSlideEvent=function()
|
|
15724
|
+
{
|
|
15725
|
+
if (!this.TouchDrag) return false;
|
|
15726
|
+
if (!this.FastSlideConfig) return false;
|
|
15727
|
+
var config=this.FastSlideConfig;
|
|
15728
|
+
if (!config.Enable) return false;
|
|
15729
|
+
|
|
15730
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_TOUCH_FAST_SLIDE);
|
|
15731
|
+
if (!event || !event.Callback) return false;
|
|
15732
|
+
|
|
15733
|
+
|
|
15734
|
+
var drag=this.TouchDrag;
|
|
15735
|
+
var time=Date.now();
|
|
15736
|
+
var spanTime=time-drag.StartTime;
|
|
15737
|
+
if (spanTime>config.MaxTime) return false;
|
|
15738
|
+
|
|
15739
|
+
if (!drag.Click || !drag.LastMove) return false;
|
|
15740
|
+
|
|
15741
|
+
var xStart=drag.Click.X;
|
|
15742
|
+
var xEnd=drag.LastMove.X;
|
|
15743
|
+
|
|
15744
|
+
if (!IFrameSplitOperator.IsNumber(xStart) || !IFrameSplitOperator.IsNumber(xEnd)) return false;
|
|
15745
|
+
|
|
15746
|
+
var distance=xEnd-xStart;
|
|
15747
|
+
var speed=Math.abs(distance)/spanTime;
|
|
15748
|
+
JSConsole.Chart.Log(`[JSChartContainer:FastSlideEvent] speed=${speed}, distance=${distance}, spanTime=${spanTime}`);
|
|
15749
|
+
|
|
15750
|
+
if (Math.abs(distance)<config.MinDistance) return false;
|
|
15751
|
+
if (speed<config.MinSpeed) return false;
|
|
15752
|
+
|
|
15753
|
+
var sendData={ Speed:speed, Distance:distance, IsLeft:distance<0?true:false }
|
|
15754
|
+
event.Callback(event, sendData, this);
|
|
15755
|
+
|
|
15756
|
+
return true;
|
|
15757
|
+
}
|
|
15649
15758
|
}
|
|
15650
15759
|
|
|
15651
15760
|
function GetDevicePixelRatio()
|
|
@@ -44204,7 +44313,7 @@ function ChartMinuteBuySellBar()
|
|
|
44204
44313
|
this.BuyColor=g_JSChartResource.Minute.BuySellBar.BuyColor;
|
|
44205
44314
|
this.SellColor=g_JSChartResource.Minute.BuySellBar.SellColor;
|
|
44206
44315
|
this.BarWidth=g_JSChartResource.Minute.BuySellBar.BarWidth;
|
|
44207
|
-
this.
|
|
44316
|
+
this.AryBarRange=g_JSChartResource.Minute.BuySellBar.AryBarRange;
|
|
44208
44317
|
this.YOffset=g_JSChartResource.Minute.BuySellBar.YOffset;
|
|
44209
44318
|
this.Font=g_JSChartResource.Minute.BuySellBar.Font;
|
|
44210
44319
|
this.TextColor=g_JSChartResource.Minute.BuySellBar.TextColor;
|
|
@@ -44219,7 +44328,7 @@ function ChartMinuteBuySellBar()
|
|
|
44219
44328
|
this.BuyColor=g_JSChartResource.Minute.BuySellBar.BuyColor;
|
|
44220
44329
|
this.SellColor=g_JSChartResource.Minute.BuySellBar.SellColor;
|
|
44221
44330
|
this.BarWidth=g_JSChartResource.Minute.BuySellBar.BarWidth;
|
|
44222
|
-
this.
|
|
44331
|
+
this.AryBarRange=g_JSChartResource.Minute.BuySellBar.AryBarRange;
|
|
44223
44332
|
this.YOffset=g_JSChartResource.Minute.BuySellBar.YOffset;
|
|
44224
44333
|
this.Font=g_JSChartResource.Minute.BuySellBar.Font;
|
|
44225
44334
|
this.TextColor=g_JSChartResource.Minute.BuySellBar.TextColor;
|
|
@@ -44235,11 +44344,29 @@ function ChartMinuteBuySellBar()
|
|
|
44235
44344
|
var volRange=this.GetVolRange();
|
|
44236
44345
|
if (!volRange) return;
|
|
44237
44346
|
|
|
44347
|
+
var minData=this.HQChart.GetKData();
|
|
44348
|
+
if (!minData || !IFrameSplitOperator.IsNonEmptyArray(minData.Data)) return;
|
|
44349
|
+
|
|
44238
44350
|
var bHScreen=(this.ChartFrame.IsHScreen===true);
|
|
44239
44351
|
var xPointCount=this.ChartFrame.XPointCount;
|
|
44352
|
+
var minuteCount=this.ChartFrame.MinuteCount;
|
|
44353
|
+
var minIndex=(minData.Data.length-1)%minuteCount;
|
|
44354
|
+
|
|
44355
|
+
var startIndex=xPointCount-1-120;
|
|
44356
|
+
var endIndex=xPointCount-1;
|
|
44357
|
+
for(var i=0;i<this.AryBarRange.length;++i)
|
|
44358
|
+
{
|
|
44359
|
+
var item=this.AryBarRange[i];
|
|
44360
|
+
if (minIndex<(minuteCount-1-item.End))
|
|
44361
|
+
{
|
|
44362
|
+
startIndex=xPointCount-1-item.Start;
|
|
44363
|
+
endIndex=xPointCount-1-item.End;
|
|
44364
|
+
break;
|
|
44365
|
+
}
|
|
44366
|
+
}
|
|
44240
44367
|
|
|
44241
|
-
var xStart=this.ChartFrame.GetXFromIndex(
|
|
44242
|
-
var xEnd=this.ChartFrame.GetXFromIndex(
|
|
44368
|
+
var xStart=this.ChartFrame.GetXFromIndex(startIndex);
|
|
44369
|
+
var xEnd=this.ChartFrame.GetXFromIndex(endIndex);
|
|
44243
44370
|
|
|
44244
44371
|
function _Temp_GetXFromData(value)
|
|
44245
44372
|
{
|
|
@@ -59835,6 +59962,12 @@ function ChartCorssCursor()
|
|
|
59835
59962
|
Icon:g_JSChartResource.CorssCursor.RightButton.Icon
|
|
59836
59963
|
};
|
|
59837
59964
|
|
|
59965
|
+
//底部按钮
|
|
59966
|
+
this.BottomButton=
|
|
59967
|
+
{
|
|
59968
|
+
Enable:false, Rect:null,
|
|
59969
|
+
}
|
|
59970
|
+
|
|
59838
59971
|
this.RightMargin=CloneData(g_JSChartResource.CorssCursor.RightMargin);
|
|
59839
59972
|
this.BottomConfig=CloneData(g_JSChartResource.CorssCursor.BottomText); //底部输出配置
|
|
59840
59973
|
this.LeftConfig=CloneData(g_JSChartResource.CorssCursor.LeftText);
|
|
@@ -60038,6 +60171,7 @@ function ChartCorssCursor()
|
|
|
60038
60171
|
{
|
|
60039
60172
|
this.Status=0;
|
|
60040
60173
|
this.RightButton.Rect=null;
|
|
60174
|
+
this.BottomButton.Rect=null;
|
|
60041
60175
|
this.LastValue=null;
|
|
60042
60176
|
|
|
60043
60177
|
if (!this.LastPoint) return;
|
|
@@ -60443,6 +60577,11 @@ function ChartCorssCursor()
|
|
|
60443
60577
|
this.Canvas.textBaseline="bottom";
|
|
60444
60578
|
this.Canvas.fillStyle=this.TextColor;
|
|
60445
60579
|
this.Canvas.fillText(text,rtBG.Left+textOffset.X,rtBG.Bottom+textOffset.Y,textWidth);
|
|
60580
|
+
|
|
60581
|
+
var buttonData={X:x, Y:y, XValue:xValue, FrameID:yValueExtend.FrameID };
|
|
60582
|
+
if (this.StringFormatX.KItem) buttonData.KItem=this.StringFormatX.KItem;
|
|
60583
|
+
this.BottomButton.Rect=rtBG;
|
|
60584
|
+
this.BottomButton.Data=buttonData;
|
|
60446
60585
|
}
|
|
60447
60586
|
}
|
|
60448
60587
|
|
|
@@ -60662,17 +60801,42 @@ function ChartCorssCursor()
|
|
|
60662
60801
|
}
|
|
60663
60802
|
|
|
60664
60803
|
this.PtInButton=function(x,y)
|
|
60804
|
+
{
|
|
60805
|
+
var item=this.PtInRightButton(x,y);
|
|
60806
|
+
if (item) return item;
|
|
60807
|
+
|
|
60808
|
+
item=this.PtInButtomButton(x,y);
|
|
60809
|
+
if (item) return item;
|
|
60810
|
+
|
|
60811
|
+
return null;
|
|
60812
|
+
}
|
|
60813
|
+
|
|
60814
|
+
this.PtInRightButton=function(x,y)
|
|
60665
60815
|
{
|
|
60666
60816
|
if (!this.RightButton.Enable) return null;
|
|
60667
60817
|
if (!this.RightButton.Rect) return null;
|
|
60668
60818
|
|
|
60669
60819
|
var rect=this.RightButton.Rect;
|
|
60670
|
-
|
|
60671
|
-
this.Canvas.rect(rect.Left,rect.Top,rect.Width,rect.Height);
|
|
60672
|
-
if (this.Canvas.isPointInPath(x,y))
|
|
60820
|
+
if (x>=rect.Left && x<=rect.Right && y>=rect.Top && y<=rect.Bottom)
|
|
60673
60821
|
{
|
|
60674
|
-
return { Data:this.RightButton.Data, Rect:rect };
|
|
60822
|
+
return { Data:this.RightButton.Data, Rect:rect, Type:1 }; //Type:1=右侧 2=底部
|
|
60675
60823
|
}
|
|
60824
|
+
|
|
60825
|
+
return null;
|
|
60826
|
+
}
|
|
60827
|
+
|
|
60828
|
+
this.PtInButtomButton=function(x,y)
|
|
60829
|
+
{
|
|
60830
|
+
if (!this.BottomButton.Enable) return null;
|
|
60831
|
+
if (!this.BottomButton.Rect) return null;
|
|
60832
|
+
|
|
60833
|
+
var rect=this.BottomButton.Rect;
|
|
60834
|
+
if (x>=rect.Left && x<=rect.Right && y>=rect.Top && y<=rect.Bottom)
|
|
60835
|
+
{
|
|
60836
|
+
return { Data:this.BottomButton.Data, Rect:rect , Type:2 }; //Type:1=右侧 2=底部
|
|
60837
|
+
}
|
|
60838
|
+
|
|
60839
|
+
return null;
|
|
60676
60840
|
}
|
|
60677
60841
|
|
|
60678
60842
|
this.DrawTextBGRect=function(x,y, height, width)
|
|
@@ -61720,9 +61884,11 @@ function HQDateStringFormat()
|
|
|
61720
61884
|
|
|
61721
61885
|
this.DateFormatType=0; //0=YYYY-MM-DD 1=YYYY/MM/DD 2=YYYY/MM/DD/W 3=DD/MM/YYYY
|
|
61722
61886
|
this.LanguageID=0;
|
|
61887
|
+
this.KItem=null; //缓存当前的K线
|
|
61723
61888
|
|
|
61724
61889
|
this.Operator=function()
|
|
61725
61890
|
{
|
|
61891
|
+
this.KItem=null;
|
|
61726
61892
|
if (!IFrameSplitOperator.IsNumber(this.Value)) return false;
|
|
61727
61893
|
if (!this.Data) return false;
|
|
61728
61894
|
|
|
@@ -61730,6 +61896,7 @@ function HQDateStringFormat()
|
|
|
61730
61896
|
index=parseInt(index.toFixed(0));
|
|
61731
61897
|
if (this.Data.DataOffset+index>=this.Data.Data.length) return false;
|
|
61732
61898
|
var currentData = this.Data.Data[this.Data.DataOffset+index];
|
|
61899
|
+
this.KItem=currentData;
|
|
61733
61900
|
var dateFormatString="YYYY-MM-DD";
|
|
61734
61901
|
if (this.DateFormatType==1) dateFormatString="YYYY/MM/DD";
|
|
61735
61902
|
else if (this.DateFormatType==2) dateFormatString="YYYY/MM/DD/W";
|
|
@@ -77909,6 +78076,8 @@ function JSChartResource()
|
|
|
77909
78076
|
YOffset:1,
|
|
77910
78077
|
Font:`${12*GetDevicePixelRatio()}px 微软雅黑`,
|
|
77911
78078
|
TextColor:"rgb(128,128,128)",
|
|
78079
|
+
|
|
78080
|
+
AryBarRange:[{ Start:240, End:120 }, { Start:120, End:0}],
|
|
77912
78081
|
}
|
|
77913
78082
|
|
|
77914
78083
|
this.DefaultTextColor="rgb(43,54,69)"; //图形中默认的字体颜色
|
|
@@ -79459,7 +79628,7 @@ function JSChartResource()
|
|
|
79459
79628
|
if (item.Font) dest.Font=item.Font;
|
|
79460
79629
|
if (item.TextColor) dest.TextColor=item.TextColor;
|
|
79461
79630
|
if (IFrameSplitOperator.IsNumber(item.BarWidth)) dest.BarWidth=item.BarWidth;
|
|
79462
|
-
if (IFrameSplitOperator.
|
|
79631
|
+
if (IFrameSplitOperator.IsNonEmptyArray(item.AryBarRange)) dest.AryBarRange=item.AryBarRange;
|
|
79463
79632
|
if (IFrameSplitOperator.IsNumber(item.YOffset)) dest.YOffset=item.YOffset;
|
|
79464
79633
|
}
|
|
79465
79634
|
}
|
|
@@ -82672,33 +82841,179 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
82672
82841
|
return;
|
|
82673
82842
|
}
|
|
82674
82843
|
|
|
82844
|
+
return this.ChartOperator_Temp_SetChartCorssCursor(findIndex, item);
|
|
82845
|
+
}
|
|
82846
|
+
else if (id==JSCHART_OPERATOR_ID.OP_MOVE_CORSSCURSOR) //移动十字光标 { Step, Start:{ Date, Time }}
|
|
82847
|
+
{
|
|
82848
|
+
if (!IFrameSplitOperator.IsNumber(obj.Step)) return false;
|
|
82849
|
+
if (obj.Step==0) return false;
|
|
82850
|
+
var step=obj.Step;
|
|
82851
|
+
|
|
82675
82852
|
if (!this.Frame || !this.Frame.SubFrame[0] || !this.Frame.SubFrame[0].Frame) return false;
|
|
82676
|
-
var
|
|
82853
|
+
var showCount=this.Frame.SubFrame[0].Frame.XPointCount; //一屏显示个数
|
|
82677
82854
|
|
|
82678
|
-
var
|
|
82679
|
-
|
|
82855
|
+
var kData=this.GetKData();
|
|
82856
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false; //数据还没有到达
|
|
82680
82857
|
|
|
82681
|
-
|
|
82682
|
-
var
|
|
82683
|
-
|
|
82684
|
-
|
|
82858
|
+
var start=kData.DataOffset;
|
|
82859
|
+
var bDayPeriod=ChartData.IsDayPeriod(this.Period,true);
|
|
82860
|
+
var findItem=null, dataIndex=-1;
|
|
82861
|
+
for(var i=0; i<kData.Data.length; ++i)
|
|
82862
|
+
{
|
|
82863
|
+
var item=kData.Data[i];
|
|
82864
|
+
if (!item) continue;
|
|
82685
82865
|
|
|
82686
|
-
|
|
82687
|
-
|
|
82688
|
-
|
|
82866
|
+
if (bDayPeriod)
|
|
82867
|
+
{
|
|
82868
|
+
if (item.Date==obj.Start.Date)
|
|
82869
|
+
{
|
|
82870
|
+
findItem=item;
|
|
82871
|
+
dataIndex=i;
|
|
82872
|
+
break;
|
|
82873
|
+
}
|
|
82874
|
+
}
|
|
82875
|
+
else
|
|
82876
|
+
{
|
|
82877
|
+
if (item.Date==obj.Start.Date && item.Time==obj.Start.Time)
|
|
82878
|
+
{
|
|
82879
|
+
findItem=item;
|
|
82880
|
+
dataIndex=i;
|
|
82881
|
+
break;
|
|
82882
|
+
}
|
|
82883
|
+
}
|
|
82884
|
+
}
|
|
82689
82885
|
|
|
82690
|
-
|
|
82886
|
+
if (!findItem) return false;
|
|
82691
82887
|
|
|
82692
|
-
var
|
|
82693
|
-
|
|
82694
|
-
|
|
82695
|
-
|
|
82696
|
-
|
|
82697
|
-
|
|
82698
|
-
|
|
82888
|
+
var index=-1;
|
|
82889
|
+
var dataOffset=kData.DataOffset;
|
|
82890
|
+
if (dataIndex>=start && dataIndex<=start+(showCount-1))
|
|
82891
|
+
{
|
|
82892
|
+
index=dataIndex-start;
|
|
82893
|
+
}
|
|
82894
|
+
else //需要调整当前屏范围
|
|
82895
|
+
{
|
|
82896
|
+
if (step>0)
|
|
82897
|
+
{
|
|
82898
|
+
if (dataIndex+showCount>=kData.Data.length)
|
|
82899
|
+
{
|
|
82900
|
+
dataOffset=kData.Data.length-showCount;
|
|
82901
|
+
index=dataIndex-dataOffset;
|
|
82902
|
+
}
|
|
82903
|
+
else
|
|
82904
|
+
{
|
|
82905
|
+
index=0;
|
|
82906
|
+
dataOffset=dataIndex;
|
|
82907
|
+
}
|
|
82908
|
+
}
|
|
82909
|
+
else
|
|
82910
|
+
{
|
|
82911
|
+
if (dataIndex-showCount<0)
|
|
82912
|
+
{
|
|
82913
|
+
dataOffset=0;
|
|
82914
|
+
index=dataIndex;
|
|
82915
|
+
}
|
|
82916
|
+
else if (dataIndex+showCount>=kData.Data.length)
|
|
82917
|
+
{
|
|
82918
|
+
dataOffset=kData.Data.length-showCount;
|
|
82919
|
+
index=dataIndex-dataOffset;
|
|
82920
|
+
}
|
|
82921
|
+
else
|
|
82922
|
+
{
|
|
82923
|
+
index=showCount;
|
|
82924
|
+
dataOffset=dataIndex-showCount;
|
|
82925
|
+
}
|
|
82926
|
+
}
|
|
82927
|
+
}
|
|
82928
|
+
|
|
82929
|
+
var kItem=findItem;
|
|
82930
|
+
if (step>0)
|
|
82931
|
+
{
|
|
82932
|
+
for(var i=dataIndex+1, j=0; i<kData.Data.length && j<step; ++i, ++j)
|
|
82933
|
+
{
|
|
82934
|
+
++index;
|
|
82935
|
+
dataIndex=i;
|
|
82936
|
+
if (index>=(showCount-1))
|
|
82937
|
+
{
|
|
82938
|
+
index=showCount-1;
|
|
82939
|
+
dataOffset+=1;
|
|
82940
|
+
}
|
|
82941
|
+
|
|
82942
|
+
var item=kData.Data[i];
|
|
82943
|
+
if (!item) continue;
|
|
82944
|
+
|
|
82945
|
+
var kItem=item;
|
|
82946
|
+
}
|
|
82947
|
+
}
|
|
82948
|
+
else if (step<0)
|
|
82949
|
+
{
|
|
82950
|
+
for(var i=dataIndex-1, j=0;i>=0 && j<Math.abs(step);--i, ++j)
|
|
82951
|
+
{
|
|
82952
|
+
--index
|
|
82953
|
+
dataIndex=i;
|
|
82954
|
+
if (index<=0)
|
|
82955
|
+
{
|
|
82956
|
+
index=0;
|
|
82957
|
+
dataOffset-=1;
|
|
82958
|
+
}
|
|
82959
|
+
|
|
82960
|
+
var item=kData.Data[i];
|
|
82961
|
+
if (!item) continue;
|
|
82962
|
+
var kItem=item;
|
|
82963
|
+
}
|
|
82964
|
+
}
|
|
82965
|
+
|
|
82966
|
+
if (!kItem) return false;
|
|
82967
|
+
|
|
82968
|
+
obj.KItem=kItem;
|
|
82969
|
+
if (kData.DataOffset==dataOffset)
|
|
82970
|
+
{
|
|
82971
|
+
return this.ChartOperator_Temp_SetChartCorssCursor(index, kItem);
|
|
82972
|
+
}
|
|
82973
|
+
else
|
|
82974
|
+
{
|
|
82975
|
+
kData.DataOffset=dataOffset
|
|
82976
|
+
this.UpdataDataoffset(); //更新数据偏移
|
|
82977
|
+
this.UpdateFrameMaxMin(); //调整坐标最大 最小值
|
|
82978
|
+
this.ResetFrameXSplit();
|
|
82979
|
+
this.Frame.SetSizeChage(true);
|
|
82980
|
+
this.Draw();
|
|
82981
|
+
this.ChartOperator_Temp_SetChartCorssCursor(index, kItem);
|
|
82982
|
+
return true;
|
|
82983
|
+
}
|
|
82699
82984
|
}
|
|
82700
82985
|
}
|
|
82701
82986
|
|
|
82987
|
+
|
|
82988
|
+
this.ChartOperator_Temp_SetChartCorssCursor=function(index, kItem)
|
|
82989
|
+
{
|
|
82990
|
+
if (!this.Frame || !this.Frame.SubFrame[0] || !this.Frame.SubFrame[0].Frame) return false;
|
|
82991
|
+
var frame=this.Frame.SubFrame[0].Frame;
|
|
82992
|
+
|
|
82993
|
+
var x=frame.GetXFromIndex(index);
|
|
82994
|
+
var y=frame.GetYFromData(kItem.Close);
|
|
82995
|
+
|
|
82996
|
+
//保存最后一次鼠标移动信息
|
|
82997
|
+
var MoveStatus={ X:x, Y:y, IsInClient: this.IsMouseOnClient(x,y) };
|
|
82998
|
+
this.LastMouseStatus.OnMouseMove=MoveStatus;
|
|
82999
|
+
this.LastMouseStatus.MoveOnPoint={X:x, Y:y}; //鼠标移动的位置
|
|
83000
|
+
|
|
83001
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MOUSE_MOVE);
|
|
83002
|
+
var titleChart=this.TitlePaint[0];
|
|
83003
|
+
if (event && titleChart) titleChart.OnMouseMoveEvent=event;
|
|
83004
|
+
|
|
83005
|
+
var pixelTatio = GetDevicePixelRatio();
|
|
83006
|
+
var e={ };
|
|
83007
|
+
e.clientX=(x/pixelTatio)+this.UIElement.getBoundingClientRect().left;
|
|
83008
|
+
e.clientY=(y/pixelTatio)+this.UIElement.getBoundingClientRect().top;
|
|
83009
|
+
this.MoveOnPoint={X:x, Y:y};
|
|
83010
|
+
this.OnMouseMove(x,y,e);
|
|
83011
|
+
this.LastMouseStatus.MoveOnPoint=null;
|
|
83012
|
+
if (titleChart) titleChart.OnMouseMoveEvent=null;
|
|
83013
|
+
|
|
83014
|
+
return true;
|
|
83015
|
+
}
|
|
83016
|
+
|
|
82702
83017
|
//内部函数
|
|
82703
83018
|
this.ChartOperator_Temp_GetHistoryData=function()
|
|
82704
83019
|
{
|
|
@@ -86882,7 +87197,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
86882
87197
|
{
|
|
86883
87198
|
if (this.DragMode==JSCHART_DRAG_ID.CLICK_TOUCH_MODE_ID)
|
|
86884
87199
|
{
|
|
86885
|
-
if (this.
|
|
87200
|
+
if (this.ClickModel.IsShowCorssCursor==true && this.ClickModel.PreventHide) return;
|
|
87201
|
+
if (this.ClickModel.IsShowCorssCursor==true && this.TouchDrawCount>0 ) return;
|
|
86886
87202
|
|
|
86887
87203
|
this.TouchStatus.CorssCursorShow=false;
|
|
86888
87204
|
this.DrawDynamicInfo();
|
|
@@ -86891,7 +87207,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
86891
87207
|
|
|
86892
87208
|
if (this.EnableClickModel===true)
|
|
86893
87209
|
{
|
|
86894
|
-
if (this.ClickModel.IsShowCorssCursor==true && this.
|
|
87210
|
+
if (this.ClickModel.IsShowCorssCursor==true && this.ClickModel.PreventHide) return; //阻止隐藏
|
|
87211
|
+
if (this.ClickModel.IsShowCorssCursor==true && this.TouchDrawCount>0 ) return;
|
|
86895
87212
|
|
|
86896
87213
|
this.ClickModel.IsShowCorssCursor=false;
|
|
86897
87214
|
this.DrawDynamicInfo();
|
|
@@ -91692,13 +92009,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
91692
92009
|
this.IsOnTouch=true;
|
|
91693
92010
|
this.TouchDrawCount=0;
|
|
91694
92011
|
this.PhonePinch=null;
|
|
92012
|
+
this.TouchDrag=null;
|
|
92013
|
+
if (this.ClickModel) this.ClickModel.PreventHide=false;
|
|
91695
92014
|
this.StopDragTimer();
|
|
91696
92015
|
|
|
91697
92016
|
if (this.EnableScrollUpDown==false) e.preventDefault(); //上下拖动图形不能阻止事件
|
|
91698
92017
|
|
|
91699
92018
|
if (this.IsPhoneDragging(e))
|
|
91700
92019
|
{
|
|
91701
|
-
var drag= { Click:{}, LastMove:{} };//LastMove=最后移动的位置
|
|
92020
|
+
var drag= { Click:{}, LastMove:{}, StartTime:Date.now() };//LastMove=最后移动的位置 StartTime=开始时间
|
|
92021
|
+
var touchDrag={ Click:{}, LastMove:{}, StartTime:Date.now() };
|
|
91702
92022
|
var touches=this.GetToucheData(e,this.IsForceLandscape);
|
|
91703
92023
|
var pt=this.PointAbsoluteToRelative(touches[0].clientX, touches[0].clientY, true);
|
|
91704
92024
|
|
|
@@ -91724,6 +92044,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
91724
92044
|
drag.Click.Y=touches[0].clientY;
|
|
91725
92045
|
drag.LastMove.X=touches[0].clientX;
|
|
91726
92046
|
drag.LastMove.Y=touches[0].clientY;
|
|
92047
|
+
|
|
92048
|
+
touchDrag.Click.X=touches[0].clientX;
|
|
92049
|
+
touchDrag.Click.Y=touches[0].clientY;
|
|
92050
|
+
touchDrag.LastMove.X=touches[0].clientX;
|
|
92051
|
+
touchDrag.LastMove.Y=touches[0].clientY;
|
|
92052
|
+
|
|
91727
92053
|
var self=this;
|
|
91728
92054
|
|
|
91729
92055
|
var T_ShowCorssCursor=function() //临时函数(Temp_) T_开头
|
|
@@ -91804,6 +92130,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
91804
92130
|
}
|
|
91805
92131
|
|
|
91806
92132
|
this.MouseDrag=drag;
|
|
92133
|
+
this.TouchDrag=touchDrag;
|
|
91807
92134
|
this.PhoneTouchInfo={ Start:{X:touches[0].clientX, Y:touches[0].clientY }, End:{ X:touches[0].clientX, Y:touches[0].clientY } };
|
|
91808
92135
|
this.SelectChartDrawPicture=null;
|
|
91809
92136
|
|
|
@@ -91850,11 +92177,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
91850
92177
|
}
|
|
91851
92178
|
else if (this.IsPhonePinching(e))
|
|
91852
92179
|
{
|
|
91853
|
-
var phonePinch=
|
|
91854
|
-
{
|
|
91855
|
-
"Start":{},
|
|
91856
|
-
"Last":{}
|
|
91857
|
-
};
|
|
92180
|
+
var phonePinch= { Start:{}, Last:{}, StartTime:Date.now() };
|
|
91858
92181
|
|
|
91859
92182
|
var touches=this.GetToucheData(e,this.IsForceLandscape);
|
|
91860
92183
|
|
|
@@ -91946,6 +92269,13 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
91946
92269
|
this.PhoneTouchInfo.End.X=touches[0].clientX;
|
|
91947
92270
|
this.PhoneTouchInfo.End.Y=touches[0].clientY;
|
|
91948
92271
|
}
|
|
92272
|
+
|
|
92273
|
+
if (this.TouchDrag)
|
|
92274
|
+
{
|
|
92275
|
+
var touchDrag=this.TouchDrag;
|
|
92276
|
+
touchDrag.LastMove.X=touches[0].clientX;
|
|
92277
|
+
touchDrag.LastMove.Y=touches[0].clientY;
|
|
92278
|
+
}
|
|
91949
92279
|
}
|
|
91950
92280
|
else if (this.IsPhonePinching(e))
|
|
91951
92281
|
{
|
|
@@ -92003,6 +92333,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
92003
92333
|
JSConsole.Chart.Log('[MinuteChartContainer::OnTouchEnd]',e);
|
|
92004
92334
|
if (this.ChartSplashPaint && this.ChartSplashPaint.IsEnableSplash == true) return;
|
|
92005
92335
|
|
|
92336
|
+
this.FastSlideEvent();
|
|
92337
|
+
|
|
92006
92338
|
var bClearDrawPicture=true;
|
|
92007
92339
|
if (this.CurrentChartDrawPicture)
|
|
92008
92340
|
{
|
|
@@ -92038,9 +92370,10 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
92038
92370
|
this.TouchEvent({ EventID:JSCHART_EVENT_ID.ON_PHONE_TOUCH, FunctionName:"OnTouchEnd"}, e);
|
|
92039
92371
|
this.OnTouchFinished();
|
|
92040
92372
|
this.TouchDrawCount=0;
|
|
92373
|
+
this.TouchDrag=null;
|
|
92041
92374
|
}
|
|
92042
92375
|
|
|
92043
|
-
|
|
92376
|
+
|
|
92044
92377
|
//键盘左右移动十字光标
|
|
92045
92378
|
this.OnKeyDown=function(e)
|
|
92046
92379
|
{
|
|
@@ -93146,6 +93479,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
93146
93479
|
buySellBar.Name="Minute-BuySell-Bar";
|
|
93147
93480
|
buySellBar.Identify="Minute-BuySell-Bar";
|
|
93148
93481
|
buySellBar.BuySellData=this.BuySellData;
|
|
93482
|
+
buySellBar.HQChart=this;
|
|
93149
93483
|
this.ChartPaint[3]=buySellBar;
|
|
93150
93484
|
|
|
93151
93485
|
|
|
@@ -95746,6 +96080,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
95746
96080
|
{
|
|
95747
96081
|
if (this.EnableClickModel===true)
|
|
95748
96082
|
{
|
|
96083
|
+
if (this.ClickModel.IsShowCorssCursor==true && this.ClickModel.PreventHide) return; //阻止隐藏
|
|
95749
96084
|
if (this.ClickModel.IsShowCorssCursor==true && this.TouchDrawCount>0) return;
|
|
95750
96085
|
|
|
95751
96086
|
this.ClickModel.IsShowCorssCursor=false;
|
|
@@ -97968,7 +98303,7 @@ function KLineChartHScreenContainer(uielement)
|
|
|
97968
98303
|
|
|
97969
98304
|
if (this.VerticalDrag) bStartTimer=false;
|
|
97970
98305
|
|
|
97971
|
-
var drag= { Click:{}, LastMove:{} }; //LastMove=最后移动的位置
|
|
98306
|
+
var drag= { Click:{}, LastMove:{}, StartTime:Date.now() }; //LastMove=最后移动的位置
|
|
97972
98307
|
|
|
97973
98308
|
|
|
97974
98309
|
//var touches=this.GetToucheData(e,false);
|
|
@@ -98065,11 +98400,7 @@ function KLineChartHScreenContainer(uielement)
|
|
|
98065
98400
|
}
|
|
98066
98401
|
else if (this.IsPhonePinching(e))
|
|
98067
98402
|
{
|
|
98068
|
-
var phonePinch=
|
|
98069
|
-
{
|
|
98070
|
-
"Start":{},
|
|
98071
|
-
"Last":{}
|
|
98072
|
-
};
|
|
98403
|
+
var phonePinch={ Start:{}, Last:{}, StartTime:Date.now() };
|
|
98073
98404
|
|
|
98074
98405
|
var touches=this.GetToucheData(e,false);
|
|
98075
98406
|
|
|
@@ -147531,7 +147862,7 @@ function ScrollBarBGChart()
|
|
|
147531
147862
|
|
|
147532
147863
|
|
|
147533
147864
|
|
|
147534
|
-
var HQCHART_VERSION="1.1.
|
|
147865
|
+
var HQCHART_VERSION="1.1.14704";
|
|
147535
147866
|
|
|
147536
147867
|
function PrintHQChartVersion()
|
|
147537
147868
|
{
|