hqchart 1.1.14354 → 1.1.14367

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.
@@ -8556,11 +8556,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8556
8556
  var y=(e.clientY-uielement.getBoundingClientRect().top)*pixelTatio;
8557
8557
  var data= { X:e.clientX, Y:e.clientY, FrameID:-1 };
8558
8558
 
8559
- var isInClient=false;
8560
- this.Canvas.beginPath();
8561
- this.Canvas.rect(this.Frame.ChartBorder.GetLeft(),this.Frame.ChartBorder.GetTop(),this.Frame.ChartBorder.GetWidth(),this.Frame.ChartBorder.GetHeight());
8562
- isInClient=this.Canvas.isPointInPath(x,y);
8563
- if (isInClient)
8559
+ var clientPos=this.PtInClient(x,y);
8560
+ if (clientPos>0)
8564
8561
  {
8565
8562
  var yValueExtend={};
8566
8563
  var yValue=this.Frame.GetYData(y,yValueExtend);
@@ -45309,10 +45306,18 @@ function ChartMultiText()
45309
45306
  var mapItem=this.MapCache.get(key);
45310
45307
  if (!IFrameSplitOperator.IsNonEmptyArray(mapItem.Data)) continue;
45311
45308
 
45312
- var left=xOffset;
45313
- var right=xOffset+dataWidth;
45314
- if (right>chartright) break;
45315
- var x=left+(right-left)/2;
45309
+ if (isMinute)
45310
+ {
45311
+ var x=this.ChartFrame.GetXFromIndex(j);
45312
+ }
45313
+ else
45314
+ {
45315
+ var left=xOffset;
45316
+ var right=xOffset+dataWidth;
45317
+ if (right>chartright) break;
45318
+ var x=left+(right-left)/2;
45319
+ }
45320
+
45316
45321
 
45317
45322
  for(var k=0;k<mapItem.Data.length;++k)
45318
45323
  {
@@ -48334,11 +48339,15 @@ function KLineTooltipPaint()
48334
48339
  }
48335
48340
 
48336
48341
  //换手率
48337
- if (MARKET_SUFFIX_NAME.IsSHSZStockA(this.HQChart.Symbol) && item.FlowCapital>0)
48342
+ if (IFrameSplitOperator.IsNumber(item.FlowCapital))
48338
48343
  {
48344
+ var text="--.--"
48339
48345
  title=g_JSChartLocalization.GetText('Tooltip-Exchange',this.LanguageID);
48340
- var value=item.Vol/item.FlowCapital*100;
48341
- var text=value.toFixed(2)+'%';
48346
+ if (item.FlowCapital!=0)
48347
+ {
48348
+ var value=item.Vol/item.FlowCapital*100;
48349
+ var text=value.toFixed(2)+'%';
48350
+ }
48342
48351
  aryText.push({Title:title, TitleColor:this.TitleColor, Text:text, Color:this.TitleColor });
48343
48352
  }
48344
48353
 
@@ -57118,8 +57127,9 @@ function ChartCorssCursor()
57118
57127
  Icon:g_JSChartResource.CorssCursor.RightButton.Icon
57119
57128
  };
57120
57129
 
57121
- this.RightMargin={ Left:2, Right:2, Top:4, Bottom:3 };
57122
- CopyMarginConfig(this.RightMargin, g_JSChartResource.CorssCursor.RightMargin);
57130
+ this.RightMargin=CloneData(g_JSChartResource.CorssCursor.RightMargin);
57131
+ this.BottomConfig=CloneData(g_JSChartResource.CorssCursor.BottomText); //底部输出配置
57132
+ this.LeftConfig=CloneData(g_JSChartResource.CorssCursor.LeftText);
57123
57133
 
57124
57134
  //内部使用
57125
57135
  this.Close=null; //收盘价格
