hqchart 1.1.14756 → 1.1.14764

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.
@@ -38,13 +38,29 @@ function JSDialogTooltip()
38
38
  this.PositionColor=g_JSChartResource.DialogTooltip.PositionColor;
39
39
  this.DateTimeColor=g_JSChartResource.DialogTooltip.DateTimeColor;
40
40
  this.LanguageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;
41
- this.MaxRowCount=25;
41
+ this.MaxRowCount=35;
42
+
43
+
44
+ this.ValueAlign=
45
+ {
46
+ Right:"UMyChart_Tooltip_Text_Span",
47
+ };
48
+
49
+ this.TitleAlign=
50
+ {
51
+ Right:"UMyChart_Tooltip_Title_Span",
52
+ Left:"UMyChart_Tooltip_Title_Left_Span",
53
+ Center:"UMyChart_Tooltip_Title_Center_Span",
54
+ };
42
55
 
43
56
  this.AryData=[];
44
57
  this.AryText=[];
45
58
 
46
59
  this.KItemCache=null;
60
+ this.KItemCache2=null; //{ DataIndex:k线索引 }
47
61
  this.KItemCacheID=null;
62
+ this.IndexTitle={ Enable:false, MaxCount:3 }; //是否显示指标标题
63
+
48
64
  this.LastValueCache=null; //最后的鼠标位置对应的数值
49
65
  this.LastValueCacheID=null; //鼠标信息
50
66
  this.DataID=null; //当前显示的数据时间{ Symbol:, Date:, Time: }
@@ -57,6 +73,13 @@ function JSDialogTooltip()
57
73
  if (option)
58
74
  {
59
75
  if (IFrameSplitOperator.IsNumber(option.Style)) this.Style=option.Style;
76
+ if (IFrameSplitOperator.IsPlusNumber(option.MaxRowCount)) this.MaxRowCount=option.MaxRowCount;
77
+ if (option.IndexTitle)
78
+ {
79
+ var item=option.IndexTitle;
80
+ if (IFrameSplitOperator.IsBool(item.Enable)) this.IndexTitle.Enable=item.Enable;
81
+ if (IFrameSplitOperator.IsPlusNumber(item.MaxCount)) this.IndexTitle.MaxCount=item.MaxCount;
82
+ }
60
83
  }
61
84
  }
62
85
 
@@ -65,6 +88,7 @@ function JSDialogTooltip()
65
88
  this.AryData=[];
66
89
  this.AryText=[];
67
90
  this.KItemCache=null;
91
+ this.KItemCache2=null;
68
92
  this.KItemCacheID=null;
69
93
 
70
94
  if (this.DivDialog)
