hqchart 1.1.14564 → 1.1.14591
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 +260 -94
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogSearchIndex.js +156 -9
- package/src/jscommon/umychart.NetworkFilterTest.js +82 -1
- package/src/jscommon/umychart.PopMinuteChart.js +5 -2
- package/src/jscommon/umychart.complier.js +25 -7
- package/src/jscommon/umychart.index.data.js +178 -7
- package/src/jscommon/umychart.js +537 -16
- package/src/jscommon/umychart.testdata.js +82 -1
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +741 -31
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +82 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +902 -42
package/src/jscommon/umychart.js
CHANGED
|
@@ -289,6 +289,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
289
289
|
if (IFrameSplitOperator.IsBool(option.EnableZoomIndexWindow)) chart.EnableZoomIndexWindow=option.EnableZoomIndexWindow;
|
|
290
290
|
if (IFrameSplitOperator.IsBool(option.IsDrawPictureXY)) chart.IsDrawPictureXY=option.IsDrawPictureXY;
|
|
291
291
|
if (IFrameSplitOperator.IsNumber(option.CtrlMoveStep)) chart.CtrlMoveStep=option.CtrlMoveStep;
|
|
292
|
+
if (IFrameSplitOperator.IsNumber(option.ShiftMoveStep)) chart.ShiftMoveStep=option.ShiftMoveStep;
|
|
292
293
|
if (IFrameSplitOperator.IsBool(option.EnableIndexChartDrag)) chart.EnableIndexChartDrag=option.EnableIndexChartDrag;
|
|
293
294
|
if (IFrameSplitOperator.IsBool(option.EnableVerifyRecvData)) chart.EnableVerifyRecvData=option.EnableVerifyRecvData;
|
|
294
295
|
|
|
@@ -440,6 +441,12 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
440
441
|
if (IFrameSplitOperator.IsNumber(item.ZIndex)) zindex=item.ZIndex;
|
|
441
442
|
if (item.Enable) this.CreateExtraCanvasElement(JSChart.RectDragCanvasKey, { ZIndex:zindex }); //创建独立的区间选择画布
|
|
442
443
|
}
|
|
444
|
+
|
|
445
|
+
if (option.DragKLine)
|
|
446
|
+
{
|
|
447
|
+
var item=option.DragKLine;
|
|
448
|
+
if (IFrameSplitOperator.IsBool(item.EnableShfit)) chart.KLineDragConfig.EnableShfit=item.EnableShfit;
|
|
449
|
+
}
|
|
443
450
|
}
|
|
444
451
|
|
|
445
452
|
//创建子窗口
|
|
@@ -491,6 +498,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
491
498
|
if (IFrameSplitOperator.IsNumber(item.PriceFormatType)) chart.ChartCorssCursor.StringFormatY.PriceFormatType=item.PriceFormatType;
|
|
492
499
|
if (IFrameSplitOperator.IsNumber(item.DataFormatType)) chart.ChartCorssCursor.StringFormatY.DataFormatType=item.DataFormatType;
|
|
493
500
|
if (IFrameSplitOperator.IsBool(item.EnableKeyboard)) chart.ChartCorssCursor.EnableKeyboard=item.EnableKeyboard;
|
|
501
|
+
if (IFrameSplitOperator.IsBool(item.EnableDBClick)) chart.ChartCorssCursor.EnableDBClick=item.EnableDBClick;
|
|
494
502
|
|
|
495
503
|
if (IFrameSplitOperator.IsBool(item.IsShowCorssPoint)) chart.ChartCorssCursor.CorssPointConfig.Enable=item.IsShowCorssPoint;
|
|
496
504
|
|
|
@@ -996,6 +1004,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
996
1004
|
if (IFrameSplitOperator.IsNumber(item.HPenType)) chart.ChartCorssCursor.HPenType=item.HPenType;
|
|
997
1005
|
if (IFrameSplitOperator.IsNumber(item.VPenType)) chart.ChartCorssCursor.VPenType=item.VPenType;
|
|
998
1006
|
if (IFrameSplitOperator.IsBool(item.EnableKeyboard)) chart.ChartCorssCursor.EnableKeyboard=item.EnableKeyboard;
|
|
1007
|
+
if (IFrameSplitOperator.IsBool(item.EnableDBClick)) chart.ChartCorssCursor.EnableDBClick=item.EnableDBClick;
|
|
999
1008
|
if (IFrameSplitOperator.IsBool(item.IsShowCorssPoint)) chart.ChartCorssCursor.CorssPointConfig.Enable=item.IsShowCorssPoint;
|
|
1000
1009
|
if (IFrameSplitOperator.IsNumber(item.VLineType)) chart.ChartCorssCursor.VLineType=item.VLineType;
|
|
1001
1010
|
}
|
|
@@ -2499,9 +2508,6 @@ JSChart.GetfloatPrecision=function(symbol)
|
|
|
2499
2508
|
return GetfloatPrecision(symbol);
|
|
2500
2509
|
}
|
|
2501
2510
|
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
2511
|
var JSCHART_EVENT_ID=
|
|
2506
2512
|
{
|
|
2507
2513
|
//RECV_KLINE_MATCH:1, //接收到形态匹配
|
|
@@ -2897,10 +2903,14 @@ var JSCHART_MENU_ID=
|
|
|
2897
2903
|
CMD_CORSS_ON_VAILD_TIME_ID:50, //超出当前时间的,X轴调整到当前最后的时间(分时图)
|
|
2898
2904
|
CMD_CORSS_ON_KLINE_ID:51, //十字光标只能画在K线上
|
|
2899
2905
|
CMD_CORSS_POINT_ID:52, //十字光标圆点
|
|
2906
|
+
|
|
2900
2907
|
|
|
2901
2908
|
CMD_RBUTTON_SELECT_RECT_ID:53, //右键区间选择
|
|
2902
2909
|
CMD_LBUTTON_SELECT_RECT_ID:54, //左键区间选择
|
|
2903
|
-
CMD_ENABLE_XDRAG_BOTTOM_ID:55,
|
|
2910
|
+
CMD_ENABLE_XDRAG_BOTTOM_ID:55, //X轴拖动缩放
|
|
2911
|
+
|
|
2912
|
+
CMD_FULLSCREEN_SUMMARY_ID:56, //当前屏区间统计
|
|
2913
|
+
CMD_CORSS_DBCLICK_ID:57, //双击显示隐藏十字光标
|
|
2904
2914
|
|
|
2905
2915
|
|
|
2906
2916
|
|
|
@@ -3055,6 +3065,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3055
3065
|
this.ZoomStepPixel=5; //放大缩小手势需要的最小像素
|
|
3056
3066
|
this.TouchMoveMinAngle=70; //左右移动最小角度
|
|
3057
3067
|
this.EnableAnimation=false; //是否开启动画
|
|
3068
|
+
this.ShiftUpDownStepPixel=1*GetDevicePixelRatio(); //Shift+(up/down) 移动十字光标
|
|
3058
3069
|
|
|
3059
3070
|
//tooltip提示信息
|
|
3060
3071
|
this.Tooltip=document.createElement("div");
|
|
@@ -3155,7 +3166,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
3155
3166
|
|
|
3156
3167
|
this.RestoreFocusTimer=null; //恢复焦点定时器
|
|
3157
3168
|
this.PreventRightMenu={ Timer:null, Enable:false, Delay:2000 }; //阻止右键菜单
|
|
3158
|
-
|
|
3169
|
+
|
|
3170
|
+
//SecondKeyID 1=shiftKey 2=ctrlKey 3=altKey
|
|
3171
|
+
this.AryHotKey=[]; //热键 { KeyID:87, SecondKeyID:1, CMD:JSCHART_MENU_ID.CMD_FULLSCREEN_SUMMARY_ID, Args:null, Description:"Alt+W 全屏区间统计" },
|
|
3172
|
+
|
|
3159
3173
|
this.RestoreFocus=function(delay)
|
|
3160
3174
|
{
|
|
3161
3175
|
var value=1000;
|
|
@@ -4190,6 +4204,17 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
4190
4204
|
document.oncontextmenu=(e)=> { this.DocContextMenu(e); }
|
|
4191
4205
|
}
|
|
4192
4206
|
|
|
4207
|
+
|
|
4208
|
+
this.IsShfitDragKLine=function(e)
|
|
4209
|
+
{
|
|
4210
|
+
if (this.DragMode!=1) return false;
|
|
4211
|
+
if (!this.KLineDragConfig) return false;
|
|
4212
|
+
if (!this.KLineDragConfig.EnableShfit) return false;
|
|
4213
|
+
if (!e.shiftKey) return false;
|
|
4214
|
+
|
|
4215
|
+
return true;
|
|
4216
|
+
}
|
|
4217
|
+
|
|
4193
4218
|
this.DocOnMouseMove=function(e)
|
|
4194
4219
|
{
|
|
4195
4220
|
//加载数据中,禁用鼠标事件
|
|
@@ -4205,6 +4230,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
4205
4230
|
var moveSetpY=Math.abs(drag.LastMove.Y-e.clientY);
|
|
4206
4231
|
var isDragSelectRect=(this.RectSelectDrag && this.RectSelectDrag.Index>=0);
|
|
4207
4232
|
var isDragSubSelectRect=(this.RectSelectDrag && this.RectSelectDrag.Type==4);
|
|
4233
|
+
var bShfitDragKLine=this.IsShfitDragKLine(e); //shift+鼠标移动K线
|
|
4208
4234
|
if (drag.CurrentMove)
|
|
4209
4235
|
{
|
|
4210
4236
|
drag.CurrentMove.X=e.clientX;
|
|
@@ -4312,7 +4338,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
4312
4338
|
{
|
|
4313
4339
|
this.OnDragXCoordinateZoom(drag, {X:moveSetp, Y:moveSetpY}, e);
|
|
4314
4340
|
}
|
|
4315
|
-
else if ((bLButtonSelectRect || bRButtonSelectRect) && !isDragSelectRect && !isDragSubSelectRect) //左右键区间选择
|
|
4341
|
+
else if ((bLButtonSelectRect || bRButtonSelectRect) && !isDragSelectRect && !isDragSubSelectRect && !bShfitDragKLine) //左右键区间选择
|
|
4316
4342
|
{
|
|
4317
4343
|
var yMoveSetp=Math.abs(drag.LastMove.Y-e.clientY);
|
|
4318
4344
|
|
|
@@ -4424,6 +4450,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
4424
4450
|
var isLeft=true;
|
|
4425
4451
|
if (drag.LastMove.X<e.clientX) isLeft=false;//右移数据
|
|
4426
4452
|
|
|
4453
|
+
//按住shift才能移动K线
|
|
4454
|
+
if (this.KLineDragConfig && this.KLineDragConfig.EnableShfit && !e.shiftKey) return;
|
|
4455
|
+
|
|
4427
4456
|
var cursorStatus="pointer";
|
|
4428
4457
|
var oneStepWidth=this.GetMoveOneStepWidth();
|
|
4429
4458
|
if (moveSetp<oneStepWidth)
|
|
@@ -4521,6 +4550,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
4521
4550
|
var isDragSelectRect=(this.RectSelectDrag && this.RectSelectDrag.Index>=0);
|
|
4522
4551
|
var isDragSubSelectRect=(this.RectSelectDrag && this.RectSelectDrag.Type==4);
|
|
4523
4552
|
var bClearDrawPicture=true;
|
|
4553
|
+
var bShfitDragKLine=this.IsShfitDragKLine(e);
|
|
4524
4554
|
if (this.CurrentChartDrawPicture)
|
|
4525
4555
|
{
|
|
4526
4556
|
var drawPicture=this.CurrentChartDrawPicture;
|
|
@@ -4563,7 +4593,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
4563
4593
|
{
|
|
4564
4594
|
if (this.OnMinuteSelectRectMouseUp) this.OnMinuteSelectRectMouseUp(e); //分时图区间选择
|
|
4565
4595
|
}
|
|
4566
|
-
else if (bLButtonSelectRect || bRButtonSelectRect) //K线图区间选择
|
|
4596
|
+
else if ((bLButtonSelectRect || bRButtonSelectRect) && !bShfitDragKLine) //K线图区间选择
|
|
4567
4597
|
{
|
|
4568
4598
|
var drag=this.MouseDrag;
|
|
4569
4599
|
drag.LastMove.X=e.clientX;
|
|
@@ -5852,6 +5882,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
5852
5882
|
item.Draw();
|
|
5853
5883
|
}
|
|
5854
5884
|
|
|
5885
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_5);
|
|
5886
|
+
|
|
5855
5887
|
if (this.Frame.DrawOveraly)
|
|
5856
5888
|
this.Frame.DrawOveraly(true); //画叠加指标
|
|
5857
5889
|
|
|
@@ -5875,9 +5907,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
5875
5907
|
item.Draw();
|
|
5876
5908
|
}
|
|
5877
5909
|
|
|
5910
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_8);
|
|
5911
|
+
|
|
5878
5912
|
if (this.Frame.DrawOveraly)
|
|
5879
5913
|
this.Frame.DrawOveraly(false); //画叠加指标
|
|
5880
5914
|
|
|
5915
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_10);
|
|
5916
|
+
|
|
5917
|
+
/*
|
|
5881
5918
|
//固定扩展图形
|
|
5882
5919
|
for(var i=0;i<this.ExtendChartPaint.length;++i)
|
|
5883
5920
|
{
|
|
@@ -5886,6 +5923,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
5886
5923
|
if (item.DrawAfterPicture) continue;
|
|
5887
5924
|
if (!item.IsDynamic && item.IsAnimation==false) item.Draw();
|
|
5888
5925
|
}
|
|
5926
|
+
*/
|
|
5889
5927
|
|
|
5890
5928
|
if (this.Frame.DrawInsideHorizontal) this.Frame.DrawInsideHorizontal();
|
|
5891
5929
|
this.KLineIncreaseCustomHorizontal();
|
|
@@ -5914,6 +5952,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
5914
5952
|
|
|
5915
5953
|
var moveonPoint=null;
|
|
5916
5954
|
if (this.LastMouseStatus && this.LastMouseStatus.MoveOnPoint) moveonPoint=this.LastMouseStatus.MoveOnPoint;
|
|
5955
|
+
|
|
5956
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20, { MoveonPoint:moveonPoint} );
|
|
5957
|
+
|
|
5958
|
+
/*
|
|
5917
5959
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
|
|
5918
5960
|
{
|
|
5919
5961
|
var item=this.ExtendChartPaint[i];
|
|
@@ -5925,6 +5967,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
5925
5967
|
if (item.DrawToolbar) item.DrawToolbar(moveonPoint);
|
|
5926
5968
|
}
|
|
5927
5969
|
}
|
|
5970
|
+
*/
|
|
5928
5971
|
|
|
5929
5972
|
for(var i=0;i<this.ChartDrawPicture.length;++i)
|
|
5930
5973
|
{
|
|
@@ -6014,6 +6057,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6014
6057
|
item.Draw(moveonPoint, this.LastMouseStatus);
|
|
6015
6058
|
}
|
|
6016
6059
|
|
|
6060
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25);
|
|
6061
|
+
/*
|
|
6017
6062
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
|
|
6018
6063
|
{
|
|
6019
6064
|
var item=this.ExtendChartPaint[i];
|
|
@@ -6021,7 +6066,11 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6021
6066
|
if (item.DrawAfterPicture) continue;
|
|
6022
6067
|
if (item.IsDynamic && item.DrawAfterTitle===true && item.IsAnimation==false) item.Draw();
|
|
6023
6068
|
}
|
|
6069
|
+
*/
|
|
6070
|
+
|
|
6071
|
+
if (this.EnableAnimation) this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_30);
|
|
6024
6072
|
|
|
6073
|
+
/*
|
|
6025
6074
|
if (this.EnableAnimation)
|
|
6026
6075
|
{
|
|
6027
6076
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动画
|
|
@@ -6030,6 +6079,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6030
6079
|
if (item.IsAnimation===true) item.Draw();
|
|
6031
6080
|
}
|
|
6032
6081
|
}
|
|
6082
|
+
*/
|
|
6033
6083
|
|
|
6034
6084
|
for(var i=0;i<this.ChartDrawPicture.length;++i)
|
|
6035
6085
|
{
|
|
@@ -6048,12 +6098,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6048
6098
|
this.CurrentChartDrawPicture.Draw();
|
|
6049
6099
|
}
|
|
6050
6100
|
|
|
6101
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_50);
|
|
6102
|
+
/*
|
|
6051
6103
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //画图工具绘制完成以后 动态扩展图形
|
|
6052
6104
|
{
|
|
6053
6105
|
var item=this.ExtendChartPaint[i];
|
|
6054
6106
|
if (item.DrawAfterPicture)
|
|
6055
6107
|
item.Draw();
|
|
6056
6108
|
}
|
|
6109
|
+
*/
|
|
6057
6110
|
|
|
6058
6111
|
this.OffscreenToShowCanvas();
|
|
6059
6112
|
|
|
@@ -6082,6 +6135,45 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6082
6135
|
++this.TouchDrawCount;
|
|
6083
6136
|
}
|
|
6084
6137
|
|
|
6138
|
+
this.DrawExtendChartPaint=function(level, option)
|
|
6139
|
+
{
|
|
6140
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.ExtendChartPaint)) return;
|
|
6141
|
+
|
|
6142
|
+
//扩展图形
|
|
6143
|
+
for(var i=0;i<this.ExtendChartPaint.length;++i)
|
|
6144
|
+
{
|
|
6145
|
+
var item=this.ExtendChartPaint[i];
|
|
6146
|
+
if (item.IsCallbackDraw) continue;
|
|
6147
|
+
|
|
6148
|
+
var value=item.GetPriority(); //绘图优先级
|
|
6149
|
+
if (value!=level) continue;
|
|
6150
|
+
|
|
6151
|
+
if (level==IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20)
|
|
6152
|
+
{
|
|
6153
|
+
item.Draw();
|
|
6154
|
+
if (item.DrawToolbar && option) item.DrawToolbar(option.MoveonPoint, option.LastMouseStatus);
|
|
6155
|
+
}
|
|
6156
|
+
else if (level==IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25 && option)
|
|
6157
|
+
{
|
|
6158
|
+
if (item.ClassName=='KLineTooltipPaint' && option)
|
|
6159
|
+
{
|
|
6160
|
+
if (option.Tooltip==false) continue;
|
|
6161
|
+
if (option.Point) item.LatestPoint=option.Point;
|
|
6162
|
+
}
|
|
6163
|
+
else if (item.ClassName=="MinuteTooltipPaint" && option)
|
|
6164
|
+
{
|
|
6165
|
+
if (option.Point) item.LatestPoint=option.Point;
|
|
6166
|
+
}
|
|
6167
|
+
|
|
6168
|
+
item.Draw(option.MoveonPoint, option.LastMouseStatus);
|
|
6169
|
+
}
|
|
6170
|
+
else
|
|
6171
|
+
{
|
|
6172
|
+
item.Draw();
|
|
6173
|
+
}
|
|
6174
|
+
}
|
|
6175
|
+
}
|
|
6176
|
+
|
|
6085
6177
|
this.PtInButton=function(x, y)
|
|
6086
6178
|
{
|
|
6087
6179
|
var button=this.Frame.PtInButtons(x,y);
|
|
@@ -6394,6 +6486,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6394
6486
|
|
|
6395
6487
|
var moveonPoint=null;
|
|
6396
6488
|
if (this.LastMouseStatus && this.LastMouseStatus.MoveOnPoint) moveonPoint=this.LastMouseStatus.MoveOnPoint;
|
|
6489
|
+
|
|
6490
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20, { MoveonPoint:moveonPoint, LastMouseStatus:this.LastMouseStatus } );
|
|
6491
|
+
|
|
6492
|
+
/*
|
|
6397
6493
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
|
|
6398
6494
|
{
|
|
6399
6495
|
var item=this.ExtendChartPaint[i];
|
|
@@ -6405,6 +6501,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6405
6501
|
if (item.DrawToolbar) item.DrawToolbar(moveonPoint, this.LastMouseStatus);
|
|
6406
6502
|
}
|
|
6407
6503
|
}
|
|
6504
|
+
*/
|
|
6408
6505
|
|
|
6409
6506
|
for(var i=0;i<this.ChartDrawPicture.length;++i)
|
|
6410
6507
|
{
|
|
@@ -6503,6 +6600,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6503
6600
|
item.Draw(moveonPoint, this.LastMouseStatus);
|
|
6504
6601
|
}
|
|
6505
6602
|
|
|
6603
|
+
|
|
6604
|
+
var exChartOption={ MoveonPoint:moveonPoint, LastMouseStatus:this.LastMouseStatus };
|
|
6605
|
+
if (option)
|
|
6606
|
+
{
|
|
6607
|
+
exChartOption.Tooltip=option.Tooltip;
|
|
6608
|
+
exChartOption.Point=option.Point;
|
|
6609
|
+
}
|
|
6610
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25,exChartOption);
|
|
6611
|
+
/*
|
|
6506
6612
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形 在动态标题以后画
|
|
6507
6613
|
{
|
|
6508
6614
|
var item=this.ExtendChartPaint[i];
|
|
@@ -6520,7 +6626,10 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6520
6626
|
|
|
6521
6627
|
if (item.IsDynamic && item.DrawAfterTitle===true) item.Draw(moveonPoint, this.LastMouseStatus);
|
|
6522
6628
|
}
|
|
6629
|
+
*/
|
|
6523
6630
|
|
|
6631
|
+
if (this.EnableAnimation) this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_30);
|
|
6632
|
+
/*
|
|
6524
6633
|
if (this.EnableAnimation)
|
|
6525
6634
|
{
|
|
6526
6635
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动画
|
|
@@ -6529,6 +6638,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6529
6638
|
if (item.IsAnimation===true) item.Draw();
|
|
6530
6639
|
}
|
|
6531
6640
|
}
|
|
6641
|
+
*/
|
|
6532
6642
|
|
|
6533
6643
|
for(var i=0;i<this.ChartDrawPicture.length;++i)
|
|
6534
6644
|
{
|
|
@@ -6550,12 +6660,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6550
6660
|
this.CurrentChartDrawPicture.Draw();
|
|
6551
6661
|
}
|
|
6552
6662
|
|
|
6663
|
+
this.DrawExtendChartPaint(IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_50);
|
|
6664
|
+
/*
|
|
6553
6665
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
|
|
6554
6666
|
{
|
|
6555
6667
|
var item=this.ExtendChartPaint[i];
|
|
6556
6668
|
if (item.DrawAfterPicture)
|
|
6557
6669
|
item.Draw();
|
|
6558
6670
|
}
|
|
6671
|
+
*/
|
|
6559
6672
|
|
|
6560
6673
|
if (this.LastMouseStatus.MouseOnToolbar) //工具栏按钮提示信息
|
|
6561
6674
|
{
|
|
@@ -6982,6 +7095,40 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6982
7095
|
this.UIElement.style.cursor=obj.Cursor;
|
|
6983
7096
|
}
|
|
6984
7097
|
|
|
7098
|
+
this.OnHotKeyDown=function(keyID, e) //热键触发
|
|
7099
|
+
{
|
|
7100
|
+
var item=this.FindHotKey(keyID,e);
|
|
7101
|
+
if (!item) return false;
|
|
7102
|
+
|
|
7103
|
+
this.ExecuteMenuCommand(item.CMD, item.Args);
|
|
7104
|
+
return true;
|
|
7105
|
+
}
|
|
7106
|
+
|
|
7107
|
+
this.FindHotKey=function(keyID, e)
|
|
7108
|
+
{
|
|
7109
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.AryHotKey)) return null;
|
|
7110
|
+
|
|
7111
|
+
for(var i=0;i<this.AryHotKey.length;++i)
|
|
7112
|
+
{
|
|
7113
|
+
var item=this.AryHotKey[i];
|
|
7114
|
+
if (keyID==item.KeyID)
|
|
7115
|
+
{
|
|
7116
|
+
//SecondKeyID 1=shiftKey 2=ctrlKey 3=altKey
|
|
7117
|
+
if ((item.SecondKeyID==1 && e.shiftKey) || (item.SecondKeyID==2 && e.ctrlKey) || (item.SecondKeyID==3 && e.altKey))
|
|
7118
|
+
return item;
|
|
7119
|
+
}
|
|
7120
|
+
}
|
|
7121
|
+
|
|
7122
|
+
return null;
|
|
7123
|
+
}
|
|
7124
|
+
|
|
7125
|
+
this.IsHotKey=function(keyID, e)
|
|
7126
|
+
{
|
|
7127
|
+
var item=this.FindHotKey(keyID,e);
|
|
7128
|
+
if (!item) return false;
|
|
7129
|
+
return true;
|
|
7130
|
+
}
|
|
7131
|
+
|
|
6985
7132
|
this.OnKeyDown=function(e)
|
|
6986
7133
|
{
|
|
6987
7134
|
if (this.ChartSplashPaint && this.ChartSplashPaint.IsEnableSplash == true) return;
|
|
@@ -6998,22 +7145,35 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
6998
7145
|
}
|
|
6999
7146
|
|
|
7000
7147
|
var draw=false;
|
|
7001
|
-
if (this.
|
|
7148
|
+
if (keyID==27 && this.PopMinuteChart && this.PopMinuteChart.IsShow())
|
|
7149
|
+
{
|
|
7150
|
+
this.PopMinuteChart.Close();
|
|
7151
|
+
draw=true;
|
|
7152
|
+
}
|
|
7153
|
+
else if (this.ChartCorssCursor && this.ChartCorssCursor.OnKeyDown) //十字光标 隐藏显示
|
|
7002
7154
|
{
|
|
7003
7155
|
var sendData={ e:e, KeyID:keyID, Draw:false, PreventDefault:false };
|
|
7004
7156
|
this.ChartCorssCursor.OnKeyDown(sendData);
|
|
7005
7157
|
draw=sendData.Draw;
|
|
7006
7158
|
}
|
|
7007
7159
|
|
|
7160
|
+
if (this.OnHotKeyDown(keyID, e))
|
|
7161
|
+
{
|
|
7162
|
+
//不让滚动条滚动
|
|
7163
|
+
if(e.preventDefault) e.preventDefault();
|
|
7164
|
+
else e.returnValue = false;
|
|
7165
|
+
return;
|
|
7166
|
+
}
|
|
7167
|
+
|
|
7008
7168
|
switch(keyID)
|
|
7009
7169
|
{
|
|
7010
7170
|
case 37: //left
|
|
7011
|
-
if (e.ctrlKey && this.OnCustomKeyDown)
|
|
7171
|
+
if ((e.ctrlKey||e.shiftKey) && this.OnCustomKeyDown)
|
|
7012
7172
|
{
|
|
7013
7173
|
if (this.OnCustomKeyDown(keyID, e))
|
|
7014
7174
|
break;
|
|
7015
7175
|
}
|
|
7016
|
-
|
|
7176
|
+
|
|
7017
7177
|
if (this.CursorIndex<=0.99999)
|
|
7018
7178
|
{
|
|
7019
7179
|
if (!this.DataMoveLeft())
|
|
@@ -7038,7 +7198,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7038
7198
|
}
|
|
7039
7199
|
break;
|
|
7040
7200
|
case 39: //right
|
|
7041
|
-
if (e.ctrlKey && this.OnCustomKeyDown)
|
|
7201
|
+
if ((e.ctrlKey|| e.shiftKey) && this.OnCustomKeyDown)
|
|
7042
7202
|
{
|
|
7043
7203
|
if (this.OnCustomKeyDown(keyID, e))
|
|
7044
7204
|
break;
|
|
@@ -7074,8 +7234,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7074
7234
|
}
|
|
7075
7235
|
break;
|
|
7076
7236
|
case 38: //up
|
|
7237
|
+
if ((e.ctrlKey||e.shiftKey) && this.OnCustomKeyDown)
|
|
7238
|
+
{
|
|
7239
|
+
if (this.OnCustomKeyDown(keyID, e))
|
|
7240
|
+
break;
|
|
7241
|
+
}
|
|
7077
7242
|
if (this.EnableZoomUpDown && this.EnableZoomUpDown.Keyboard===false) break;
|
|
7078
7243
|
var cursorIndex={ ZoomType:this.ZoomType, IsLockRight:this.IsZoomLockRight };
|
|
7244
|
+
if (e.ctrlKey) cursorIndex.ZoomType=1; //ctrl 十字中心缩放
|
|
7079
7245
|
cursorIndex.Index=parseInt(Math.abs(this.CursorIndex-0.5).toFixed(0));
|
|
7080
7246
|
if (!this.Frame.ZoomUp(cursorIndex)) break;
|
|
7081
7247
|
this.CursorIndex=cursorIndex.Index;
|
|
@@ -7088,8 +7254,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7088
7254
|
this.OnKLinePageChange("keydown");
|
|
7089
7255
|
break;
|
|
7090
7256
|
case 40: //down
|
|
7257
|
+
if ((e.ctrlKey||e.shiftKey) && this.OnCustomKeyDown)
|
|
7258
|
+
{
|
|
7259
|
+
if (this.OnCustomKeyDown(keyID, e))
|
|
7260
|
+
break;
|
|
7261
|
+
}
|
|
7091
7262
|
if (this.EnableZoomUpDown && this.EnableZoomUpDown.Keyboard===false) break;
|
|
7092
7263
|
var cursorIndex={ ZoomType:this.ZoomType ,IsLockRight:this.IsZoomLockRight };
|
|
7264
|
+
if (e.ctrlKey) cursorIndex.ZoomType=1; //ctrl 十字中心缩放
|
|
7093
7265
|
cursorIndex.Index=parseInt(Math.abs(this.CursorIndex-0.5).toFixed(0));
|
|
7094
7266
|
if (!this.Frame.ZoomDown(cursorIndex, { ZoomDownloadDataCallback:(requestData)=>{ this.ZoomDownloadData(requestData) } })) break;
|
|
7095
7267
|
|
|
@@ -7142,6 +7314,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7142
7314
|
this.CurrentChartDrawPicture=null;
|
|
7143
7315
|
}
|
|
7144
7316
|
break;
|
|
7317
|
+
case 13: //回车
|
|
7318
|
+
if (this.OnCustomKeyDown) this.OnCustomKeyDown(keyID, e);
|
|
7319
|
+
break;
|
|
7145
7320
|
default:
|
|
7146
7321
|
return;
|
|
7147
7322
|
}
|
|
@@ -7155,7 +7330,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7155
7330
|
|
|
7156
7331
|
this.OnDoubleClick=function(x,y,e)
|
|
7157
7332
|
{
|
|
7158
|
-
|
|
7333
|
+
|
|
7159
7334
|
}
|
|
7160
7335
|
|
|
7161
7336
|
this.ZoomIndexWindow=function(frameID, option) //最大化/最小化指标窗口
|
|
@@ -9100,6 +9275,43 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9100
9275
|
return width;
|
|
9101
9276
|
}
|
|
9102
9277
|
|
|
9278
|
+
this.GetChartPaintByClassName=function(name)
|
|
9279
|
+
{
|
|
9280
|
+
var aryData=[];
|
|
9281
|
+
for(var i=0;i<this.ChartPaint.length;++i)
|
|
9282
|
+
{
|
|
9283
|
+
var item=this.ChartPaint[i];
|
|
9284
|
+
if (item.ClassName==name)
|
|
9285
|
+
{
|
|
9286
|
+
var frameID=null;
|
|
9287
|
+
if (item.ChartFrame) frameID=item.ChartFrame.Identify;
|
|
9288
|
+
aryData.push({ IsOverlay:false, Chart:item, FrameID:frameID });
|
|
9289
|
+
}
|
|
9290
|
+
}
|
|
9291
|
+
|
|
9292
|
+
for(var i=0;i<this.Frame.SubFrame.length;++i)
|
|
9293
|
+
{
|
|
9294
|
+
var subItem=this.Frame.SubFrame[i];
|
|
9295
|
+
if (!subItem) continue;
|
|
9296
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(subItem.OverlayIndex)) continue;
|
|
9297
|
+
|
|
9298
|
+
for(var j=0;j<subItem.OverlayIndex.length;++j)
|
|
9299
|
+
{
|
|
9300
|
+
var item=subItem.OverlayIndex[j];
|
|
9301
|
+
for(var k=0;k<item.ChartPaint.length;++k)
|
|
9302
|
+
{
|
|
9303
|
+
var chartItem=item.ChartPaint[k];
|
|
9304
|
+
if (chartItem.ClassName==name)
|
|
9305
|
+
{
|
|
9306
|
+
aryData.push({ IsOverlay:true, Chart:chartItem, FrameID:subItem.Frame.Identify, SubFrameID:j });
|
|
9307
|
+
}
|
|
9308
|
+
}
|
|
9309
|
+
}
|
|
9310
|
+
}
|
|
9311
|
+
|
|
9312
|
+
return aryData;
|
|
9313
|
+
}
|
|
9314
|
+
|
|
9103
9315
|
//删除扩展画法
|
|
9104
9316
|
this.DeleteExtendChart=function(data)
|
|
9105
9317
|
{
|
|
@@ -10474,6 +10686,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10474
10686
|
case JSCHART_MENU_ID.CMD_CORSS_POINT_ID:
|
|
10475
10687
|
if (IFrameSplitOperator.IsBool(srcParam) && this.ChartCorssCursor) this.ChartCorssCursor.CorssPointConfig.Enable=srcParam;
|
|
10476
10688
|
break;
|
|
10689
|
+
case JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID:
|
|
10690
|
+
if (IFrameSplitOperator.IsBool(srcParam) && this.ChartCorssCursor) this.ChartCorssCursor.EnableDBClick=srcParam;
|
|
10691
|
+
break;
|
|
10477
10692
|
case JSCHART_MENU_ID.CMD_RBUTTON_SELECT_RECT_ID:
|
|
10478
10693
|
if (IFrameSplitOperator.IsBool(srcParam) && this.ChartDragSelectRect) this.ChartDragSelectRect.EnableRButton=srcParam;
|
|
10479
10694
|
break;
|
|
@@ -10483,6 +10698,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10483
10698
|
case JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID:
|
|
10484
10699
|
if (IFrameSplitOperator.IsBool(srcParam)) this.EnableXDrag.Bottom=srcParam;
|
|
10485
10700
|
break;
|
|
10701
|
+
case JSCHART_MENU_ID.CMD_FULLSCREEN_SUMMARY_ID:
|
|
10702
|
+
this.FullScreenSummary();
|
|
10703
|
+
break;
|
|
10486
10704
|
}
|
|
10487
10705
|
}
|
|
10488
10706
|
|
|
@@ -11039,6 +11257,63 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11039
11257
|
this.Draw();
|
|
11040
11258
|
}
|
|
11041
11259
|
}
|
|
11260
|
+
|
|
11261
|
+
this.MoveCorssCursorUp=function(step)
|
|
11262
|
+
{
|
|
11263
|
+
if (!IFrameSplitOperator.IsNumber(this.LastPoint.Y)) return;
|
|
11264
|
+
var border=this.Frame.ChartBorder.GetBorder();
|
|
11265
|
+
var top=border.TopEx;
|
|
11266
|
+
if (this.LastPoint.Y-step<=top) return;
|
|
11267
|
+
|
|
11268
|
+
this.LastPoint.Y-=step;
|
|
11269
|
+
this.DrawDynamicInfo();
|
|
11270
|
+
}
|
|
11271
|
+
|
|
11272
|
+
this.MoveCorssCursorDown=function(step)
|
|
11273
|
+
{
|
|
11274
|
+
if (!IFrameSplitOperator.IsNumber(this.LastPoint.Y)) return;
|
|
11275
|
+
var border=this.Frame.ChartBorder.GetBorder();
|
|
11276
|
+
var border=this.Frame.ChartBorder.GetBorder();
|
|
11277
|
+
var bottom=border.BottomEx;
|
|
11278
|
+
if (this.LastPoint.Y+step>=bottom) return;
|
|
11279
|
+
|
|
11280
|
+
this.LastPoint.Y+=step;
|
|
11281
|
+
this.DrawDynamicInfo();
|
|
11282
|
+
}
|
|
11283
|
+
|
|
11284
|
+
//整屏区间统计
|
|
11285
|
+
this.FullScreenSummary=function()
|
|
11286
|
+
{
|
|
11287
|
+
var kData=this.GetKData();
|
|
11288
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false;
|
|
11289
|
+
|
|
11290
|
+
var paint=this.GetRectSelectPaint();
|
|
11291
|
+
if (!paint) return false;
|
|
11292
|
+
|
|
11293
|
+
var xPointcount=0;
|
|
11294
|
+
if (this.Frame.XPointCount) xPointcount=this.Frame.XPointCount;
|
|
11295
|
+
else xPointcount=this.Frame.SubFrame[0].Frame.XPointCount;
|
|
11296
|
+
if (!IFrameSplitOperator.IsPlusNumber(xPointcount)) return false;
|
|
11297
|
+
|
|
11298
|
+
var startIndex=kData.DataOffset;
|
|
11299
|
+
var endIndex=startIndex+xPointcount;
|
|
11300
|
+
this.UpdateSelectRect(startIndex, endIndex);
|
|
11301
|
+
|
|
11302
|
+
var selectData=paint.GetSelectRectData();
|
|
11303
|
+
var border=this.Frame.SubFrame[0].Frame.GetBorder();
|
|
11304
|
+
|
|
11305
|
+
var data=
|
|
11306
|
+
{
|
|
11307
|
+
X:border.ChartWidth/2, Y:border.ChartHeight/2,
|
|
11308
|
+
SelectData:selectData, //区间选择的数据
|
|
11309
|
+
RectSelectPaint:paint //区间选择背景
|
|
11310
|
+
}
|
|
11311
|
+
|
|
11312
|
+
var e={ data:data };
|
|
11313
|
+
if (this.DialogSelectRect) this.DrawSelectRectDialog(e);
|
|
11314
|
+
|
|
11315
|
+
return true;
|
|
11316
|
+
}
|
|
11042
11317
|
}
|
|
11043
11318
|
|
|
11044
11319
|
function GetDevicePixelRatio()
|
|
@@ -42686,7 +42961,7 @@ function ChartMultiSVGIconV2()
|
|
|
42686
42961
|
if (IFrameSplitOperator.IsString(item.Value)) value=this.GetKValue(kItem,item.Value);
|
|
42687
42962
|
if (!IFrameSplitOperator.IsNumber(value)) continue;
|
|
42688
42963
|
|
|
42689
|
-
var y=this.ChartFrame.GetYFromData(
|
|
42964
|
+
var y=this.ChartFrame.GetYFromData(value,false);
|
|
42690
42965
|
|
|
42691
42966
|
if (item.Image)
|
|
42692
42967
|
{
|
|
@@ -45096,12 +45371,34 @@ function IExtendChartPainting()
|
|
|
45096
45371
|
this.IsCallbackDraw=false; //在回调函数里绘制, 不在Draw()中绘制
|
|
45097
45372
|
this.ID=Guid();
|
|
45098
45373
|
|
|
45374
|
+
this.DrawPriority=null; //绘图优先级
|
|
45375
|
+
|
|
45099
45376
|
//上下左右间距
|
|
45100
45377
|
this.Left=5;
|
|
45101
45378
|
this.Right=5;
|
|
45102
45379
|
this.Top=5;
|
|
45103
45380
|
this.Bottom=5;
|
|
45104
45381
|
|
|
45382
|
+
|
|
45383
|
+
this.GetPriority=function()
|
|
45384
|
+
{
|
|
45385
|
+
if (IFrameSplitOperator.IsNumber(this.DrawPriority)) return this.DrawPriority; //新版本
|
|
45386
|
+
|
|
45387
|
+
//老版本转换
|
|
45388
|
+
|
|
45389
|
+
if (!this.IsDynamic && !this.DrawAfterPicture) return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_10;
|
|
45390
|
+
|
|
45391
|
+
if (this.DrawAfterTitle===false && this.IsAnimation==false) return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20;
|
|
45392
|
+
|
|
45393
|
+
if (this.DrawAfterTitle===true) return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25;
|
|
45394
|
+
|
|
45395
|
+
if (this.IsAnimation===true) return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_35;
|
|
45396
|
+
|
|
45397
|
+
if (this.DrawAfterPicture===true) IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_50;
|
|
45398
|
+
|
|
45399
|
+
return IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_50
|
|
45400
|
+
}
|
|
45401
|
+
|
|
45105
45402
|
this.Draw=function()
|
|
45106
45403
|
{
|
|
45107
45404
|
|
|
@@ -45138,6 +45435,23 @@ function IExtendChartPainting()
|
|
|
45138
45435
|
}
|
|
45139
45436
|
}
|
|
45140
45437
|
|
|
45438
|
+
//绘图优先级
|
|
45439
|
+
IExtendChartPainting.DRAW_PRIORITY_ID=
|
|
45440
|
+
{
|
|
45441
|
+
LEVEL_1:1,
|
|
45442
|
+
LEVEL_5:5, // 叠加指数图形前面 指标图形 IsDrawFirst=true
|
|
45443
|
+
LEVEL_8:8, // 叠加指数图形前面 指标图形 IsDrawFirst=false
|
|
45444
|
+
LEVEL_10:10, // IsDynamic=false
|
|
45445
|
+
|
|
45446
|
+
LEVEL_20:20, // IsDynamic=true
|
|
45447
|
+
|
|
45448
|
+
LEVEL_25:25, // DrawAfterTitle=true 标题栏绘制完成以后
|
|
45449
|
+
|
|
45450
|
+
LEVEL_35:35, // IsAnimation=true
|
|
45451
|
+
|
|
45452
|
+
LEVEL_50:50, // DrawAfterPicture=true; 是否在画图工具以后绘制
|
|
45453
|
+
}
|
|
45454
|
+
|
|
45141
45455
|
//K线Tooltip, 显示在左边或右边
|
|
45142
45456
|
function KLineTooltipPaint()
|
|
45143
45457
|
{
|
|
@@ -45157,6 +45471,7 @@ function KLineTooltipPaint()
|
|
|
45157
45471
|
this.AmountColor=g_JSChartResource.TooltipPaint.AmountColor; //成交金额
|
|
45158
45472
|
this.LatestPoint; //手势位置
|
|
45159
45473
|
this.ShowPosition=0; //显示位置 0=左 1=右
|
|
45474
|
+
this.DrawPriority=IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25;
|
|
45160
45475
|
|
|
45161
45476
|
this.Left=1*GetDevicePixelRatio();
|
|
45162
45477
|
this.Top=5*GetDevicePixelRatio();
|
|
@@ -45900,6 +46215,7 @@ function MinuteLeftTooltipPaint()
|
|
|
45900
46215
|
this.IsDynamic=true;
|
|
45901
46216
|
this.IsEraseBG=true;
|
|
45902
46217
|
this.DrawAfterTitle=true;
|
|
46218
|
+
this.DrawPriority=IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25;
|
|
45903
46219
|
this.ClassName='MinuteLeftTooltipPaint';
|
|
45904
46220
|
this.BorderColor=g_JSChartResource.PCTooltipPaint.BorderColor; //边框颜色
|
|
45905
46221
|
this.BGColor=g_JSChartResource.PCTooltipPaint.BGColor; //背景色
|
|
@@ -46310,6 +46626,7 @@ function StockChip()
|
|
|
46310
46626
|
this.PixelRatio=GetDevicePixelRatio();
|
|
46311
46627
|
this.ShowType=0; //0=所有筹码 1=周期前 2=周期内
|
|
46312
46628
|
this.IsDynamic=true;
|
|
46629
|
+
this.DrawPriority=IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_20;
|
|
46313
46630
|
this.ClientRect={};
|
|
46314
46631
|
this.Font=g_JSChartResource.StockChip.Font;
|
|
46315
46632
|
this.InfoColor=g_JSChartResource.StockChip.InfoColor;
|
|
@@ -49989,6 +50306,7 @@ function FrameButtomToolbarPaint()
|
|
|
49989
50306
|
this.FrameGuid=null;
|
|
49990
50307
|
this.IsDynamic=true;
|
|
49991
50308
|
this.DrawAfterTitle=true;
|
|
50309
|
+
this.DrawPriority=IExtendChartPainting.DRAW_PRIORITY_ID.LEVEL_25;
|
|
49992
50310
|
|
|
49993
50311
|
this.AryButton=[]; // { Title:, ID:, Data:数据, TooltipText:提示信息 }
|
|
49994
50312
|
this.SelectedID=null; // 选中按钮ID
|
|
@@ -54134,6 +54452,7 @@ function ChartCorssCursor()
|
|
|
54134
54452
|
this.CallAcutionXOperator;
|
|
54135
54453
|
|
|
54136
54454
|
this.EnableKeyboard=false; //是否支持键盘隐藏显示
|
|
54455
|
+
this.EnableDBClick=false; //是否允许双击显示|隐藏十字光标
|
|
54137
54456
|
this.OnChangeStatusCallback; //状态切换以后回调
|
|
54138
54457
|
|
|
54139
54458
|
|
|
@@ -55362,6 +55681,27 @@ function ChartCorssCursor()
|
|
|
55362
55681
|
}
|
|
55363
55682
|
}
|
|
55364
55683
|
|
|
55684
|
+
this.OnDBClick=function(data)
|
|
55685
|
+
{
|
|
55686
|
+
if (!this.EnableDBClick) return;
|
|
55687
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame)) return;
|
|
55688
|
+
|
|
55689
|
+
//在主图框架内
|
|
55690
|
+
var frame=this.Frame.SubFrame[0].Frame;
|
|
55691
|
+
if (!frame) return;
|
|
55692
|
+
|
|
55693
|
+
var border=frame.GetBorder();
|
|
55694
|
+
var rtClient={ Left:border.Left, Top:border.Top, Bottom:border.Bottom, Right:border.Right };
|
|
55695
|
+
var x=data.X, y=data.Y;
|
|
55696
|
+
if (x>=rtClient.Left && x<=rtClient.Right && y>=rtClient.Top && y<=rtClient.Bottom)
|
|
55697
|
+
{
|
|
55698
|
+
this.IsShowCorss=!this.IsShowCorss
|
|
55699
|
+
data.Draw=true;
|
|
55700
|
+
|
|
55701
|
+
if (this.OnChangeStatusCallback) this.OnChangeStatusCallback({ Type:1, IsShowCorss:this.IsShowCorss }, this);
|
|
55702
|
+
}
|
|
55703
|
+
}
|
|
55704
|
+
|
|
55365
55705
|
|
|
55366
55706
|
this.DrawCorssPoint=function(x,y)
|
|
55367
55707
|
{
|
|
@@ -76121,7 +76461,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
76121
76461
|
this.ChartDrawStorageCache=null; //首次需要创建的画图工具数据
|
|
76122
76462
|
this.RightSpaceCount=0; //右侧空白个数
|
|
76123
76463
|
this.SourceDataLimit=new Map(); //每个周期缓存数据最大个数 key=周期 value=最大个数
|
|
76124
|
-
this.CtrlMoveStep=5; //Ctrl+(Left/Right) 移动数据个数
|
|
76464
|
+
this.CtrlMoveStep=5; //Ctrl+(Left/Right) 移动数据个数
|
|
76465
|
+
this.ShiftMoveStep=1; //Shift+(Left/Right) 移动K线
|
|
76125
76466
|
|
|
76126
76467
|
this.CustomShow=null; //首先显示的K线的起始日期 { Date:日期, Time:时间, PageSize:, Callback:, Position:0=left 1=center }
|
|
76127
76468
|
this.ZoomType=0; //缩放模式 0=最右边固定缩放, 1=十字光标两边缩放
|
|
@@ -76175,6 +76516,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
76175
76516
|
this.ScrollBar=null; //横向滚动条
|
|
76176
76517
|
this.IsAutoSyncDataOffset=true; //增量更新时,是否移动当前屏数据
|
|
76177
76518
|
|
|
76519
|
+
//热键
|
|
76520
|
+
this.AryHotKey=
|
|
76521
|
+
[
|
|
76522
|
+
//SecondKeyID 1=shiftKey 2=ctrlKey 3=altKey
|
|
76523
|
+
{ KeyID:87, SecondKeyID:3, CMD:JSCHART_MENU_ID.CMD_FULLSCREEN_SUMMARY_ID, Args:null, Description:"Alt+W 全屏区间统计" },
|
|
76524
|
+
]
|
|
76525
|
+
|
|
76526
|
+
this.KLineDragConfig={ EnableShfit:false }; //是否启动Shift+鼠标拖动K线
|
|
76527
|
+
|
|
76178
76528
|
this.GetKLineCalulate=function()
|
|
76179
76529
|
{
|
|
76180
76530
|
var kLineDrawType=this.GetKLineDrawType();
|
|
@@ -77212,7 +77562,9 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
77212
77562
|
this.PopMinuteChart.Show({ Date:date, Symbol:symbol, Data:data.Tooltip.Data, Chart:data.Tooltip.ChartPaint }, x/pixelRatio,y/pixelRatio);
|
|
77213
77563
|
}
|
|
77214
77564
|
|
|
77215
|
-
|
|
77565
|
+
//Alt+W 区间统计
|
|
77566
|
+
//Alt+数字 切换多个窗口
|
|
77567
|
+
//Ctrl+I
|
|
77216
77568
|
this.OnCustomKeyDown=function(keyID, e) //自定义键盘事件
|
|
77217
77569
|
{
|
|
77218
77570
|
if (keyID==37 && e.ctrlKey) //Ctrl+Left
|
|
@@ -77225,12 +77577,93 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
77225
77577
|
this.MoveCorssCursorRight(this.CtrlMoveStep);
|
|
77226
77578
|
return true;
|
|
77227
77579
|
}
|
|
77580
|
+
else if (keyID==37 && e.shiftKey) //shift+Left 移动K线
|
|
77581
|
+
{
|
|
77582
|
+
this.MoveKLineLeft(this.ShiftMoveStep);
|
|
77583
|
+
return true;
|
|
77584
|
+
}
|
|
77585
|
+
else if (keyID==39 && e.shiftKey) //shift+Right 移动K线
|
|
77586
|
+
{
|
|
77587
|
+
this.MoveKLineRight(this.ShiftMoveStep);
|
|
77588
|
+
return true;
|
|
77589
|
+
}
|
|
77590
|
+
else if (keyID==38 && e.shiftKey) //shift+up 上移十字光标
|
|
77591
|
+
{
|
|
77592
|
+
this.MoveCorssCursorUp(this.ShiftUpDownStepPixel);
|
|
77593
|
+
return true;
|
|
77594
|
+
}
|
|
77595
|
+
else if (keyID==40 && e.shiftKey) //shift+down 下移十字光标
|
|
77596
|
+
{
|
|
77597
|
+
this.MoveCorssCursorDown(this.ShiftUpDownStepPixel);
|
|
77598
|
+
return true;
|
|
77599
|
+
}
|
|
77600
|
+
else if (keyID==13) //回车显示分时图
|
|
77601
|
+
{
|
|
77602
|
+
this.OnEnterKeyDown();
|
|
77603
|
+
}
|
|
77228
77604
|
else
|
|
77229
77605
|
{
|
|
77230
77606
|
return false;
|
|
77231
77607
|
}
|
|
77232
77608
|
}
|
|
77233
77609
|
|
|
77610
|
+
this.MoveKLineLeft=function(value)
|
|
77611
|
+
{
|
|
77612
|
+
return this.MoveKLine(-value);
|
|
77613
|
+
}
|
|
77614
|
+
|
|
77615
|
+
this.MoveKLineRight=function(value)
|
|
77616
|
+
{
|
|
77617
|
+
return this.MoveKLine(value);
|
|
77618
|
+
}
|
|
77619
|
+
|
|
77620
|
+
this.MoveKLine=function(step)
|
|
77621
|
+
{
|
|
77622
|
+
if (step==0) return;
|
|
77623
|
+
|
|
77624
|
+
var oneStepWidth=this.GetMoveOneStepWidth();
|
|
77625
|
+
var moveSetp=step*oneStepWidth;
|
|
77626
|
+
var bLeft=true;
|
|
77627
|
+
if (step<0)
|
|
77628
|
+
{
|
|
77629
|
+
moveSetp=Math.abs(step)*oneStepWidth;
|
|
77630
|
+
bLeft=false;
|
|
77631
|
+
}
|
|
77632
|
+
|
|
77633
|
+
if(!this.DataMove(moveSetp,bLeft)) return;
|
|
77634
|
+
|
|
77635
|
+
this.UpdataDataoffset();
|
|
77636
|
+
this.RepairCursorIndex();
|
|
77637
|
+
this.UpdatePointByCursorIndex(); //推拽数据的时候不需要把鼠标位置更新到K线上
|
|
77638
|
+
this.UpdateFrameMaxMin();
|
|
77639
|
+
this.ResetFrameXYSplit();
|
|
77640
|
+
this.Draw();
|
|
77641
|
+
this.ShowTooltipByKeyDown();
|
|
77642
|
+
this.OnKLinePageChange("datamove");
|
|
77643
|
+
}
|
|
77644
|
+
|
|
77645
|
+
//修复 当前数据索引大于数据个数的请求
|
|
77646
|
+
this.RepairCursorIndex=function()
|
|
77647
|
+
{
|
|
77648
|
+
var kData=this.GetKData();
|
|
77649
|
+
if (!kData) return;
|
|
77650
|
+
|
|
77651
|
+
var xPointcount=0;
|
|
77652
|
+
if (this.Frame.XPointCount) xPointcount=this.Frame.XPointCount;
|
|
77653
|
+
else xPointcount=this.Frame.SubFrame[0].Frame.XPointCount;
|
|
77654
|
+
if (!IFrameSplitOperator.IsPlusNumber(xPointcount)) return;
|
|
77655
|
+
|
|
77656
|
+
if (this.CursorIndex<0) this.CursorIndex=0;
|
|
77657
|
+
|
|
77658
|
+
var index=this.CursorIndex;
|
|
77659
|
+
index=parseInt(index.toFixed(0));
|
|
77660
|
+
|
|
77661
|
+
if (index+kData.DataOffset>=kData.Data.length)
|
|
77662
|
+
{
|
|
77663
|
+
this.CursorIndex=kData.Data.length-1-kData.DataOffset;
|
|
77664
|
+
}
|
|
77665
|
+
}
|
|
77666
|
+
|
|
77234
77667
|
this.MoveCorssCursorLeft=function(step)
|
|
77235
77668
|
{
|
|
77236
77669
|
var data=null;
|
|
@@ -77307,6 +77740,30 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
77307
77740
|
this.ShowTooltipByKeyDown();
|
|
77308
77741
|
}
|
|
77309
77742
|
|
|
77743
|
+
this.OnEnterKeyDown=function()
|
|
77744
|
+
{
|
|
77745
|
+
if (!this.PopMinuteChart) return false;
|
|
77746
|
+
if (!ChartData.IsDayPeriod(this.Period,true)) return false; //只支持日K
|
|
77747
|
+
if (!this.ChartCorssCursor || !this.ChartCorssCursor.IsShowCorss || this.ChartCorssCursor.ClientPos<0) return false;
|
|
77748
|
+
var index=this.ChartCorssCursor.CursorIndex;
|
|
77749
|
+
index=parseInt(index.toFixed(0));
|
|
77750
|
+
var kData=this.GetKData();
|
|
77751
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return false;
|
|
77752
|
+
var dataIndex=kData.DataOffset+index;
|
|
77753
|
+
if (dataIndex<0 || dataIndex>=kData.Data.length) return false;
|
|
77754
|
+
|
|
77755
|
+
var kItem = kData.Data[dataIndex];
|
|
77756
|
+
if (!kItem) return false;
|
|
77757
|
+
|
|
77758
|
+
var frame=this.Frame.SubFrame[0].Frame;
|
|
77759
|
+
var x=frame.GetXFromIndex(index);
|
|
77760
|
+
var y=frame.GetYFromData(kItem.Close);
|
|
77761
|
+
|
|
77762
|
+
var data={ Chart:this, Tooltip:{ ChartPaint:this.ChartPaint[0], Data:kItem } };
|
|
77763
|
+
|
|
77764
|
+
this.ShowMinuteChartDialog(data, x, y);
|
|
77765
|
+
}
|
|
77766
|
+
|
|
77310
77767
|
//获取K线图实例
|
|
77311
77768
|
this.GetKLineChart=function()
|
|
77312
77769
|
{
|
|
@@ -82064,12 +82521,14 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
82064
82521
|
var bCorssDrawKLine=false;
|
|
82065
82522
|
var bCorssDrawVaildTime=false;
|
|
82066
82523
|
var bCorssDrawPoint=false;
|
|
82524
|
+
var bCorssBCClick=false;
|
|
82067
82525
|
if (this.ChartCorssCursor)
|
|
82068
82526
|
{
|
|
82069
82527
|
bShowCorss=this.ChartCorssCursor.IsShowCorss;
|
|
82070
82528
|
bCorssDrawKLine=this.ChartCorssCursor.IsOnlyDrawKLine && this.ChartCorssCursor.IsShowClose;
|
|
82071
82529
|
bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;
|
|
82072
82530
|
bCorssDrawPoint=this.ChartCorssCursor.CorssPointConfig.Enable;
|
|
82531
|
+
bCorssBCClick=this.ChartCorssCursor.EnableDBClick;
|
|
82073
82532
|
}
|
|
82074
82533
|
|
|
82075
82534
|
var bPopMinuteChart=false;
|
|
@@ -82255,6 +82714,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
82255
82714
|
{ Name:"显示在K线上", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_KLINE_ID, Args:[!bCorssDrawKLine]}, Checked:bCorssDrawKLine },
|
|
82256
82715
|
{ Name:"画在有效X轴上",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID, Args:[!bCorssDrawVaildTime]}, Checked:bCorssDrawVaildTime },
|
|
82257
82716
|
{ Name:"画圆点",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_POINT_ID, Args:[!bCorssDrawPoint]}, Checked:bCorssDrawPoint },
|
|
82717
|
+
{ Name:"双击显示/隐藏", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID, Args:[!bCorssBCClick]}, Checked:bCorssBCClick },
|
|
82258
82718
|
]
|
|
82259
82719
|
},
|
|
82260
82720
|
{
|
|
@@ -82728,6 +83188,14 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
82728
83188
|
|
|
82729
83189
|
this.OnDoubleClick=function(x,y,e)
|
|
82730
83190
|
{
|
|
83191
|
+
var bDraw=false;
|
|
83192
|
+
if (this.ChartCorssCursor)
|
|
83193
|
+
{
|
|
83194
|
+
var data={ e:e, X:x, Y:y, Draw:false };
|
|
83195
|
+
this.ChartCorssCursor.OnDBClick(data);
|
|
83196
|
+
bDraw=data.Draw
|
|
83197
|
+
}
|
|
83198
|
+
|
|
82731
83199
|
if (this.EnableYDrag && (this.EnableYDrag.Left || this.EnableYDrag.Right) && this.Frame && this.Frame.PtInFrameY)
|
|
82732
83200
|
{
|
|
82733
83201
|
var pixelTatio = GetDevicePixelRatio();
|
|
@@ -82764,6 +83232,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
82764
83232
|
}
|
|
82765
83233
|
}
|
|
82766
83234
|
|
|
83235
|
+
if (bDraw) this.Draw();
|
|
83236
|
+
|
|
82767
83237
|
var tooltip=new TooltipData();
|
|
82768
83238
|
if (!this.PtInChartPaintTooltip(x,y,tooltip))
|
|
82769
83239
|
{
|
|
@@ -84550,6 +85020,13 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
84550
85020
|
this.BaselineType=0; //基准线类型 0=最新昨收盘 1=多日前昨收盘
|
|
84551
85021
|
this.EnableNightDayBG=false; //是否启动夜盘背景色
|
|
84552
85022
|
|
|
85023
|
+
//热键
|
|
85024
|
+
this.AryHotKey=
|
|
85025
|
+
[
|
|
85026
|
+
//SecondKeyID 1=shiftKey 2=ctrlKey 3=altKey
|
|
85027
|
+
{ KeyID:87, SecondKeyID:3, CMD:JSCHART_MENU_ID.CMD_FULLSCREEN_SUMMARY_ID, Args:null, Description:"Alt+W 全屏区间统计" },
|
|
85028
|
+
]
|
|
85029
|
+
|
|
84553
85030
|
//集合竞价设置 obj={ Left:true/false, Right:true/false, MultiDay:{Left:, Right:} }
|
|
84554
85031
|
this.SetCallCationDataBorder=function(obj)
|
|
84555
85032
|
{
|
|
@@ -86054,6 +86531,14 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86054
86531
|
draw=sendData.Draw;
|
|
86055
86532
|
}
|
|
86056
86533
|
|
|
86534
|
+
if (this.OnHotKeyDown(keyID, e))
|
|
86535
|
+
{
|
|
86536
|
+
//不让滚动条滚动
|
|
86537
|
+
if(e.preventDefault) e.preventDefault();
|
|
86538
|
+
else e.returnValue = false;
|
|
86539
|
+
return;
|
|
86540
|
+
}
|
|
86541
|
+
|
|
86057
86542
|
switch(keyID)
|
|
86058
86543
|
{
|
|
86059
86544
|
case 37: //left
|
|
@@ -86167,6 +86652,11 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86167
86652
|
this.CurrentChartDrawPicture=null;
|
|
86168
86653
|
}
|
|
86169
86654
|
break;
|
|
86655
|
+
case 38:
|
|
86656
|
+
case 40:
|
|
86657
|
+
if ((e.ctrlKey||e.shiftKey) && this.OnCustomKeyDown)
|
|
86658
|
+
this.OnCustomKeyDown(keyID, e)
|
|
86659
|
+
break;
|
|
86170
86660
|
default:
|
|
86171
86661
|
return;
|
|
86172
86662
|
}
|
|
@@ -86178,6 +86668,24 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86178
86668
|
else e.returnValue = false;
|
|
86179
86669
|
}
|
|
86180
86670
|
|
|
86671
|
+
this.OnCustomKeyDown=function(keyID, e) //自定义键盘事件
|
|
86672
|
+
{
|
|
86673
|
+
if (keyID==38 && e.shiftKey) //shift+up 上移十字光标
|
|
86674
|
+
{
|
|
86675
|
+
this.MoveCorssCursorUp(this.ShiftUpDownStepPixel);
|
|
86676
|
+
return true;
|
|
86677
|
+
}
|
|
86678
|
+
else if (keyID==40 && e.shiftKey) //shift+down 下移十字光标
|
|
86679
|
+
{
|
|
86680
|
+
this.MoveCorssCursorDown(this.ShiftUpDownStepPixel);
|
|
86681
|
+
return true;
|
|
86682
|
+
}
|
|
86683
|
+
else
|
|
86684
|
+
{
|
|
86685
|
+
return false;
|
|
86686
|
+
}
|
|
86687
|
+
}
|
|
86688
|
+
|
|
86181
86689
|
/*
|
|
86182
86690
|
this.OnMarkRectSelect=function(e)
|
|
86183
86691
|
{
|
|
@@ -86287,12 +86795,14 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86287
86795
|
var bCorssDrawCloseLine=false; //十字光标只能画在走势图价格线上
|
|
86288
86796
|
var bCorssDrawVaildTime=false;
|
|
86289
86797
|
var bCorssDrawPoint=false;
|
|
86798
|
+
var bCorssBCClick=false;
|
|
86290
86799
|
if (this.ChartCorssCursor)
|
|
86291
86800
|
{
|
|
86292
86801
|
bShowCorss=this.ChartCorssCursor.IsShowCorss;
|
|
86293
86802
|
bCorssDrawCloseLine=this.ChartCorssCursor.IsOnlyDrawMinute;
|
|
86294
86803
|
bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;
|
|
86295
86804
|
bCorssDrawPoint=this.ChartCorssCursor.CorssPointConfig.Enable;
|
|
86805
|
+
bCorssBCClick=this.ChartCorssCursor.EnableDBClick;
|
|
86296
86806
|
}
|
|
86297
86807
|
|
|
86298
86808
|
var bRButtonSelectRect=false,bLButtonSelectRect=false;
|
|
@@ -86389,6 +86899,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86389
86899
|
{ Name:"画在价格线上", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID, Args:[!bCorssDrawCloseLine]}, Checked:bCorssDrawCloseLine },
|
|
86390
86900
|
{ Name:"画在有效X轴上",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID, Args:[!bCorssDrawVaildTime]}, Checked:bCorssDrawVaildTime },
|
|
86391
86901
|
{ Name:"画圆点",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_POINT_ID, Args:[!bCorssDrawPoint]}, Checked:bCorssDrawPoint },
|
|
86902
|
+
{ Name:"双击显示/隐藏", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID, Args:[!bCorssBCClick]}, Checked:bCorssBCClick },
|
|
86392
86903
|
]
|
|
86393
86904
|
},
|
|
86394
86905
|
|
|
@@ -86529,6 +87040,14 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86529
87040
|
{
|
|
86530
87041
|
JSConsole.Chart.Log("[MinuteChartContainer::OnDoubleClick]", e);
|
|
86531
87042
|
|
|
87043
|
+
var bDraw=false;
|
|
87044
|
+
if (this.ChartCorssCursor)
|
|
87045
|
+
{
|
|
87046
|
+
var data={ e:e, X:x, Y:y, Draw:false };
|
|
87047
|
+
this.ChartCorssCursor.OnDBClick(data);
|
|
87048
|
+
bDraw=data.Draw
|
|
87049
|
+
}
|
|
87050
|
+
|
|
86532
87051
|
if (this.EnableYDrag && (this.EnableYDrag.Left || this.EnableYDrag.Right) && this.Frame && this.Frame.PtInFrameY)
|
|
86533
87052
|
{
|
|
86534
87053
|
var pixelTatio = GetDevicePixelRatio();
|
|
@@ -86566,10 +87085,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
86566
87085
|
if (this.ZoomIndexWindow(frameId, {X:x, Y:y}))
|
|
86567
87086
|
{
|
|
86568
87087
|
this.Frame.SetSizeChage(true);
|
|
86569
|
-
|
|
87088
|
+
bDraw=true;
|
|
86570
87089
|
}
|
|
86571
87090
|
}
|
|
86572
87091
|
}
|
|
87092
|
+
|
|
87093
|
+
if (bDraw) this.Draw();
|
|
86573
87094
|
}
|
|
86574
87095
|
|
|
86575
87096
|
this.GetDataItem=function(pointInfo)
|