@@ -57491,36 +57501,48 @@ function ChartCorssCursor()
57491
57501
  {
57492
57502
  var text=this.StringFormatY.Text;
57493
57503
  this.Canvas.font=this.Font;
57494
- var textWidth=this.Canvas.measureText(text).width+4; //前后各空2个像素
57495
- var textSize={ Width:textWidth, Height:this.TextHeight, Text:[] };
57504
+ var textWidth=this.Canvas.measureText(text).width; //前后各空2个像素
57505
+ var textSize={ Width:textWidth+4, Height:this.TextHeight, Text:[] };
57496
57506
  var buttonData={Y:y, YValue:yValue, FrameID:yValueExtend.FrameID };
57497
- if (this.Frame.ChartBorder.Left>=30 && this.ShowTextMode.Left==1)
57507
+
57508
+ if (this.Frame.ChartBorder.Left>=30) //左边
57498
57509
  {
57499
- if (left<textWidth ) //左边空白的地方太少了画布下
57510
+ var margin=this.LeftConfig.Margin;
57511
+ var textOffset=this.LeftConfig.TextOffset;
57512
+
57513
+ var rtBG=null;
57514
+ if (this.ShowTextMode.Left==1)
57500
57515
  {
57501
- this.DrawTextBGRect(ToFixedPoint(2),ToFixedPoint(y-this.TextHeight/2),ToFixedRect(textWidth),ToFixedRect(this.TextHeight));
57502
- this.Canvas.textAlign="left";
57503
- this.Canvas.textBaseline="middle";
57504
- this.Canvas.fillStyle=this.TextColor;
57505
- this.Canvas.fillText(text,2+2,y,textWidth);
57516
+ var rtBG={ Right:left, Width:textWidth+margin.Left+margin.Right, YCenter:y, Height:textHeight+margin.Top+margin.Bottom };
57517
+ rtBG.Left=rtBG.Right-rtBG.Width;
57518
+ rtBG.Top=rtBG.YCenter-rtBG.Height/2;
57519
+ rtBG.Bottom=rtBG.Top+rtBG.Height;
57520
+
57521
+ if (rtBG.Left<0)
57522
+ {
57523
+ rtBG.Left=0;
57524
+ rtBG.Right=rtBG.Left+rtBG.Width;
57525
+ }
57506
57526
  }
57507
- else
57527
+ else if (this.ShowTextMode.Left==2) //在框架内显示
57508
57528
  {
57509
- this.DrawTextBGRect(left-2,y-this.TextHeight/2,-textWidth,this.TextHeight);
57510
- this.Canvas.textAlign="right";
57511
- this.Canvas.textBaseline="middle";
57529
+ var rtBG={ Left:left, Width:textWidth+margin.Left+margin.Right, YCenter:y, Height:textHeight+margin.Top+margin.Bottom };
57530
+ rtBG.Right=rtBG.Left+rtBG.Width;
57531
+ rtBG.Top=rtBG.YCenter-rtBG.Height/2;
57532
+ rtBG.Bottom=rtBG.Top+rtBG.Height;
57533
+ }
57534
+
57535
+ if (rtBG)
57536
+ {
57537
+ this.DrawTextBGRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);
57538
+ this.Canvas.textAlign="left";
57539
+ this.Canvas.textBaseline="bottom";
57512
57540
  this.Canvas.fillStyle=this.TextColor;
57513
- this.Canvas.fillText(text,left-4,y,textWidth);
57541
+ this.Canvas.fillText(text,rtBG.Left+textOffset.X, rtBG.Bottom+textOffset.Y);
57514
57542
  }
57515
57543
  }
57516
- else if (this.ShowTextMode.Left==2) //在框架内显示
57517
- {
57518
- this.DrawTextBGRect(left,y-this.TextHeight/2,textWidth,this.TextHeight);
57519
- this.Canvas.textAlign="left";
57520
- this.Canvas.textBaseline="middle";
57521
- this.Canvas.fillStyle=this.TextColor;
57522
- this.Canvas.fillText(text,left+2,y,textWidth);
57523
- }
57544
+
57545
+
57524
57546
 
57525
57547
  var complexText=