@@ -179,7 +203,7 @@ function JSDialogTooltip()
179
203
  {
180
204
  for(var i=0;i<this.MaxRowCount;++i)
181
205
  {
182
- var rowItem={ Tr:null, TitleSpan:null, TextSpan:null };
206
+ var rowItem={ Tr:null, TitleSpan:null, TextSpan:null, TitleTd:null, TextTd:null };
183
207
 
184
208
  var trDom=document.createElement("tr");
185
209
  trDom.className='UMyChart_Tooltip_Group_Tr';
@@ -189,6 +213,7 @@ function JSDialogTooltip()
189
213
  var tdDom=document.createElement("td");
190
214
  tdDom.className="UMyChart_Tooltip_Title_Td"; //标题
191
215
  trDom.appendChild(tdDom);
216
+ rowItem.TitleTd=tdDom;
192
217
 
193
218
  var spanDom=document.createElement("span");
194
219
  spanDom.className='UMyChart_Tooltip_Title_Span';
@@ -199,6 +224,7 @@ function JSDialogTooltip()
199
224
  var tdDom=document.createElement("td");
200
225
  tdDom.className="UMyChart_Tooltip_Text_Td"; //数值
201
226
  trDom.appendChild(tdDom);
227
+ rowItem.TextTd=tdDom;
202
228
 
203
229
  var spanDom=document.createElement("span");
204
230
  spanDom.className='UMyChart_Tooltip_Text_Span';
@@ -234,6 +260,7 @@ function JSDialogTooltip()
234
260
  if (this.KItemCacheID!=strKItem) //数据变动的才更新
235
261
  {
236
262
  this.KItemCache= JSON.parse(strKItem);
263
+ this.KItemCache2={ DataIndex:data.DataIndex };
237
264
  this.KItemCacheID=strKItem;
238
265
  bUpdata=true;
239
266
  }
@@ -298,6 +325,7 @@ function JSDialogTooltip()
298
325
  if (this.KItemCacheID!=strKItem) //数据变动的才更新
299
326
  {
300
327
  this.KItemCache= JSON.parse(strKItem);
328
+ this.KItemCache2={ DataIndex:data.DataIndex };
301
329
  this.KItemCacheID=strKItem;
302
330
  bUpdata=true;
303
331
  }
@@ -358,9 +386,18 @@ function JSDialogTooltip()
358
386
  if (!this.KItemCache) return;
359
387
 
360
388
  if (this.HQChart.ClassName=='KLineChartContainer')
389
+ {
361
390
  this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);
391
+ if (this.IndexTitle.Enable)
392
+ {
393
+ var aryIndexTitle=this.GetIndexTitleTooltipText(this.KItemCache,this.KItemCache2);
394
+ if (IFrameSplitOperator.IsNonEmptyArray(aryIndexTitle)) this.AryText.push(...aryIndexTitle);
395
+ }
396
+ }
362
397
  else if (this.HQChart.ClassName=='MinuteChartContainer')
398
+ {
363
399
  this.AryText=this.GetFormatMinuteTooltipText(this.KItemCache);
400
+ }
364
401
  else
365
402
  return;
366
403
 
@@ -371,9 +408,53 @@ function JSDialogTooltip()
371
408
  var item=this.AryData[index];
372
409
 
373
410
  item.TitleSpan.innerText=outItem.Title;
374
- item.TitleSpan.style.color=this.TextColor;
411
+ if (outItem.TitleColor) item.TitleSpan.style.color=outItem.TitleColor;
412
+ else item.TitleSpan.style.color=this.TextColor;
413
+
375
414
  item.TextSpan.innerText=outItem.Text;
376
415
  item.TextSpan.style.color=outItem.Color;
416
+
417
+ //修改右侧数值样式
418
+ if (outItem.ClassName)
419
+ {
420
+ item.TextSpan.className=outItem.ClassName;
421
+ }
422
+ else
423
+ {
424
+ if (item.TextSpan.className!=this.ValueAlign.Right) item.TextSpan.className=this.ValueAlign.Right;
425
+ }
426
+
427
+ //修改左侧标题样式
428
+ if (outItem.TitleClassName)
429
+ {
430
+ item.TitleSpan.className=outItem.TitleClassName;
431
+ }
432
+ else
433
+ {
434
+ if (this.Style==0)
435
+ {
436
+ if (item.TitleSpan.className!=this.TitleAlign.Right) item.TitleSpan.className=this.TitleAlign.Right;
437
+ }
438
+ else if (this.Style==1)
439
+ {
440
+ if (item.TitleSpan.className!=this.TitleAlign.Left) item.TitleSpan.className=this.TitleAlign.Left;
441
+ }
442
+ }
443
+
444
+ if (item.TitleTd)
445
+ {
446
+ if (outItem.IsMergeCell) //合并单元格
447
+ {
448
+ item.TitleTd.colSpan=2;
449
+ item.TextTd.style.display="none";
450
+ }
451
+ else
452
+ {
453
+ if (item.TitleTd.colSpan!=1) item.TitleTd.colSpan=1;
454
+ item.TextTd.style.display="";
455
+ }
456
+ }
457
+
377
458
  item.Tr.style.display="";
378
459
  if (item.Tr2) item.Tr2.style.display="";
379
460
  }
@@ -569,6 +650,57 @@ function JSDialogTooltip()
569
650
  return aryText;
570
651
  }
571
652
 
653
+ this.GetIndexTitleTooltipText=function(kItem, data)
654
+ {
655
+ if (!(this.Style===0)) return null;
656
+
657
+ if (!this.HQChart) return null;
658
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.HQChart.TitlePaint)) return null;
659
+ if (!IFrameSplitOperator.IsNumber(data.DataIndex) || data.DataIndex<0) return null;
660
+
661
+ var aryText=[];
662
+ var dataIndex=data.DataIndex;
663
+ for(var i=0,j=0,k=0; i<this.HQChart.TitlePaint.length && k<this.IndexTitle.MaxCount; ++i)
664
+ {
665
+ var titleChart=this.HQChart.TitlePaint[i];
666
+ if (titleChart.ClassName!="DynamicChartTitlePainting") continue;
667
+ if (!IFrameSplitOperator.IsNonEmptyArray(titleChart.Data)) continue;
668
+
669
+ var indexName=titleChart.Title;
670
+ //if (titleChart.ArgumentsText) indexName+=titleChart.ArgumentsText;
671
+ aryText.push({ Title:indexName, IsMergeCell:true, TitleClassName:this.TitleAlign.Center });
672
+ for(j=0;j<titleChart.Data.length;++j)
673
+ {
674
+ var item=titleChart.Data[j];
675
+ if (!item || !item.Data || !IFrameSplitOperator.IsNonEmptyArray(item.Data.Data)) continue;
676
+ if (item.IsShow===false) continue;
677
+ if (item.IsVisible===false) continue;
678
+ if (item.DataType) continue; //定制类型暂时不支持
679
+
680
+ value=item.Data.Data[dataIndex];
681
+ var text="--";
682
+ if (value) text=titleChart.FormatValue(value, item);
683
+
684
+ var title=item.Name;
685
+ var dyTitle=titleChart.GetDynamicOutName(item.Name); //动态标题
686
+ if (dyTitle) title=dyTitle;
687
+
688
+ var tooltipItem=
689
+ {
690
+ Title:title,
691
+ Text:text,
692
+ Color:item.Color
693
+ };
694
+
695
+ aryText.push(tooltipItem);
696
+ }
697
+
698
+ ++k;
699
+ }
700
+
701
+ return aryText;
702
+ }
703
+
572
704
  this.GetFormatMinuteTooltipText=function(data)
573
705
  {
574
706
  var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
@@ -1416,6 +1416,7 @@ function ChartDealList()
1416
1416
 
1417
1417
  var clientWidth=this.RectClient.Right-this.RectClient.Left;
1418
1418
  this.TableCount=parseInt(clientWidth/sumWidth);
1419
+ if (this.TableCount<=0) this.TableCount=1; //只少显示一个
1419
1420
  if (this.IsSingleTable) this.TableCount=1;
1420
1421
  this.TableWidth=clientWidth/this.TableCount;
1421
1422
 
@@ -518,6 +518,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
518
518
  if (IFrameSplitOperator.IsBool(item.EnableDBClick)) chart.ChartCorssCursor.EnableDBClick=item.EnableDBClick;
519
519
 
520
520
  if (IFrameSplitOperator.IsBool(item.IsShowCorssPoint)) chart.ChartCorssCursor.CorssPointConfig.Enable=item.IsShowCorssPoint;
521
+ if (IFrameSplitOperator.IsBool(item.IsShowIncrease)) chart.ChartCorssCursor.StringFormatX.IsShowIncrease=item.IsShowIncrease;
521
522
 
522
523
  }
523
524
 
@@ -2973,7 +2974,8 @@ var JSCHART_MENU_ID=
2973
2974
  CMD_CORSS_DBCLICK_ID:57, //双击显示隐藏十字光标