57526
57548
  {
@@ -57662,26 +57684,42 @@ function ChartCorssCursor()
57662
57684
  var text=this.StringFormatX.Text;
57663
57685
  this.Canvas.font=this.Font;
57664
57686
  this.Canvas.fillStyle=this.TextBGColor;
57665
- var textWidth=this.Canvas.measureText(text).width+4; //前后各空2个像素
57687
+ var textWidth=this.Canvas.measureText(text).width; //前后各空2个像素
57688
+ var margin=this.BottomConfig.Margin;
57689
+ var textOffset=this.BottomConfig.TextOffset;
57690
+ var rtBG=
57691
+ {
57692
+ Top:bottom, Height:margin.Top+margin.Bottom+textHeight,
57693
+ XCenter:x, Width:textWidth+margin.Left+margin.Right
57694
+ };
57695
+ rtBG.Bottom=rtBG.Top+rtBG.Height;
57696
+ rtBG.Left=rtBG.XCenter-rtBG.Width/2;
57697
+ rtBG.Right=rtBG.Left+rtBG.Width;
57698
+
57699
+ if (rtBG.Left<=0)
57700
+ {
57701
+ rtBG.Left=0;
57702
+ rtBG.Right=rtBG.Left+rtBG.Width;
57703
+ }
57704
+ else if (rtBG.Right>=right)
57705
+ {
57706
+ rtBG.Right=right;
57707
+ rtBG.Left=rtBG.Right-rtBG.Width;
57708
+ }
57666
57709
 
57667
- var yCenter=bottom+2+this.TextHeight/2;
57668
- var yTop=bottom+2;
57669
57710
  var bShowText=true;
57670
57711
  if (this.ShowTextMode.Bottom==2)
57671
57712
  {
57672
- yCenter=bottom-this.TextHeight/2-2;
57673
- yTop=bottom-this.TextHeight-2;
57713
+ rtBG.Bottom=bottom;
57714
+ rtBG.Top=rtBG.Bottom-rtBG.Height;
57674
57715
  }
57675
57716
  else if (this.ShowTextMode.Bottom==8)
57676
57717
  {
57677
57718
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_CORSSCURSOR_POSITION);
57678
57719
  if (event && event.Callback)
57679
57720
  {
57680
- var sendData={ YCenter:yCenter, YTop:yTop, Height:this.TextHeight, IsShowText:bShowText };
57721
+ var sendData={ RectText:rtBG, IsShowText:bShowText, X:x, Y:y };
57681
57722
  event.Callback(event, sendData, this);
57682
-
57683
- yCenter=sendData.YCenter;
57684
- yTop=sendData.YTop;
57685
57723
  bShowText=sendData.IsShowText;
57686
57724
  }
57687
57725
  }
@@ -57689,31 +57727,12 @@ function ChartCorssCursor()
57689
57727
  //JSConsole.Chart.Log('[ChartCorssCursor::Draw] ',yCenter);
57690
57728
  if (bShowText)
57691
57729
  {
57692
- if (x-textWidth/2<3) //左边位置不够了, 顶着左边画
57693
- {
57694
- this.DrawTextBGRect(x-1,yTop,textWidth,this.TextHeight);
57695
- this.Canvas.textAlign="left";
57696
- this.Canvas.textBaseline="middle";
57697
- this.Canvas.fillStyle=this.TextColor;
57698
- this.Canvas.fillText(text,x+1,yCenter,textWidth);
57699
- }
57700
- else if (x+textWidth/2>=right)
57701
- {
57702
- this.DrawTextBGRect(right-textWidth,yTop,textWidth,this.TextHeight);
57703
- this.Canvas.textAlign="right";
57704
- this.Canvas.textBaseline="middle";
57705
- this.Canvas.fillStyle=this.TextColor;
57706
- this.Canvas.fillText(text,right-2,yCenter,textWidth);
57707
- }
57708
- else
57709
- {
57710
- this.DrawTextBGRect(x-textWidth/2,yTop,textWidth,this.TextHeight);
57711
- this.Canvas.textAlign="center";
57712
- this.Canvas.textBaseline="middle";
57713
- this.Canvas.fillStyle=this.TextColor;
57714
- this.Canvas.fillText(text,x,yCenter,textWidth);
57715
- }
57716
- }
57730
+ this.DrawTextBGRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);
57731
+ this.Canvas.textAlign="left";
57732
+ this.Canvas.textBaseline="bottom";
57733
+ this.Canvas.fillStyle=this.TextColor;
57734
+ this.Canvas.fillText(text,rtBG.Left+textOffset.X,rtBG.Bottom+textOffset.Y,textWidth);
57735
+ }
57717
57736
  }
57718
57737
 
57719
57738
  //子坐标Y轴
@@ -59520,13 +59539,19 @@ function HistoryDataStringFormat()
59520
59539
  aryText.push(item);
59521
59540
  }
59522
59541
 
59523
- if(MARKET_SUFFIX_NAME.IsSHSZStockA(this.Symbol) && data.FlowCapital>0) //换手率
59542
+ if(IFrameSplitOperator.IsNumber(data.FlowCapital)) //换手率
59524
59543
  {
59525
- var value=data.Vol/data.FlowCapital*100;
59544
+ var text="--.--";
59545
+ if (data.FlowCapital!=0)
59546
+ {
59547
+ var value=data.Vol/data.FlowCapital*100;
59548
+ var text=`${value.toFixed(2)}%`;
59549
+ }
59550
+
59526
59551
  var item=
59527
59552
  {
59528
59553
  Title:g_JSChartLocalization.GetText('DivTooltip-Exchange',this.LanguageID),
59529
- Text:`${value.toFixed(2)}%`,
59554
+ Text:text,
59530
59555
  Color:this.TurnoverRateColor
59531
59556
  }
59532
59557
  aryText.push(item);
@@ -60223,10 +60248,14 @@ function DynamicKLineTitlePainting()
60223
60248
  aryText.push({ Text:text, Color:this.AmountColor});
60224
60249
  }
60225
60250
 
60226
- if (MARKET_SUFFIX_NAME.IsSHSZStockA(this.Symbol) && item.FlowCapital>0) //A股有换手率
60251
+ if (IFrameSplitOperator.IsNumber(item.FlowCapital)) //换手率
60227
60252
  {
60228
- var value=item.Vol/item.FlowCapital*100; //成交量/流通A股*100
60229
- var text=g_JSChartLocalization.GetText('KTitle-Exchange',this.LanguageID)+IFrameSplitOperator.FormatValueString(value,2,this.LanguageID)+'%';
60253
+ var text="--.--";
60254
+ if (item.FlowCapital!=0)
60255
+ {
60256
+ var value=item.Vol/item.FlowCapital*100; //成交量/流通A股*100
60257
+ var text=g_JSChartLocalization.GetText('KTitle-Exchange',this.LanguageID)+IFrameSplitOperator.FormatValueString(value,2,this.LanguageID)+'%';
60258
+ }
60230
60259
  aryText.push({ Text:text, Color:this.TurnoverRateColor});
60231
60260
  }
60232
60261
 
@@ -75041,7 +75070,10 @@ function JSChartResource()
75041
75070
  Icon: { Text:'\ue6a3', Color:'rgb(255,255,255)', Family:"iconfont", Size:18 }
75042
75071
  },
75043
75072
 
75044
- RightMargin: { Left:2, Right:2, Top:5, Bottom:3 }
75073
+ RightMargin: { Left:2, Right:2, Top:5, Bottom:3 },
75074
+
75075
+ BottomText:{ Margin: { Left:4, Right:4, Top:0, Bottom:0 }, TextOffset:{X:4, Y:-1 } },
75076
+ LeftText:{ Margin: { Left:4, Right:4, Top:0, Bottom:0 }, TextOffset:{X:4, Y:-1 } }
75045
75077
  };
75046
75078
 
75047
75079
  this.LockBGColor = "rgb(220, 220, 220)"; //指标锁区域颜色
@@ -126963,6 +126995,16 @@ function APIScriptIndex(name,script,args,option, isOverlay)
126963
126995
 
126964
126996
  result.push(outVarItem);
126965
126997
  }