2974
2975
  CMD_ENABLE_KLINE_DAY_SUMMARY_ID:58, //K线底部显示走完剩余时间
2975
2976
  CMD_SHOW_BUYSELL_BAR_ID:59, //盘口分析(右侧显示买卖盘柱子) 分时图
2976
-
2977
+ CMD_CORSS_SHOW_INCREASE_ID:60, //十字光标 底部显示"至今涨幅"
2978
+ CMD_CORSS_X_TEXTALIGN_ID:61, //十字光标 底部文字对齐方式
2977
2979
 
2978
2980
 
2979
2981
  CMD_REPORT_CHANGE_BLOCK_ID:100, //报价列表 切换板块ID
@@ -11014,6 +11016,16 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
11014
11016
  this.ChartCorssCursor.IsShowClose=srcParam;
11015
11017
  }
11016
11018
  break;
11019
+ case JSCHART_MENU_ID.CMD_CORSS_SHOW_INCREASE_ID:
11020
+ if (IFrameSplitOperator.IsBool(srcParam) && this.ChartCorssCursor)
11021
+ {
11022
+ this.ChartCorssCursor.StringFormatX.IsShowIncrease=srcParam;
11023
+ }
11024
+ break;
11025
+ case JSCHART_MENU_ID.CMD_CORSS_X_TEXTALIGN_ID:
11026
+ if (param==null) return false;
11027
+ if (this.ChartCorssCursor) this.ChartCorssCursor.BottomConfig.Align=param;
11028
+ break;
11017
11029
  case JSCHART_MENU_ID.CMD_CORSS_POINT_ID:
11018
11030
  if (IFrameSplitOperator.IsBool(srcParam) && this.ChartCorssCursor) this.ChartCorssCursor.CorssPointConfig.Enable=srcParam;
11019
11031
  break;
@@ -56185,6 +56197,7 @@ function ChartCorssCursor()
56185
56197
 
56186
56198
  this.StringFormatX;
56187
56199
  this.StringFormatY;
56200
+ this.HQChart;
56188
56201
 
56189
56202
  this.ShowTextMode={ Left:1, Right:1, Bottom:1 }; //0=不显示 1=显示在框架外 2=显示在框架内
56190
56203
  this.TextFormat= { Right:0 }; //0=默认 1=价格显示(分时图才有用)
@@ -56784,13 +56797,16 @@ function ChartCorssCursor()
56784
56797
  var textWidth=this.Canvas.measureText(text).width; //前后各空2个像素
56785
56798
  var margin=this.BottomConfig.Margin;
56786
56799
  var textOffset=this.BottomConfig.TextOffset;
56800
+ var textAlign=this.BottomConfig.Align;
56787
56801
  var rtBG=
56788
56802
  {
56789
56803
  Top:bottom, Height:margin.Top+margin.Bottom+textHeight,
56790
56804
  XCenter:x, Width:textWidth+margin.Left+margin.Right
56791
56805
  };
56792
56806
  rtBG.Bottom=rtBG.Top+rtBG.Height;
56793
- rtBG.Left=rtBG.XCenter-rtBG.Width/2;
56807
+ if (textAlign==1) rtBG.Left=rtBG.XCenter-rtBG.Width/2;
56808
+ else rtBG.Left=rtBG.XCenter;
56809
+
56794
56810
  rtBG.Right=rtBG.Left+rtBG.Width;
56795
56811
 
56796
56812
  if (rtBG.Left<=0)
@@ -58229,7 +58245,8 @@ function HQDateStringFormat()
58229
58245
 
58230
58246
  this.DateFormatType=0; //0=YYYY-MM-DD 1=YYYY/MM/DD 2=YYYY/MM/DD/W 3=DD/MM/YYYY
58231
58247
  this.LanguageID=0;
58232
- this.KItem=null; //缓存当前的K线
58248
+ this.KItem=null; //缓存当前的K线
58249
+ this.IsShowIncrease=false; //是否显示"至今涨幅"
58233
58250
 