126998
+ else if (draw.DrawType=='MULTI_BAR')
126999
+ {
127000
+ drawItem.Text=draw.Text;
127001
+ drawItem.Name=draw.Name;
127002
+ drawItem.DrawType=draw.DrawType;
127003
+ drawItem.DrawData=draw.DrawData;
127004
+ outVarItem.Draw=drawItem;
127005
+
127006
+ result.push(outVarItem);
127007
+ }
126966
127008
  else if (draw.DrawType=="DRAWCOLORKLINE")
126967
127009
  {
126968
127010
  drawItem.Name=draw.Name;
@@ -139504,10 +139546,8 @@ function JSTReportChart(divElement)
139504
139546
 
139505
139547
  if (option.EnableResize==true) this.CreateResizeListener();
139506
139548
 
139507
- if (option.MinuteChartTooltip && option.MinuteChartTooltip.Enable)
139508
- {
139509
- chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);
139510
- }
139549
+ if (option.MinuteChartTooltip && option.MinuteChartTooltip.Enable) chart.InitalMinuteChartTooltip(option.MinuteChartTooltip); //分时图
139550
+ if (option.FloatTooltip && option.FloatTooltip.Enable) chart.InitalFloatTooltip(option.FloatTooltip); //提示信息
139511
139551
 
139512
139552
  if (option.Symbol)
139513
139553
  {
@@ -139761,6 +139801,7 @@ function JSTReportChartContainer(uielement)
139761
139801
  this.EnablePageCycle=false; //是否循环翻页
139762
139802
 
139763
139803
  this.TooltipMinuteChart; //分时图
139804
+ this.FloatTooltip; //浮框提示
139764
139805
  this.LastMouseStatus={ MoveStatus:null, TooltipStatus:null, MouseOnStatus:null };
139765
139806
 
139766
139807
  this.IsDestroy=false; //是否已经销毁了
@@ -139770,6 +139811,7 @@ function JSTReportChartContainer(uielement)
139770
139811
  this.IsDestroy=true;
139771
139812
  this.StopAutoUpdate();
139772
139813
  this.DestroyMinuteChartTooltip();
139814
+ this.DestroyFloatTooltip();
139773
139815
  }
139774
139816
 
139775
139817
  this.InitalMinuteChartTooltip=function(option)
@@ -139812,6 +139854,51 @@ function JSTReportChartContainer(uielement)
139812
139854
  this.TooltipMinuteChart.Hide();
139813
139855
  }
139814
139856
 
139857
+ this.InitalFloatTooltip=function(option)
139858
+ {
139859
+ if (this.FloatTooltip) return;
139860
+
139861
+ this.FloatTooltip=new JSFloatTooltip();
139862
+ this.FloatTooltip.Inital(this, option);
139863
+ this.FloatTooltip.Create();
139864
+ }
139865
+
139866
+ this.HideFloatTooltip=function()
139867
+ {
139868
+ if (!this.FloatTooltip) return;
139869
+
139870
+ this.FloatTooltip.Hide();
139871
+ }
139872
+
139873
+ this.DestroyFloatTooltip=function()
139874
+ {
139875
+ if (!this.FloatTooltip) return;
139876
+
139877
+ this.FloatTooltip.Destroy();
139878
+ this.FloatTooltip=null;
139879
+ }
139880
+
139881
+ this.DrawFloatTooltip=function(point,toolTip)
139882
+ {
139883
+ if (!this.FloatTooltip) return;
139884
+
139885
+ this.UpdateFloatTooltip(point, toolTip)
139886
+ }
139887
+
139888
+ this.UpdateFloatTooltip=function(point, toolTip)
139889
+ {
139890
+ if (!this.FloatTooltip) return;
139891
+
139892
+ var sendData=
139893
+ {
139894
+ Tooltip:toolTip,
139895
+ Point:point,
139896
+ DataType:4,
139897
+ };
139898
+
139899
+ this.FloatTooltip.Update(sendData);
139900
+ }
139901
+
139815
139902
  //清空固定行数据
139816
139903
  this.ClearFixedRowData=function()
139817
139904
  {
@@ -140491,8 +140578,7 @@ function JSTReportChartContainer(uielement)
140491
140578
  var oldMouseOnStatus=this.LastMouseStatus.MouseOnStatus;
140492
140579
  this.LastMouseStatus.OnMouseMove=null;
140493
140580
 
140494
- var bDrawTooltip=false;
140495
- if (this.LastMouseStatus.TooltipStatus) bDrawTooltip=true;
140581
+ var bShowTooltip=false;
140496
140582
  this.LastMouseStatus.TooltipStatus=null;
140497
140583
 
140498
140584
  var bShowChartTooltip=false;
@@ -140519,7 +140605,7 @@ function JSTReportChartContainer(uielement)
140519
140605
  else
140520
140606
  {
140521
140607
  this.LastMouseStatus.TooltipStatus={ X:x, Y:y, Data:tooltipData, ClientX:e.clientX, ClientY:e.clientY };
140522
- bDrawTooltip=true;
140608
+ bShowTooltip=true;
140523
140609
  }
140524
140610
  }
140525
140611
 
@@ -140535,7 +140621,6 @@ function JSTReportChartContainer(uielement)
140535
140621
  */
140536
140622
 
140537
140623
  if (mouseStatus) this.UIElement.style.cursor=mouseStatus.Cursor;
140538
- //if (bDrawTooltip) this.DrawTooltip(this.LastMouseStatus.TooltipStatus);
140539
140624
 
140540
140625
  if (bShowChartTooltip)
140541
140626
  {
@@ -140545,6 +140630,17 @@ function JSTReportChartContainer(uielement)
140545
140630
  {
140546
140631
  this.HideMinuteChartTooltip();
140547
140632
  }
140633
+
140634
+ if (bShowTooltip)
140635
+ {
140636
+ var xTooltip = e.clientX-this.UIElement.getBoundingClientRect().left;
140637
+ var yTooltip = e.clientY-this.UIElement.getBoundingClientRect().top;
140638
+ this.DrawFloatTooltip({X:xTooltip, Y:yTooltip, YMove:20/pixelTatio},this.LastMouseStatus.TooltipStatus.Data);
140639
+ }
140640
+ else
140641
+ {
140642
+ this.HideFloatTooltip();
140643
+ }
140548
140644
  }
140549
140645
 
140550
140646
  this.UIOnMounseOut=function(e)