58234
58251
  this.Operator=function()
58235
58252
  {
@@ -58268,6 +58285,13 @@ function HQDateStringFormat()
58268
58285
  this.Text = this.Text + " " + time;
58269
58286
  }
58270
58287
 
58288
+ if (this.IsShowIncrease && IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) //计算涨幅
58289
+ {
58290
+ var lastItem=this.Data.Data[this.Data.Data.length-1]; //最后一个数据
58291
+ var value=(lastItem.Close-currentData.YClose)/currentData.YClose*100;
58292
+ this.Text+=` ${g_JSChartLocalization.GetText('至今涨幅',this.LanguageID)}${value.toFixed(2)}%`;
58293
+ }
58294
+
58271
58295
  if (this.GetEventCallback)
58272
58296
  {
58273
58297
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_CORSSCURSOR_X_TEXT);
@@ -74620,7 +74644,7 @@ function JSChartResource()
74620
74644
  Icon: { Text:'\ue6a3', Color:'rgb(255,255,255)', Family:"iconfont", Size:14 }
74621
74645
  },
74622
74646
 
74623
- BottomText:{ Margin: { Left:4, Right:4, Top:0, Bottom:0 }, TextOffset:{X:4, Y:-1 } },
74647
+ BottomText:{ Margin: { Left:4, Right:4, Top:0, Bottom:0 }, TextOffset:{X:4, Y:-1 }, Align:1 }, //Align 0=左对齐 1=居中
74624
74648
  LeftText:{ Margin: { Left:4, Right:4, Top:0, Bottom:0 }, TextOffset:{X:4, Y:-1 } },
74625
74649
  RightText:{ Margin: { Left:4, Right:4, Top:0, Bottom:0 }, TextOffset:{X:4, Y:-1 } },
74626
74650
  RightOverlayText:{ Margin: { Left:2, Right:2, Top:0, Bottom:0 }, TextOffset:{X:2, Y:-1 } }, //右侧叠加坐标
@@ -77782,6 +77806,8 @@ function JSChartLocalization()
77782
77806
  ["周", {CN:'周', EN:'Week', TC:'周'} ],
77783
77807
  ["月", {CN:'月', EN:'Month', TC:'月'} ],
77784
77808
  ["年", {CN:'年', EN:'Year', TC:'年'} ],
77809
+
77810
+ ["至今涨幅", {CN:'至今涨幅', EN:'increase to date ', TC:'至今涨幅'}]
77785
77811
 
77786
77812
  ]);
77787
77813
 
@@ -79610,6 +79636,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
79610
79636
  this.ChartCorssCursor.StringFormatX=g_DivTooltipDataForamt.Create("CorssCursor_XStringFormat");
79611
79637
  this.ChartCorssCursor.StringFormatX.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
79612
79638
  this.ChartCorssCursor.StringFormatX.LanguageID=this.LanguageID;
79639
+ this.ChartCorssCursor.StringFormatX.IsShowIncrease=true;
79613
79640
  this.ChartCorssCursor.StringFormatY=g_DivTooltipDataForamt.Create("CorssCursor_YStringFormat");
79614
79641
  this.ChartCorssCursor.StringFormatY.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
79615
79642
  this.ChartCorssCursor.StringFormatY.LanguageID=this.LanguageID;
@@ -79617,6 +79644,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
79617
79644
  this.ChartCorssCursor.StringFormatY.HQChart=this;
79618
79645
  this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
79619
79646
  this.ChartCorssCursor.OnChangeStatusCallback=(data, obj)=>{ this.OnChangeCorssCursorStatus(data,obj); }
79647
+ this.ChartCorssCursor.HQChart=this;
79620
79648
 
79621
79649
  //创建等待提示
79622
79650
  this.ChartSplashPaint = new ChartSplashPaint();