@@ -140774,6 +140870,7 @@ function JSTReportChartContainer(uielement)
140774
140870
  {
140775
140871
  this.LastMouseStatus.TooltipStatus=null;
140776
140872
  this.HideMinuteChartTooltip();
140873
+ this.HideFloatTooltip();
140777
140874
  var result=this.MoveSelectedRow(1,{ EnablePageCycle:this.EnablePageCycle })
140778
140875
  if (result)
140779
140876
  {
@@ -140785,6 +140882,7 @@ function JSTReportChartContainer(uielement)
140785
140882
  {
140786
140883
  this.LastMouseStatus.TooltipStatus=null;
140787
140884
  this.HideMinuteChartTooltip();
140885
+ this.HideFloatTooltip();
140788
140886
  var result=this.MoveSelectedRow(-1,{ EnablePageCycle:this.EnablePageCycle} );
140789
140887
  if (result)
140790
140888
  {
@@ -140807,6 +140905,7 @@ function JSTReportChartContainer(uielement)
140807
140905
  if (keyID==116) return; //F15刷新不处理
140808
140906
 
140809
140907
  this.HideMinuteChartTooltip();
140908
+ this.HideFloatTooltip();
140810
140909
 
140811
140910
  switch(keyID)
140812
140911
  {
@@ -141927,11 +142026,11 @@ function ChartTReport()
141927
142026
  if (leftData.TitleColor) drawInfo.TextColor=leftData.TitleColor;
141928
142027
  if (leftData.Text && leftData.TextColor)
141929
142028
  {
141930
- drawInfo.Left={ Text:leftData.Text, TextColor:leftData.TextColor};
142029
+ drawInfo.Left={ Text:leftData.Text, TextColor:leftData.TextColor, Tooltip:leftData.Tooltip};
141931
142030
  }
141932
142031
  else if (leftData.IconFont && leftData.TextColor)
141933
142032
  {
141934
- drawInfo.Left={ IconFont:leftData.IconFont, TextColor:leftData.TextColor};
142033
+ drawInfo.Left={ IconFont:leftData.IconFont, TextColor:leftData.TextColor, Tooltip:leftData.Tooltip};
141935
142034
  }
141936
142035
 
141937
142036
  }
@@ -141943,11 +142042,11 @@ function ChartTReport()
141943
142042
 
141944
142043
  if (rightData.Text && rightData.TextColor)
141945
142044
  {
141946
- drawInfo.Right={ Text:rightData.Text, TextColor:rightData.TextColor};
142045
+ drawInfo.Right={ Text:rightData.Text, TextColor:rightData.TextColor, Tooltip:rightData.Tooltip};
141947
142046
  }
141948
142047
  else if (rightData.IconFont && rightData.TextColor)
141949
142048
  {
141950
- drawInfo.Right={ IconFont:rightData.IconFont, TextColor:rightData.TextColor};
142049
+ drawInfo.Right={ IconFont:rightData.IconFont, TextColor:rightData.TextColor, Tooltip:rightData.Tooltip};
141951
142050
  }
141952
142051
  }
141953
142052
  }
@@ -141978,9 +142077,21 @@ function ChartTReport()
141978
142077
 
141979
142078
  this.FormatCenterItem(data,drawInfo);
141980
142079
 
141981
-
141982
-
141983
142080
  this.DrawCell(drawInfo);
142081
+
142082
+ if (drawInfo.LeftIconTooltip)
142083
+ {
142084
+ var tooltipItem=drawInfo.LeftIconTooltip;
142085
+ var tooltipData={ Rect:tooltipItem.Rect, Data:tooltipItem.Data, Index:index, Column:column, CellType:cellType, Type:2 };
142086
+ this.TooltipRect.push(tooltipData);
142087
+ }
142088
+
142089
+ if (drawInfo.RightIconTooltip)
142090
+ {
142091
+ var tooltipItem=drawInfo.RightIconTooltip;
142092
+ var tooltipData={ Rect:tooltipItem.Rect, Data:tooltipItem.Data, Index:index, Column:column, CellType:cellType, Type:3 };
142093
+ this.TooltipRect.push(tooltipData);
142094
+ }
141984
142095
  }
141985
142096
 
141986
142097
  this.DrawItem=function(index, exePriceData, data, column, rtItem, cellType)
@@ -142249,7 +142360,7 @@ function ChartTReport()
142249
142360
  this.DrawText(drawInfo.Text, drawInfo.TextAlign, rtText.Left, yCenter, rtText.Width);
142250
142361
  }
142251
142362
 
142252
- if (drawInfo.Left)
142363
+ if (drawInfo.Left) //左边图标
142253
142364
  {
142254
142365
  var item=drawInfo.Left;
142255
142366
  this.Canvas.textAlign="left";
@@ -142260,6 +142371,13 @@ function ChartTReport()
142260
142371
  if (!fontBackup) fontBackup=this.Canvas.font;
142261
142372
  this.Canvas.font=item.IconFont.Font;
142262
142373
  this.Canvas.fillText(item.IconFont.Symbol,rtText.Left,yCenter);
142374
+ if (item.Tooltip)
142375
+ {
142376
+ var iconWidth=this.Canvas.measureText(item.IconFont.Symbol).width;
142377
+ var rtIcon={ Left:rtText.Left, Top:rtText.Top, Bottom:rtText.Bottom, Height:rtText.Height, Width:iconWidth };
142378
+ rtIcon.Right=rtIcon.Left+rtIcon.Width;
142379
+ drawInfo.LeftIconTooltip={ Rect:rtIcon, Data:item.Tooltip };
142380
+ }
142263
142381
  }
142264
142382
  else if (item.Text)
142265
142383
  {
@@ -142267,7 +142385,7 @@ function ChartTReport()
142267
142385
  }