@@ -84714,6 +84742,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
84714
84742
  var bCorssDrawVaildTime=false;
84715
84743
  var bCorssDrawPoint=false;
84716
84744
  var bCorssBCClick=false;
84745
+ var bCorssShowIncrease=false;
84746
+ var crossXTextAlign=-1;
84717
84747
  if (this.ChartCorssCursor)
84718
84748
  {
84719
84749
  bShowCorss=this.ChartCorssCursor.IsShowCorss;
@@ -84721,6 +84751,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
84721
84751
  bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;
84722
84752
  bCorssDrawPoint=this.ChartCorssCursor.CorssPointConfig.Enable;
84723
84753
  bCorssBCClick=this.ChartCorssCursor.EnableDBClick;
84754
+ bCorssShowIncrease=this.ChartCorssCursor.StringFormatX.IsShowIncrease;
84755
+ crossXTextAlign=this.ChartCorssCursor.BottomConfig.Align;
84724
84756
  }
84725
84757
 
84726
84758
  var bPopMinuteChart=false;
@@ -84745,6 +84777,13 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
84745
84777
  }
84746
84778
  }
84747
84779
 
84780
+ //K线浮框 是否显示指标信息
84781
+ var bTooltipDialogShowIndexTitle=false;
84782
+ if (this.DialogTooltip)
84783
+ {
84784
+ bTooltipDialogShowIndexTitle=this.DialogTooltip.IndexTitle.Enable;
84785
+ }
84786
+
84748
84787
  var aryMenu=
84749
84788
  [
84750
84789
  {
@@ -84907,6 +84946,15 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
84907
84946
  { Name:"画在有效X轴上",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID, Args:[!bCorssDrawVaildTime]}, Checked:bCorssDrawVaildTime },
84908
84947
  { Name:"画圆点",Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_POINT_ID, Args:[!bCorssDrawPoint]}, Checked:bCorssDrawPoint },
84909
84948
  { Name:"双击显示/隐藏", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_DBCLICK_ID, Args:[!bCorssBCClick]}, Checked:bCorssBCClick },
84949
+ { Name:"至今涨幅显示/隐藏", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_SHOW_INCREASE_ID, Args:[!bCorssShowIncrease]}, Checked:bCorssShowIncrease },
84950
+ {
84951
+ Name:"底部文字对齐",
84952
+ SubMenu:
84953
+ [
84954
+ { Name:"居中", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_X_TEXTALIGN_ID, Args:[1]}, Checked:crossXTextAlign===1 },
84955
+ { Name:"左对齐", Data:{ ID:JSCHART_MENU_ID.CMD_CORSS_X_TEXTALIGN_ID, Args:[0]}, Checked:crossXTextAlign===0 },
84956
+ ]
84957
+ },
84910
84958
  ]
84911
84959
  },
84912
84960
  {
@@ -84961,6 +85009,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
84961
85009
  [
84962
85010
  { Name:"禁用", Data:{ ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE, Args:[{Enable:false}]}, Checked:!this.DialogTooltip },
84963
85011
  { Name:"样式1", Data:{ ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE, Args:[{Enable:true, Style:0}]}, Checked:(this.DialogTooltip && this.DialogTooltip.Style===0) },
85012
+ { Name:"样式1-指标显示", Data:{ ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE, Args:[{Enable:true, IndexTitle:{Enable:!bTooltipDialogShowIndexTitle}} ]}, Checked:bTooltipDialogShowIndexTitle },
84964
85013
  { Name:"样式2", Data:{ ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE, Args:[{Enable:true, Style:1}]}, Checked:(this.DialogTooltip && this.DialogTooltip.Style===1) },
84965
85014
  ]
84966
85015
  },
@@ -86564,13 +86613,14 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
86564
86613
 
86565
86614
  var dataType=0;
86566
86615
  var kItem=null;
86616
+ var dataIndex=-1;
86567
86617
  if (this.ChartCorssCursor.ClientPos>=0)
86568
86618
  {
86569
86619
  var hisData=this.ChartOperator_Temp_GetHistoryData();;
86570
86620
  if (!hisData) return false; //数据还没有到达
86571
86621
  if (!IFrameSplitOperator.IsNonEmptyArray(hisData.Data)) return false;
86572
86622
 
86573
- var dataIndex=hisData.DataOffset+this.ChartCorssCursor.CursorIndex;
86623
+ dataIndex=hisData.DataOffset+this.ChartCorssCursor.CursorIndex;
86574
86624
  if (dataIndex>=hisData.Data.length) dataIndex=hisData.Data.length-1;
86575
86625
  var kItem=hisData.Data[dataIndex];
86576
86626
  }
@@ -86584,6 +86634,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
86584
86634
  if (IFrameSplitOperator.IsNumber(kItem.Time)) dataID.Time=kItem.Time;
86585
86635
  if (!this.DialogTooltip.IsEqualDataID(dataID)) return false;
86586
86636
 
86637
+ dataIndex=hisData.Data.length-1
86587
86638
  dataType=1;
86588
86639
  }
86589
86640
 
@@ -86595,6 +86646,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
86595
86646
  KItem:kItem,
86596
86647
  Symbol:this.Symbol, Name:this.Name,
86597
86648
  LastValue:this.ChartCorssCursor.LastValue,
86649
+ DataIndex:dataIndex, //K先索引位置
86598
86650
  };
86599
86651
 
86600
86652
  this.DialogTooltip.Update(sendData);
@@ -89486,6 +89538,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
89486
89538
  this.ChartCorssCursor.CallAcutionXOperator=new CallAcutionXOperator();
89487
89539
  this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
89488
89540
  this.ChartCorssCursor.OnChangeStatusCallback=(data, obj)=>{ this.OnChangeCorssCursorStatus(data,obj); }
89541
+ this.ChartCorssCursor.HQChart=this;
89489
89542
 
89490
89543
  //创建等待提示
89491
89544
  this.ChartSplashPaint = new ChartSplashPaint();
@@ -95048,6 +95101,7 @@ function KLineChartHScreenContainer(uielement)
95048
95101
  this.ChartCorssCursor.StringFormatY.ExtendChartPaint=this.ExtendChartPaint;
95049
95102
  this.ChartCorssCursor.StringFormatY.HQChart=this;
95050
95103
  this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
95104
+ this.ChartCorssCursor.HQChart=this;
95051
95105
 
95052
95106
  //创建等待提示
95053
95107
  this.ChartSplashPaint = new ChartSplashPaint();
@@ -95230,7 +95284,8 @@ function MinuteChartHScreenContainer(uielement)
95230
95284
  this.ChartCorssCursor.StringFormatY.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
95231
95285
  this.ChartCorssCursor.StringFormatY.HQChart=this;
95232
95286
  this.ChartCorssCursor.CallAcutionXOperator=new CallAcutionXOperator();
95233
- this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
95287
+ this.ChartCorssCursor.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
95288
+ this.ChartCorssCursor.HQChart=this;
95234
95289
 
95235
95290
  //创建等待提示
95236
95291
  this.ChartSplashPaint = new ChartSplashPaint();
@@ -1759,6 +1759,12 @@ input[type="color"] {
1759
1759
  float: right;
1760
1760
  }
1761
1761
 
1762
+ .UMyChart_Tooltip_Title_Center_Span
1763
+ {
1764
+ text-align: center;
1765
+ display: block;
1766
+ }
1767
+
1762
1768
  .UMyChart_Tooltip_Text_Sinlge_Td
1763
1769
  {
1764
1770
  min-width:80px;
@@ -1775,8 +1781,6 @@ input[type="color"] {
1775
1781
  margin-right: 1px;
1776
1782
  }
1777
1783
 
1778
-
1779
-
1780
1784
  /*
1781
1785
  Copyright (c) 2018 jones
1782
1786