142268
142386
  }
142269
142387
 
142270
- if (drawInfo.Right)
142388
+ if (drawInfo.Right) //右边图标
142271
142389
  {
142272
142390
  var item=drawInfo.Right;
142273
142391
  this.Canvas.textAlign="right";
@@ -142278,6 +142396,14 @@ function ChartTReport()
142278
142396
  if (!fontBackup) fontBackup=this.Canvas.font;
142279
142397
  this.Canvas.font=item.IconFont.Font;
142280
142398
  this.Canvas.fillText(item.IconFont.Symbol,rtText.Right,yCenter);
142399
+
142400
+ if (item.Tooltip)
142401
+ {
142402
+ var iconWidth=this.Canvas.measureText(item.IconFont.Symbol).width;
142403
+ var rtIcon={ Right:rtText.Right, Top:rtText.Top, Bottom:rtText.Bottom, Height:rtText.Height, Width:iconWidth };
142404
+ rtIcon.Left=rtIcon.Right-rtIcon.Width;
142405
+ drawInfo.RightIconTooltip={ Rect:rtIcon, Data:item.Tooltip };
142406
+ }
142281
142407
  }
142282
142408
  else if (item.Text)
142283
142409
  {
@@ -148756,7 +148882,7 @@ function JSDialogTooltip()
148756
148882
 
148757
148883
 
148758
148884
  //换手率
148759
- if (MARKET_SUFFIX_NAME.IsSHSZStockA(upperSymbol) && data.FlowCapital>0)
148885
+ if (IFrameSplitOperator.IsNumber(data.FlowCapital))
148760
148886
  {
148761
148887
  aryText.push(this.FormatExchange(data.Vol,data.FlowCapital,'DialogTooltip-Exchange' ));
148762
148888
  }
@@ -149411,6 +149537,16 @@ function JSFloatTooltip()
149411
149537
  this.ReportCellTruncateTooltip(data);
149412
149538
  }
149413
149539
  }
149540
+ else if (data.DataType==4) //T型报价
149541
+ {
149542
+ var tooltipData=data.Tooltip;
149543
+ if (!tooltipData) return;
149544
+
149545
+ if (tooltipData.Type==2 || tooltipData.Type==3)
149546
+ {
149547
+ this.TReportIconTooltip(data);
149548
+ }
149549
+ }
149414
149550
  }
149415
149551
 
149416
149552
  this.UpdateRealtimeHQTooltip=function(data)
@@ -149678,6 +149814,17 @@ function JSFloatTooltip()
149678
149814
 
149679
149815
  this.ShowTooltip(data);
149680
149816
  }
149817
+
149818
+ this.TReportIconTooltip=function(data)
149819
+ {
149820
+ var tooltipData=data.Tooltip;
149821
+ if (!tooltipData.Data || !IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText)) return;
149822
+
149823
+ this.AryText=tooltipData.Data.AryText;
149824
+ this.UpdateTableDOM();
149825
+
149826
+ this.ShowTooltip(data);
149827
+ }
149681
149828
 
149682
149829
  this.UpdateTableDOM=function()
149683
149830
  {
@@ -149771,7 +149918,7 @@ function JSFloatTooltip()
149771
149918
  if (overlayItem) aryText.unshift(overlayItem);
149772
149919
 
149773
149920
  //换手率
149774
- if (MARKET_SUFFIX_NAME.IsSHSZStockA(upperSymbol) && data.FlowCapital>0)
149921
+ if (IFrameSplitOperator.IsNumber(data.FlowCapital))
149775
149922
  {
149776
149923
  aryText.push(this.FormatExchange(data.Vol,data.FlowCapital,'FloatTooltip-Exchange' ));
149777
149924
  }
@@ -152374,7 +152521,7 @@ function HQChartScriptWorker()
152374
152521
 
152375
152522
 
152376
152523
 
152377
- var HQCHART_VERSION="1.1.14353";
152524
+ var HQCHART_VERSION="1.1.14366";
152378
152525
 
152379
152526
  function PrintHQChartVersion()
152380
152527
  {