hqchart 1.1.14050 → 1.1.14064
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 +62 -35
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogTooltip.js +492 -13
- package/src/jscommon/umychart.js +84 -225
- package/src/jscommon/umychart.resource/css/tools.css +14 -2
- package/src/jscommon/umychart.testdata/60000.sh.TradeDetal.js +4 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +85 -226
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +577 -239
|
@@ -6610,6 +6610,7 @@ var JSCHART_EVENT_ID=
|
|
|
6610
6610
|
ON_CHANGE_KLINE_RIGHT:160, //切换复权
|
|
6611
6611
|
|
|
6612
6612
|
ON_FORMAT_KLINE_FLOAT_TOOLTIP:161, //格式化k线浮动框显示文字
|
|
6613
|
+
ON_FORMAT_KLINE_INFO_FLOAT_TOOLTIP:162, //格式化信息地雷显示文字
|
|
6613
6614
|
}
|
|
6614
6615
|
|
|
6615
6616
|
var JSCHART_OPERATOR_ID=
|
|
@@ -10998,7 +10999,25 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10998
10999
|
|
|
10999
11000
|
this.DrawFloatTooltip=function(point,toolTip)
|
|
11000
11001
|
{
|
|
11002
|
+
if (!this.FloatTooltip) return;
|
|
11001
11003
|
|
|
11004
|
+
this.UpdateFloatTooltip(point, toolTip)
|
|
11005
|
+
}
|
|
11006
|
+
|
|
11007
|
+
this.UpdateFloatTooltip=function(point, toolTip)
|
|
11008
|
+
{
|
|
11009
|
+
if (!this.FloatTooltip) return;
|
|
11010
|
+
|
|
11011
|
+
var sendData=
|
|
11012
|
+
{
|
|
11013
|
+
Tooltip:toolTip,
|
|
11014
|
+
Point:point,
|
|
11015
|
+
Symbol:this.Symbol,
|
|
11016
|
+
Name:this.Name,
|
|
11017
|
+
DataType:1,
|
|
11018
|
+
};
|
|
11019
|
+
|
|
11020
|
+
this.FloatTooltip.Update(sendData);
|
|
11002
11021
|
}
|
|
11003
11022
|
|
|
11004
11023
|
//更新实时行情到浮动tooltip
|
|
@@ -11069,6 +11088,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11069
11088
|
}
|
|
11070
11089
|
else if (toolTip.Type===1) //信息地雷提示信息
|
|
11071
11090
|
{
|
|
11091
|
+
if (this.FloatTooltip)
|
|
11092
|
+
{
|
|
11093
|
+
this.DrawFloatTooltip({X:x, Y:y, YMove:20/pixelTatio}, toolTip);
|
|
11094
|
+
bHideFloatToolip=false;
|
|
11095
|
+
return;
|
|
11096
|
+
}
|
|
11097
|
+
|
|
11072
11098
|
var scrollPos=GetScrollPosition();
|
|
11073
11099
|
var left = x;
|
|
11074
11100
|
var top = y;
|
|
@@ -11096,6 +11122,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11096
11122
|
}
|
|
11097
11123
|
else if (toolTip.Type==2) //指标信息
|
|
11098
11124
|
{
|
|
11125
|
+
if (this.FloatTooltip)
|
|
11126
|
+
{
|
|
11127
|
+
this.DrawFloatTooltip({X:x, Y:y, YMove:20/pixelTatio}, toolTip);
|
|
11128
|
+
bHideFloatToolip=false;
|
|
11129
|
+
return;
|
|
11130
|
+
}
|
|
11131
|
+
|
|
11099
11132
|
var left = x;
|
|
11100
11133
|
var top = y;
|
|
11101
11134
|
|
|
@@ -11117,6 +11150,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11117
11150
|
}
|
|
11118
11151
|
else if (toolTip.Type==3) //分时图异动信息
|
|
11119
11152
|
{
|
|
11153
|
+
if (this.FloatTooltip)
|
|
11154
|
+
{
|
|
11155
|
+
this.DrawFloatTooltip({X:x, Y:y, YMove:20/pixelTatio}, toolTip);
|
|
11156
|
+
bHideFloatToolip=false;
|
|
11157
|
+
return;
|
|
11158
|
+
}
|
|
11159
|
+
|
|
11120
11160
|
var left = x;
|
|
11121
11161
|
var top = y;
|
|
11122
11162
|
|
|
@@ -11136,8 +11176,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11136
11176
|
this.Tooltip.innerHTML=format.Text;;
|
|
11137
11177
|
this.Tooltip.style.display = "block";
|
|
11138
11178
|
}
|
|
11139
|
-
else if (toolTip.Type==4) //
|
|
11179
|
+
else if (toolTip.Type==4) //ChartMultiSVGIconV2 图标信息
|
|
11140
11180
|
{
|
|
11181
|
+
if (this.FloatTooltip)
|
|
11182
|
+
{
|
|
11183
|
+
this.DrawFloatTooltip({X:x, Y:y, YMove:20/pixelTatio}, toolTip);
|
|
11184
|
+
bHideFloatToolip=false;
|
|
11185
|
+
return;
|
|
11186
|
+
}
|
|
11187
|
+
|
|
11141
11188
|
var left = x;
|
|
11142
11189
|
var top = y;
|
|
11143
11190
|
|
|
@@ -11159,6 +11206,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11159
11206
|
}
|
|
11160
11207
|
else if (toolTip.Type==5)
|
|
11161
11208
|
{
|
|
11209
|
+
if (this.FloatTooltip)
|
|
11210
|
+
{
|
|
11211
|
+
this.DrawFloatTooltip({X:x, Y:y, YMove:20/pixelTatio}, toolTip);
|
|
11212
|
+
bHideFloatToolip=false;
|
|
11213
|
+
return;
|
|
11214
|
+
}
|
|
11215
|
+
|
|
11162
11216
|
var left = x;
|
|
11163
11217
|
var top = y;
|
|
11164
11218
|
|
|
@@ -11181,6 +11235,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11181
11235
|
}
|
|
11182
11236
|
else if (toolTip.Type==6) //散点图
|
|
11183
11237
|
{
|
|
11238
|
+
if (this.FloatTooltip)
|
|
11239
|
+
{
|
|
11240
|
+
this.DrawFloatTooltip({X:x, Y:y, YMove:20/pixelTatio}, toolTip);
|
|
11241
|
+
bHideFloatToolip=false;
|
|
11242
|
+
return;
|
|
11243
|
+
}
|
|
11244
|
+
|
|
11184
11245
|
var left = x;
|
|
11185
11246
|
var top = y;
|
|
11186
11247
|
|
|
@@ -11203,6 +11264,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11203
11264
|
}
|
|
11204
11265
|
else if (toolTip.Type==7) //ChartDrawSVG
|
|
11205
11266
|
{
|
|
11267
|
+
if (this.FloatTooltip)
|
|
11268
|
+
{
|
|
11269
|
+
this.DrawFloatTooltip({X:x, Y:y, YMove:20/pixelTatio}, toolTip);
|
|
11270
|
+
bHideFloatToolip=false;
|
|
11271
|
+
return;
|
|
11272
|
+
}
|
|
11273
|
+
|
|
11206
11274
|
var left = x;
|
|
11207
11275
|
var top = y;
|
|
11208
11276
|
|
|
@@ -11223,6 +11291,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
11223
11291
|
this.Tooltip.innerHTML=format.Text;
|
|
11224
11292
|
this.Tooltip.style.display = "block";
|
|
11225
11293
|
}
|
|
11294
|
+
else if (toolTip.Type==8) //ChartDrawSVG 新版本
|
|
11295
|
+
{
|
|
11296
|
+
if (this.FloatTooltip)
|
|
11297
|
+
{
|
|
11298
|
+
this.DrawFloatTooltip({X:x, Y:y, YMove:20/pixelTatio}, toolTip);
|
|
11299
|
+
bHideFloatToolip=false;
|
|
11300
|
+
return;
|
|
11301
|
+
}
|
|
11302
|
+
}
|
|
11226
11303
|
|
|
11227
11304
|
|
|
11228
11305
|
if (bHideFloatToolip) this.HideFloatTooltip();
|
|
@@ -14466,7 +14543,7 @@ function CoordinateInfo()
|
|
|
14466
14543
|
this.Font=g_JSChartResource.FrameSplitTextFont; //字体
|
|
14467
14544
|
this.LineColor=g_JSChartResource.FrameSplitPen; //线段颜色
|
|
14468
14545
|
this.LineDash=null; //当线段类型==2时 可以设置虚线样式
|
|
14469
|
-
this.LineType=1; //线段类型 -1=不画线段 2=虚线, 8,9=集合竞价坐标
|
|
14546
|
+
this.LineType=1; //线段类型 -1=不画线段 0=虚线 1,2=虚线, 3=短线 8,9=集合竞价坐标
|
|
14470
14547
|
this.LineWidth; //线段宽度
|
|
14471
14548
|
this.ExtendLine; //延长线长度[ ] { Width:长度 } [0]=左 [1]=右 实例: [null, { Width: 50}];
|
|
14472
14549
|
this.ExtendData; //扩展属性
|
|
@@ -17476,7 +17553,7 @@ function AverageWidthFrame()
|
|
|
17476
17553
|
{
|
|
17477
17554
|
if (lineType==-1) return;
|
|
17478
17555
|
|
|
17479
|
-
if (lineType==0)
|
|
17556
|
+
if (lineType==0) //直线
|
|
17480
17557
|
{
|
|
17481
17558
|
var pixelRatio=GetDevicePixelRatio();
|
|
17482
17559
|
this.Canvas.strokeStyle=color;
|
|
@@ -17505,7 +17582,7 @@ function AverageWidthFrame()
|
|
|
17505
17582
|
this.Canvas.lineWidth=pixelRatio;
|
|
17506
17583
|
}
|
|
17507
17584
|
}
|
|
17508
|
-
else if (lineType==
|
|
17585
|
+
else if (lineType==3) //绘制短线
|
|
17509
17586
|
{
|
|
17510
17587
|
var lineWidth=10*GetDevicePixelRatio();
|
|
17511
17588
|
this.Canvas.strokeStyle=color;
|
|
@@ -17522,7 +17599,7 @@ function AverageWidthFrame()
|
|
|
17522
17599
|
}
|
|
17523
17600
|
this.Canvas.stroke();
|
|
17524
17601
|
}
|
|
17525
|
-
else
|
|
17602
|
+
else if (lineType==1 || lineType==2) //虚线
|
|
17526
17603
|
{
|
|
17527
17604
|
this.DrawDotLine(left,right,y, color, option);
|
|
17528
17605
|
}
|
|
@@ -43903,203 +43980,6 @@ function ChartMultiText()
|
|
|
43903
43980
|
}
|
|
43904
43981
|
}
|
|
43905
43982
|
|
|
43906
|
-
// 图标集合 支持横屏
|
|
43907
|
-
function ChartMultiSVGIcon()
|
|
43908
|
-
{
|
|
43909
|
-
this.newMethod=IChartPainting; //派生
|
|
43910
|
-
this.newMethod();
|
|
43911
|
-
delete this.newMethod;
|
|
43912
|
-
|
|
43913
|
-
this.ClassName="ChartMultiSVGIcon";
|
|
43914
|
-
this.Icon; //[ {Index:, Value:, Symbol:, Color:, Baseline:, Line:{ Color:, Dash:[虚线点], KData:"H/L", Offset:[5,10], Width:线粗细 } } ]
|
|
43915
|
-
this.IconSize={ Max: g_JSChartResource.DRAWICON.Icon.MaxSize, Min:g_JSChartResource.DRAWICON.Icon.MinSize , //图标的最大最小值
|
|
43916
|
-
Zoom:{ Type:g_JSChartResource.DRAWICON.Icon.Zoom.Type , Value:g_JSChartResource.DRAWICON.Icon.Zoom.Value } //放大倍数
|
|
43917
|
-
};
|
|
43918
|
-
this.Family;
|
|
43919
|
-
this.Color=g_JSChartResource.DefaultTextColor;
|
|
43920
|
-
this.IsHScreen=false;
|
|
43921
|
-
this.IconRect=[]; //0=序号,1=区域
|
|
43922
|
-
|
|
43923
|
-
this.Draw=function()
|
|
43924
|
-
{
|
|
43925
|
-
this.IconRect=[];
|
|
43926
|
-
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
43927
|
-
if (this.IsShowIndexTitleOnly()) return;
|
|
43928
|
-
if (this.IsHideScriptIndex()) return;
|
|
43929
|
-
if (!this.Data || this.Data.length<=0) return;
|
|
43930
|
-
if (!this.Family || !this.Icon) return;
|
|
43931
|
-
if (!IFrameSplitOperator.IsNonEmptyArray(this.Icon)) return;
|
|
43932
|
-
|
|
43933
|
-
this.IsHScreen=(this.ChartFrame.IsHScreen===true);
|
|
43934
|
-
var xPointCount=this.ChartFrame.XPointCount;
|
|
43935
|
-
var offset=this.Data.DataOffset;
|
|
43936
|
-
this.DataWidth=this.ChartFrame.DataWidth;
|
|
43937
|
-
this.DistanceWidth=this.ChartFrame.DistanceWidth;
|
|
43938
|
-
|
|
43939
|
-
var border=this.GetBorder();
|
|
43940
|
-
if (this.IsHScreen)
|
|
43941
|
-
{
|
|
43942
|
-
var left=border.TopEx;
|
|
43943
|
-
var right=border.BottomEx;
|
|
43944
|
-
}
|
|
43945
|
-
else
|
|
43946
|
-
{
|
|
43947
|
-
var left=border.LeftEx;
|
|
43948
|
-
var right=border.RightEx;
|
|
43949
|
-
}
|
|
43950
|
-
|
|
43951
|
-
var fontSize=this.GetDynamicIconSize(this.DataWidth,this.DistanceWidth,this.IconSize.Max,this.IconSize.Min,this.IconSize.Zoom);
|
|
43952
|
-
this.Canvas.font=fontSize+'px '+this.Family;
|
|
43953
|
-
|
|
43954
|
-
for(var i=0; i<this.Icon.length; ++i)
|
|
43955
|
-
{
|
|
43956
|
-
var item=this.Icon[i];
|
|
43957
|
-
if (!IFrameSplitOperator.IsNumber(item.Index)) continue;
|
|
43958
|
-
|
|
43959
|
-
var index=item.Index-offset;
|
|
43960
|
-
if (index>=0 && index<xPointCount)
|
|
43961
|
-
{
|
|
43962
|
-
var x=this.ChartFrame.GetXFromIndex(index);
|
|
43963
|
-
var y=this.ChartFrame.GetYFromData(item.Value);
|
|
43964
|
-
|
|
43965
|
-
if (item.Color) this.Canvas.fillStyle = item.Color;
|
|
43966
|
-
else this.Canvas.fillStyle = this.Color;
|
|
43967
|
-
|
|
43968
|
-
var textWidth=this.Canvas.measureText(item.Symbol).width;
|
|
43969
|
-
this.Canvas.textAlign='center';
|
|
43970
|
-
var rtIcon=new Rect(x-fontSize/2,y-fontSize/2,fontSize,fontSize);
|
|
43971
|
-
if (x+textWidth/2>=right)
|
|
43972
|
-
{
|
|
43973
|
-
this.Canvas.textAlign='right';
|
|
43974
|
-
x+=this.DataWidth/2;
|
|
43975
|
-
rtIcon.X=x-fontSize;
|
|
43976
|
-
}
|
|
43977
|
-
else if (x-textWidth/2<left)
|
|
43978
|
-
{
|
|
43979
|
-
this.Canvas.textAlign = 'left';
|
|
43980
|
-
x-=this.DataWidth/2;
|
|
43981
|
-
rtIcon.X=x;
|
|
43982
|
-
}
|
|
43983
|
-
|
|
43984
|
-
if (item.Baseline==1)
|
|
43985
|
-
{
|
|
43986
|
-
this.Canvas.textBaseline='top';
|
|
43987
|
-
rtIcon.Y=y;
|
|
43988
|
-
}
|
|
43989
|
-
else if (item.Baseline==2)
|
|
43990
|
-
{
|
|
43991
|
-
this.Canvas.textBaseline='bottom';
|
|
43992
|
-
rtIcon.Y=y-fontSize;
|
|
43993
|
-
}
|
|
43994
|
-
else
|
|
43995
|
-
{
|
|
43996
|
-
this.Canvas.textBaseline = 'middle';
|
|
43997
|
-
rtIcon.Y=y-fontSize/2;
|
|
43998
|
-
}
|
|
43999
|
-
|
|
44000
|
-
if (this.IsHScreen)
|
|
44001
|
-
{
|
|
44002
|
-
this.Canvas.save();
|
|
44003
|
-
this.Canvas.translate(y, x);
|
|
44004
|
-
this.Canvas.rotate(90 * Math.PI / 180);
|
|
44005
|
-
this.Canvas.fillText(item.Symbol,0,0);
|
|
44006
|
-
this.Canvas.restore();
|
|
44007
|
-
}
|
|
44008
|
-
else
|
|
44009
|
-
{
|
|
44010
|
-
if (IFrameSplitOperator.IsNumber(item.YMove)) y+=item.YMove;
|
|
44011
|
-
this.Canvas.fillText(item.Symbol, x, y);
|
|
44012
|
-
if (item.Text) this.IconRect.push({ Index:i, Rect:rtIcon , Item:item });
|
|
44013
|
-
}
|
|
44014
|
-
|
|
44015
|
-
if (item.Line)
|
|
44016
|
-
{
|
|
44017
|
-
var kItem=this.Data.Data[item.Index];
|
|
44018
|
-
var price=item.Line.KData=="H"? kItem.High:kItem.Low;
|
|
44019
|
-
var yPrice=this.ChartFrame.GetYFromData(price);
|
|
44020
|
-
var yText=y;
|
|
44021
|
-
if (Array.isArray(item.Line.Offset) && item.Line.Offset.length==2)
|
|
44022
|
-
{
|
|
44023
|
-
if (yText>yPrice) //文字在下方
|
|
44024
|
-
{
|
|
44025
|
-
yText-=item.Line.Offset[1];
|
|
44026
|
-
yPrice+=item.Line.Offset[0]
|
|
44027
|
-
}
|
|
44028
|
-
else if (yText<yPrice)
|
|
44029
|
-
{
|
|
44030
|
-
yText+=item.Line.Offset[1];
|
|
44031
|
-
yPrice-=item.Line.Offset[0]
|
|
44032
|
-
}
|
|
44033
|
-
}
|
|
44034
|
-
this.Canvas.save();
|
|
44035
|
-
if (item.Line.Dash) this.Canvas.setLineDash(item.Line.Dash); //虚线
|
|
44036
|
-
if (item.Line.Width>0) this.Canvas.lineWidth=item.Line.Width; //线宽
|
|
44037
|
-
this.Canvas.strokeStyle = item.Line.Color;
|
|
44038
|
-
this.Canvas.beginPath();
|
|
44039
|
-
if (this.IsHScreen)
|
|
44040
|
-
{
|
|
44041
|
-
this.Canvas.moveTo(yText, ToFixedPoint(x));
|
|
44042
|
-
this.Canvas.lineTo(yPrice,ToFixedPoint(x));
|
|
44043
|
-
}
|
|
44044
|
-
else
|
|
44045
|
-
{
|
|
44046
|
-
this.Canvas.moveTo(ToFixedPoint(x),yText);
|
|
44047
|
-
this.Canvas.lineTo(ToFixedPoint(x),yPrice);
|
|
44048
|
-
}
|
|
44049
|
-
|
|
44050
|
-
this.Canvas.stroke();
|
|
44051
|
-
this.Canvas.restore();
|
|
44052
|
-
}
|
|
44053
|
-
}
|
|
44054
|
-
}
|
|
44055
|
-
}
|
|
44056
|
-
|
|
44057
|
-
this.GetTooltipData=function(x,y,tooltip)
|
|
44058
|
-
{
|
|
44059
|
-
if (!IFrameSplitOperator.IsNonEmptyArray(this.IconRect)) return false;
|
|
44060
|
-
for(var i=0; i<this.IconRect.length; ++i)
|
|
44061
|
-
{
|
|
44062
|
-
var item=this.IconRect[i];
|
|
44063
|
-
if (!item.Rect) continue;
|
|
44064
|
-
var rect=item.Rect;
|
|
44065
|
-
this.Canvas.beginPath();
|
|
44066
|
-
this.Canvas.rect(rect.X,rect.Y,rect.Width,rect.Height);
|
|
44067
|
-
if (this.Canvas.isPointInPath(x,y))
|
|
44068
|
-
{
|
|
44069
|
-
JSConsole.Chart.Log('[ChartMultiSVGIcon::GetTooltipData] icon ', item);
|
|
44070
|
-
tooltip.Data=item;
|
|
44071
|
-
tooltip.ChartPaint=this;
|
|
44072
|
-
tooltip.Type=4; //指标
|
|
44073
|
-
return true;
|
|
44074
|
-
}
|
|
44075
|
-
}
|
|
44076
|
-
|
|
44077
|
-
return false;
|
|
44078
|
-
}
|
|
44079
|
-
|
|
44080
|
-
this.GetMaxMin=function()
|
|
44081
|
-
{
|
|
44082
|
-
var range={ Min:null, Max:null };
|
|
44083
|
-
var xPointCount=this.ChartFrame.XPointCount;
|
|
44084
|
-
var start=this.Data.DataOffset;
|
|
44085
|
-
var end=start+xPointCount;
|
|
44086
|
-
|
|
44087
|
-
for(var i in this.Icon)
|
|
44088
|
-
{
|
|
44089
|
-
var item=this.Icon[i];
|
|
44090
|
-
if (item.Index>=start && item.Index<end)
|
|
44091
|
-
{
|
|
44092
|
-
if (range.Max==null) range.Max=item.Value;
|
|
44093
|
-
else if (range.Max<item.Value) range.Max=item.Value;
|
|
44094
|
-
if (range.Min==null) range.Min=item.Value;
|
|
44095
|
-
else if (range.Min>item.Value) range.Min=item.Value;
|
|
44096
|
-
}
|
|
44097
|
-
}
|
|
44098
|
-
|
|
44099
|
-
return range;
|
|
44100
|
-
}
|
|
44101
|
-
}
|
|
44102
|
-
|
|
44103
43983
|
|
|
44104
43984
|
//图标集合(2.0) 支持横屏
|
|
44105
43985
|
function ChartMultiSVGIconV2()
|
|
@@ -44311,6 +44191,7 @@ function ChartMultiSVGIconV2()
|
|
|
44311
44191
|
if (IFrameSplitOperator.IsNumber(item.YMove)) y+=item.YMove;
|
|
44312
44192
|
this.Canvas.fillText(item.Symbol, x, y);
|
|
44313
44193
|
if (item.Text) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
44194
|
+
else if (IFrameSplitOperator.IsNonEmptyArray(item.AryText)) this.IconRect.push({ Rect:rtIcon , Item:item, KItem:kItem });
|
|
44314
44195
|
}
|
|
44315
44196
|
|
|
44316
44197
|
if (item.Line)
|
|
@@ -45060,6 +44941,7 @@ function ChartDrawSVG()
|
|
|
45060
44941
|
tooltip.Data={ Rect:item.Rect, Item:data, Index:item.Index };
|
|
45061
44942
|
tooltip.ChartPaint=this;
|
|
45062
44943
|
tooltip.Type=7; //drawsvg
|
|
44944
|
+
if (data.Tooltip && data.Tooltip.Ver==2.0) tooltip.Type=8; //drawsvg 新本版
|
|
45063
44945
|
return true;
|
|
45064
44946
|
}
|
|
45065
44947
|
}
|
|
@@ -83849,29 +83731,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
83849
83731
|
this.DialogSelectRect.Update(sendData);
|
|
83850
83732
|
}
|
|
83851
83733
|
|
|
83852
|
-
this.DrawFloatTooltip=function(point,toolTip)
|
|
83853
|
-
{
|
|
83854
|
-
if (!this.FloatTooltip) return;
|
|
83855
|
-
|
|
83856
|
-
this.UpdateFloatTooltip(point, toolTip)
|
|
83857
|
-
}
|
|
83858
|
-
|
|
83859
|
-
this.UpdateFloatTooltip=function(point, toolTip)
|
|
83860
|
-
{
|
|
83861
|
-
if (!this.FloatTooltip) return;
|
|
83862
|
-
|
|
83863
|
-
var sendData=
|
|
83864
|
-
{
|
|
83865
|
-
Tooltip:toolTip,
|
|
83866
|
-
Point:point,
|
|
83867
|
-
Symbol:this.Symbol,
|
|
83868
|
-
Name:this.Name,
|
|
83869
|
-
DataType:1,
|
|
83870
|
-
};
|
|
83871
|
-
|
|
83872
|
-
this.FloatTooltip.Update(sendData);
|
|
83873
|
-
}
|
|
83874
|
-
|
|
83875
83734
|
this.UpdateHQFloatTooltip=function(kData)
|
|
83876
83735
|
{
|
|
83877
83736
|
if (!this.FloatTooltip) return;
|
|
@@ -145355,7 +145214,7 @@ function JSFloatTooltip()
|
|
|
145355
145214
|
this.Style=0; //0=一行一个, 1=2行一个
|
|
145356
145215
|
|
|
145357
145216
|
this.HQChart=null;
|
|
145358
|
-
this.MaxRowCount=
|
|
145217
|
+
this.MaxRowCount=25;
|
|
145359
145218
|
|
|
145360
145219
|
this.UpColor=g_JSChartResource.UpTextColor;
|
|
145361
145220
|
this.DownColor=g_JSChartResource.DownTextColor;
|
|
@@ -145374,6 +145233,13 @@ function JSFloatTooltip()
|
|
|
145374
145233
|
this.DateTimeColor=g_JSChartResource.FloatTooltip.DateTimeColor;
|
|
145375
145234
|
this.LanguageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;
|
|
145376
145235
|
|
|
145236
|
+
this.ValueAlign=
|
|
145237
|
+
{
|
|
145238
|
+
Left:"UMyChart_Tooltip_Float_Text2_Span", //左对齐
|
|
145239
|
+
MarginLeft:'UMyChart_Tooltip_Float_Text3_Span',
|
|
145240
|
+
Right:"UMyChart_Tooltip_Float_Text_Span",
|
|
145241
|
+
}
|
|
145242
|
+
|
|
145377
145243
|
this.AryData=[]; //输出文字信息
|
|
145378
145244
|
this.AryText=[]; //表格tr
|
|
145379
145245
|
|
|
@@ -145386,6 +145252,7 @@ function JSFloatTooltip()
|
|
|
145386
145252
|
if (option)
|
|
145387
145253
|
{
|
|
145388
145254
|
if (IFrameSplitOperator.IsNumber(option.Style)) this.Style=option.Style;
|
|
145255
|
+
if (IFrameSplitOperator.IsNumber(option.MaxRowCount)) this.MaxRowCount=option.MaxRowCount;
|
|
145389
145256
|
}
|
|
145390
145257
|
}
|
|
145391
145258
|
|
|
@@ -145535,10 +145402,42 @@ function JSFloatTooltip()
|
|
|
145535
145402
|
var tooltipData=data.Tooltip;
|
|
145536
145403
|
if (!tooltipData) return;
|
|
145537
145404
|
|
|
145538
|
-
if (tooltipData.Type==0)
|
|
145405
|
+
if (tooltipData.Type==0) //K线信息
|
|
145539
145406
|
{
|
|
145540
145407
|
this.UpdateKLineToolitp(data);
|
|
145541
145408
|
}
|
|
145409
|
+
else if (tooltipData.Type==1) //信息地雷
|
|
145410
|
+
{
|
|
145411
|
+
this.UpdateKLineInfoTooltip(data);
|
|
145412
|
+
}
|
|
145413
|
+
else if (tooltipData.Type==2) //交易指标
|
|
145414
|
+
{
|
|
145415
|
+
this.UpdateTradeIndexTooltip(data);
|
|
145416
|
+
}
|
|
145417
|
+
else if (tooltipData.Type==3) //分时图异动信息
|
|
145418
|
+
{
|
|
145419
|
+
this.UpdateMinuteInfoTooltip(data);
|
|
145420
|
+
}
|
|
145421
|
+
else if (tooltipData.Type==4) //ChartMultiSVGIconV2 图标信息
|
|
145422
|
+
{
|
|
145423
|
+
this.UpdatMultiSVGIconV2Tooltip(data);
|
|
145424
|
+
}
|
|
145425
|
+
else if (tooltipData.Type==5) //ChartOX 信息
|
|
145426
|
+
{
|
|
145427
|
+
this.UpdatChartOXTooltip(data);
|
|
145428
|
+
}
|
|
145429
|
+
else if (tooltipData.Type==6) //散点图
|
|
145430
|
+
{
|
|
145431
|
+
this.UpdatChartScatterPlotTooltip(data);
|
|
145432
|
+
}
|
|
145433
|
+
else if (tooltipData.Type==7) //ChartDrawSVG 老版本 单行
|
|
145434
|
+
{
|
|
145435
|
+
this.UpdateChartDrawSVGTooltip(data);
|
|
145436
|
+
}
|
|
145437
|
+
else if (tooltipData.Type==8) //ChartDrawSVG 新版本
|
|
145438
|
+
{
|
|
145439
|
+
this.UpdateChartDrawSVGV2Tooltip(data);
|
|
145440
|
+
}
|
|
145542
145441
|
}
|
|
145543
145442
|
else if (data.DataType==2) //更新实时行情数据
|
|
145544
145443
|
{
|
|
@@ -145558,6 +145457,7 @@ function JSFloatTooltip()
|
|
|
145558
145457
|
{
|
|
145559
145458
|
this.KItemCache= kItem;
|
|
145560
145459
|
this.KItemCacheID=strKItem;
|
|
145460
|
+
this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);
|
|
145561
145461
|
bUpdata=true;
|
|
145562
145462
|
}
|
|
145563
145463
|
|
|
@@ -145567,6 +145467,7 @@ function JSFloatTooltip()
|
|
|
145567
145467
|
}
|
|
145568
145468
|
}
|
|
145569
145469
|
|
|
145470
|
+
//K线提示信息
|
|
145570
145471
|
this.UpdateKLineToolitp=function(data)
|
|
145571
145472
|
{
|
|
145572
145473
|
var tooltipData=data.Tooltip;
|
|
@@ -145587,6 +145488,7 @@ function JSFloatTooltip()
|
|
|
145587
145488
|
{
|
|
145588
145489
|
this.KItemCache= kItem;
|
|
145589
145490
|
this.KItemCacheID=strKItem;
|
|
145491
|
+
this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);
|
|
145590
145492
|
bUpdata=true;
|
|
145591
145493
|
}
|
|
145592
145494
|
|
|
@@ -145603,25 +145505,209 @@ function JSFloatTooltip()
|
|
|
145603
145505
|
}
|
|
145604
145506
|
}
|
|
145605
145507
|
|
|
145606
|
-
|
|
145508
|
+
//ChartDrawSVG 老版本 单行
|
|
145509
|
+
this.UpdateChartDrawSVGTooltip=function(data)
|
|
145607
145510
|
{
|
|
145608
|
-
|
|
145511
|
+
var tooltipData=data.Tooltip;
|
|
145512
|
+
if (!tooltipData.Data || !tooltipData.Data.Item || !tooltipData.Data.Item.Tooltip) return;
|
|
145513
|
+
var item=tooltipData.Data.Item.Tooltip;
|
|
145609
145514
|
|
|
145610
|
-
|
|
145611
|
-
|
|
145612
|
-
|
|
145613
|
-
|
|
145515
|
+
var aryText=[]
|
|
145516
|
+
var rowItem={ Text:"", HTMLTitle:item.Text, Color:this.ValueColor, IsMergeCell:true };
|
|
145517
|
+
aryText.push(rowItem);
|
|
145518
|
+
|
|
145519
|
+
this.AryText=aryText;
|
|
145520
|
+
this.UpdateTableDOM();
|
|
145521
|
+
|
|
145522
|
+
if (data.Point)
|
|
145523
|
+
{
|
|
145524
|
+
var x=data.Point.X;
|
|
145525
|
+
var y=data.Point.Y+data.Point.YMove;
|
|
145526
|
+
this.Show(x, y);
|
|
145527
|
+
}
|
|
145528
|
+
}
|
|
145529
|
+
|
|
145530
|
+
//ChartDrawSVG 新版本
|
|
145531
|
+
this.UpdateChartDrawSVGV2Tooltip=function(data)
|
|
145532
|
+
{
|
|
145533
|
+
var tooltipData=data.Tooltip;
|
|
145534
|
+
if (!tooltipData.Data || !tooltipData.Data.Item || !tooltipData.Data.Item.Tooltip) return;
|
|
145535
|
+
var aryData=tooltipData.Data.Item.Tooltip.AryText;
|
|
145536
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(aryData)) return;
|
|
145537
|
+
var aryText=[];
|
|
145538
|
+
for(var i=0;i<aryData.length;++i)
|
|
145539
|
+
{
|
|
145540
|
+
var item=aryData[i];
|
|
145541
|
+
var rowItem={ Title:"", Text:"", Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
|
|
145542
|
+
if (item.TextColor) rowItem.Color=item.TextColor;
|
|
145543
|
+
if (item.Title) rowItem.Title=item.Title;
|
|
145544
|
+
if (item.Text) rowItem.Text=item.Text;
|
|
145545
|
+
|
|
145546
|
+
aryText.push(rowItem);
|
|
145547
|
+
}
|
|
145548
|
+
|
|
145549
|
+
this.AryText=aryText;
|
|
145550
|
+
|
|
145551
|
+
this.UpdateTableDOM();
|
|
145552
|
+
|
|
145553
|
+
if (data.Point)
|
|
145554
|
+
{
|
|
145555
|
+
var x=data.Point.X;
|
|
145556
|
+
var y=data.Point.Y+data.Point.YMove;
|
|
145557
|
+
this.Show(x, y);
|
|
145558
|
+
}
|
|
145559
|
+
}
|
|
145560
|
+
|
|
145561
|
+
//交易指标
|
|
145562
|
+
this.UpdateTradeIndexTooltip=function(data)
|
|
145563
|
+
{
|
|
145564
|
+
var tooltipData=data.Tooltip;
|
|
145565
|
+
if (!tooltipData.Data || !tooltipData.Data.Data) return;
|
|
145566
|
+
|
|
145567
|
+
var item=tooltipData.Data.Data;
|
|
145568
|
+
var kItem=item.KData;
|
|
145569
|
+
var aryText=[];
|
|
145570
|
+
|
|
145571
|
+
var rowItem={ Title:"日期",Text:IFrameSplitOperator.FormatDateString(kItem.Date,"YYYY-MM-DD"), Color:this.ValueColor };
|
|
145572
|
+
aryText.push(rowItem);
|
|
145573
|
+
|
|
145574
|
+
if (IFrameSplitOperator.IsNumber(kItem.Time))
|
|
145575
|
+
{
|
|
145576
|
+
var format="HH:MM";
|
|
145577
|
+
var rowItem={ Title:"时间",Text:IFrameSplitOperator.FormatTimeString(kItem.Time,format), Color:this.ValueColor };
|
|
145578
|
+
aryText.push(rowItem);
|
|
145579
|
+
}
|
|
145580
|
+
|
|
145581
|
+
var rowItem={ Title:"指标名称:", Text:`${item.Name}${item.Param}`, Color:this.ValueColor };
|
|
145582
|
+
aryText.push(rowItem);
|
|
145583
|
+
|
|
145584
|
+
var rowItem={ Title:"买卖方向:", Text:`${item.Type==1?"买入":"卖出"}`, Color:item.Type==1?this.UpColor:this.DownColor };
|
|
145585
|
+
aryText.push(rowItem);
|
|
145586
|
+
|
|
145587
|
+
var rowItem={ };
|
|
145588
|
+
|
|
145589
|
+
this.AryText=aryText;
|
|
145590
|
+
|
|
145591
|
+
this.UpdateTableDOM();
|
|
145614
145592
|
|
|
145593
|
+
if (data.Point)
|
|
145594
|
+
{
|
|
145595
|
+
var x=data.Point.X;
|
|
145596
|
+
var y=data.Point.Y+data.Point.YMove;
|
|
145597
|
+
this.Show(x, y);
|
|
145598
|
+
}
|
|
145599
|
+
}
|
|
145600
|
+
|
|
145601
|
+
//分时图异动信息
|
|
145602
|
+
this.UpdateMinuteInfoTooltip=function(data)
|
|
145603
|
+
{
|
|
145604
|
+
var tooltipData=data.Tooltip;
|
|
145605
|
+
if (!tooltipData.Data || !tooltipData.Data.Data || !tooltipData.Data.Data.Item) return;
|
|
145606
|
+
var item=tooltipData.Data.Data.Item;
|
|
145607
|
+
|
|
145608
|
+
var aryText=[];
|
|
145609
|
+
var rowItem={ Title:"日期",Text:IFrameSplitOperator.FormatDateString(item.Date,"YYYY-MM-DD"), Color:this.ValueColor };
|
|
145610
|
+
aryText.push(rowItem);
|
|
145611
|
+
|
|
145612
|
+
var format="HH:MM";
|
|
145613
|
+
var rowItem={ Title:"时间",Text:IFrameSplitOperator.FormatTimeString(item.Time,format), Color:this.ValueColor };
|
|
145614
|
+
aryText.push(rowItem);
|
|
145615
|
+
|
|
145616
|
+
var rowItem={ Title:"异动", Text:item.Title, Color:this.ValueColor };
|
|
145617
|
+
aryText.push(rowItem);
|
|
145618
|
+
|
|
145619
|
+
this.AryText=aryText;
|
|
145620
|
+
this.UpdateTableDOM();
|
|
145621
|
+
|
|
145622
|
+
if (data.Point)
|
|
145623
|
+
{
|
|
145624
|
+
var x=data.Point.X;
|
|
145625
|
+
var y=data.Point.Y+data.Point.YMove;
|
|
145626
|
+
this.Show(x, y);
|
|
145627
|
+
}
|
|
145628
|
+
}
|
|
145629
|
+
|
|
145630
|
+
//ChartMultiSVGIconV2 图标信息
|
|
145631
|
+
this.UpdatMultiSVGIconV2Tooltip=function(data)
|
|
145632
|
+
{
|
|
145633
|
+
var tooltipData=data.Tooltip;
|
|
145634
|
+
if (!tooltipData.Data || !tooltipData.Data.Item) return;
|
|
145635
|
+
|
|
145636
|
+
var item=tooltipData.Data.Item;
|
|
145637
|
+
var aryText=[];
|
|
145638
|
+
|
|
145639
|
+
var rowItem={ Text:"", HTMLTitle:item.Text, Color:this.ValueColor, IsMergeCell:true };
|
|
145640
|
+
aryText.push(rowItem);
|
|
145641
|
+
|
|
145642
|
+
this.AryText=aryText;
|
|
145643
|
+
this.UpdateTableDOM();
|
|
145644
|
+
|
|
145645
|
+
if (data.Point)
|
|
145646
|
+
{
|
|
145647
|
+
var x=data.Point.X;
|
|
145648
|
+
var y=data.Point.Y+data.Point.YMove;
|
|
145649
|
+
this.Show(x, y);
|
|
145650
|
+
}
|
|
145651
|
+
}
|
|
145652
|
+
|
|
145653
|
+
//ChartOX 信息
|
|
145654
|
+
this.UpdatChartOXTooltip=function(data)
|
|
145655
|
+
{
|
|
145656
|
+
var tooltipData=data.Tooltip;
|
|
145657
|
+
if (!tooltipData.Data || !tooltipData.Data.Data) return;
|
|
145658
|
+
|
|
145659
|
+
var item=tooltipData.Data.Data;
|
|
145660
|
+
var period=this.HQChart.Period;
|
|
145661
|
+
var aryText=[];
|
|
145662
|
+
if (ChartData.IsDayPeriod(period, true))
|
|
145663
|
+
{
|
|
145664
|
+
var strStartDate=IFrameSplitOperator.FormatDateString(item.Start.Date,"YYYY-MM-DD");
|
|
145665
|
+
var strEndDate=IFrameSplitOperator.FormatDateString(item.End.Date,"YYYY-MM-DD");
|
|
145666
|
+
|
|
145667
|
+
aryText.push({ Title:"起始时间",Text:strStartDate, Color:this.ValueColor });
|
|
145668
|
+
aryText.push({ Title:"结束时间",Text:strEndDate, Color:this.ValueColor });
|
|
145669
|
+
}
|
|
145670
|
+
else if (ChartData.IsMinutePeriod(period, true))
|
|
145671
|
+
{
|
|
145672
|
+
var strStartDate=IFrameSplitOperator.FormatDateString(item.Start.Date);
|
|
145673
|
+
var strStartTime=IFrameSplitOperator.FormatTimeString(item.Start.Time,"HH:MM");
|
|
145674
|
+
|
|
145675
|
+
var strEndDate=IFrameSplitOperator.FormatDateString(item.End.Date);
|
|
145676
|
+
var strEndTime=IFrameSplitOperator.FormatTimeString(item.End.Time,"HH:MM");
|
|
145677
|
+
|
|
145678
|
+
aryText.push({ Title:"起始时间",Text:`${strStartDate} ${strStartTime}`, Color:this.ValueColor });
|
|
145679
|
+
aryText.push({ Title:"结束时间",Text:`${strEndDate} ${strEndTime}`, Color:this.ValueColor });
|
|
145680
|
+
}
|
|
145681
|
+
|
|
145682
|
+
this.AryText=aryText;
|
|
145683
|
+
this.UpdateTableDOM();
|
|
145684
|
+
|
|
145685
|
+
if (data.Point)
|
|
145686
|
+
{
|
|
145687
|
+
var x=data.Point.X;
|
|
145688
|
+
var y=data.Point.Y+data.Point.YMove;
|
|
145689
|
+
this.Show(x, y);
|
|
145690
|
+
}
|
|
145691
|
+
}
|
|
145692
|
+
|
|
145693
|
+
this.UpdateTableDOM=function()
|
|
145694
|
+
{
|
|
145615
145695
|
var index=0;
|
|
145616
145696
|
for(index=0;index<this.AryText.length && index<this.MaxRowCount;++index)
|
|
145617
145697
|
{
|
|
145618
145698
|
var outItem=this.AryText[index];
|
|
145619
145699
|
var item=this.AryData[index];
|
|
145620
145700
|
|
|
145621
|
-
item.TitleSpan.
|
|
145701
|
+
if (outItem.HTMLTitle) item.TitleSpan.innerHTML=outItem.HTMLTitle
|
|
145702
|
+
else item.TitleSpan.innerText=outItem.Title;
|
|
145703
|
+
|
|
145622
145704
|
item.TitleSpan.style.color=this.TextColor;
|
|
145623
|
-
|
|
145705
|
+
|
|
145706
|
+
if (outItem.HTMLText) item.TextSpan.innerHTML=outItem.HTMLText
|
|
145707
|
+
else item.TextSpan.innerText=outItem.Text;
|
|
145708
|
+
|
|
145624
145709
|
item.TextSpan.style.color=outItem.Color;
|
|
145710
|
+
item.TextTd.style.color=outItem.Color;
|
|
145625
145711
|
|
|
145626
145712
|
if (outItem.ClassName)
|
|
145627
145713
|
{
|
|
@@ -145629,11 +145715,23 @@ function JSFloatTooltip()
|
|
|
145629
145715
|
}
|
|
145630
145716
|
else
|
|
145631
145717
|
{
|
|
145632
|
-
if (item.TextSpan.className!=
|
|
145718
|
+
if (item.TextSpan.className!=this.ValueAlign.Right) item.TextSpan.className=this.ValueAlign.Right;
|
|
145719
|
+
}
|
|
145720
|
+
|
|
145721
|
+
if (outItem.IsMergeCell) //合并单元格
|
|
145722
|
+
{
|
|
145723
|
+
item.TitleTd.colspan=2;
|
|
145724
|
+
item.TextTd.style.display="none";
|
|
145725
|
+
}
|
|
145726
|
+
else
|
|
145727
|
+
{
|
|
145728
|
+
if (item.TitleTd.colspan!=1) item.TitleTd.colspan=1;
|
|
145729
|
+
item.TextTd.style.display="";
|
|
145633
145730
|
}
|
|
145634
145731
|
|
|
145635
145732
|
item.Tr.style.display="";
|
|
145636
|
-
if (item.Tr2) item.Tr2.style.display="";
|
|
145733
|
+
if (item.Tr2) item.Tr2.style.display="none";
|
|
145734
|
+
|
|
145637
145735
|
}
|
|
145638
145736
|
|
|
145639
145737
|
for( ; index<this.MaxRowCount; ++index)
|
|
@@ -145644,6 +145742,7 @@ function JSFloatTooltip()
|
|
|
145644
145742
|
}
|
|
145645
145743
|
}
|
|
145646
145744
|
|
|
145745
|
+
|
|
145647
145746
|
this.GetFormatKLineTooltipText=function(kItem)
|
|
145648
145747
|
{
|
|
145649
145748
|
var data=kItem.Item;
|
|
@@ -145660,7 +145759,7 @@ function JSFloatTooltip()
|
|
|
145660
145759
|
|
|
145661
145760
|
var overlayItem=null;
|
|
145662
145761
|
if (kItem.IsOverlay)
|
|
145663
|
-
overlayItem={ Title:"", Text:kItem.Name, Color:this.TextColor, ClassName:
|
|
145762
|
+
overlayItem={ Title:"", Text:kItem.Name, Color:this.TextColor, ClassName:this.ValueAlign.Left };
|
|
145664
145763
|
|
|
145665
145764
|
|
|
145666
145765
|
var yClose=data.YClose; //昨收价|昨结算价
|
|
@@ -145707,6 +145806,245 @@ function JSFloatTooltip()
|
|
|
145707
145806
|
}
|
|
145708
145807
|
|
|
145709
145808
|
|
|
145809
|
+
//信息地雷
|
|
145810
|
+
this.UpdateKLineInfoTooltip=function(data)
|
|
145811
|
+
{
|
|
145812
|
+
var tooltipData=data.Tooltip;
|
|
145813
|
+
var symbol=data.Symbol;
|
|
145814
|
+
var defaultfloatPrecision=GetfloatPrecision(symbol);//价格小数位数
|
|
145815
|
+
|
|
145816
|
+
var aryData=tooltipData.Data.Data;
|
|
145817
|
+
var aryText=[]; //输出内容
|
|
145818
|
+
for(var i=0;i<aryData.length;++i)
|
|
145819
|
+
{
|
|
145820
|
+
var item=aryData[i];
|
|
145821
|
+
var infoType=item.InfoType;
|
|
145822
|
+
switch(infoType)
|
|
145823
|
+
{
|
|
145824
|
+
case KLINE_INFO_TYPE.BLOCKTRADING:
|
|
145825
|
+
this.FormatBlockTradingText(item, defaultfloatPrecision, aryText);
|
|
145826
|
+
break;
|
|
145827
|
+
case KLINE_INFO_TYPE.TRADEDETAIL:
|
|
145828
|
+
this.FormatTradeDetailText(item,defaultfloatPrecision,aryText);
|
|
145829
|
+
break;
|
|
145830
|
+
case KLINE_INFO_TYPE.RESEARCH:
|
|
145831
|
+
this.FormatResearchText(item, aryText);
|
|
145832
|
+
break;
|
|
145833
|
+
case KLINE_INFO_TYPE.PFORECAST:
|
|
145834
|
+
this.FormatPerformanceForecastText(item,aryText);
|
|
145835
|
+
break;
|
|
145836
|
+
default:
|
|
145837
|
+
this.FormatDefaultKLineInfoText(item, aryText);
|
|
145838
|
+
break;
|
|
145839
|
+
}
|
|
145840
|
+
}
|
|
145841
|
+
|
|
145842
|
+
var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_KLINE_INFO_FLOAT_TOOLTIP);
|
|
145843
|
+
if (event && event.Callback)
|
|
145844
|
+
{
|
|
145845
|
+
var sendData={ AryText:aryText, Data:data, HQChart:this.HQChart };
|
|
145846
|
+
event.Callback(event, sendData, this);
|
|
145847
|
+
}
|
|
145848
|
+
|
|
145849
|
+
this.AryText=aryText;
|
|
145850
|
+
|
|
145851
|
+
this.UpdateTableDOM();
|
|
145852
|
+
|
|
145853
|
+
if (data.Point)
|
|
145854
|
+
{
|
|
145855
|
+
var x=data.Point.X;
|
|
145856
|
+
var y=data.Point.Y+data.Point.YMove;
|
|
145857
|
+
this.Show(x, y);
|
|
145858
|
+
}
|
|
145859
|
+
}
|
|
145860
|
+
|
|
145861
|
+
this.UpdatChartScatterPlotTooltip=function(data)
|
|
145862
|
+
{
|
|
145863
|
+
var tooltipData=data.Tooltip;
|
|
145864
|
+
if (!tooltipData.Data || !tooltipData.Data.Data || !tooltipData.Data.Data.Tooltip) return;
|
|
145865
|
+
var aryData=tooltipData.Data.Data.Tooltip;
|
|
145866
|
+
var aryText=[]; //输出内容
|
|
145867
|
+
|
|
145868
|
+
for(var i=0;i<aryData.length;++i)
|
|
145869
|
+
{
|
|
145870
|
+
var item=aryData[i];
|
|
145871
|
+
if (!item.Text && !item.Title) continue;
|
|
145872
|
+
var rowItem={ Title:"", Text:"", Color:this.ValueColor };
|
|
145873
|
+
if (item.Title) rowItem.Title=item.Title;
|
|
145874
|
+
if (item.Text) rowItem.Text=item.Text;
|
|
145875
|
+
if (item.TextColor) rowItem.Color=item.TextColor;
|
|
145876
|
+
|
|
145877
|
+
aryText.push(rowItem);
|
|
145878
|
+
}
|
|
145879
|
+
|
|
145880
|
+
this.AryText=aryText;
|
|
145881
|
+
this.UpdateTableDOM();
|
|
145882
|
+
|
|
145883
|
+
if (data.Point)
|
|
145884
|
+
{
|
|
145885
|
+
var x=data.Point.X;
|
|
145886
|
+
var y=data.Point.Y+data.Point.YMove;
|
|
145887
|
+
this.Show(x, y);
|
|
145888
|
+
}
|
|
145889
|
+
}
|
|
145890
|
+
|
|
145891
|
+
|
|
145892
|
+
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
145893
|
+
// 公告数据格式化
|
|
145894
|
+
|
|
145895
|
+
this.FormatDefaultKLineInfoText=function(item, aryOut)
|
|
145896
|
+
{
|
|
145897
|
+
var title;
|
|
145898
|
+
var strDate=IFrameSplitOperator.FormatDateString(item.Date,"YYYY-MM-DD");
|
|
145899
|
+
if (IFrameSplitOperator.IsNumber(item.Time))
|
|
145900
|
+
{
|
|
145901
|
+
var strTime=IFrameSplitOperator.FormatTimeString(item.Time);
|
|
145902
|
+
title=`${strDate} ${strTime}`;
|
|
145903
|
+
}
|
|
145904
|
+
else
|
|
145905
|
+
{
|
|
145906
|
+
title=strDate;
|
|
145907
|
+
}
|
|
145908
|
+
|
|
145909
|
+
var item=
|
|
145910
|
+
{
|
|
145911
|
+
Title:title, //日期
|
|
145912
|
+
Text:item.Title, //标题
|
|
145913
|
+
Color:this.ValueColor,
|
|
145914
|
+
ClassName:this.ValueAlign.MarginLeft
|
|
145915
|
+
};
|
|
145916
|
+
|
|
145917
|
+
aryOut.push(item);
|
|
145918
|
+
}
|
|
145919
|
+
|
|
145920
|
+
//大宗交易
|
|
145921
|
+
this.FormatBlockTradingText=function(data, floatPrecision, aryOut)
|
|
145922
|
+
{
|
|
145923
|
+
var item={ Title:"", Text:"大宗交易", Color:this.TextColor, ClassName:this.ValueAlign.Left };
|
|
145924
|
+
aryOut.push(item);
|
|
145925
|
+
|
|
145926
|
+
var item={ Title:"日期",Text:IFrameSplitOperator.FormatDateString(data.Date,"YYYY-MM-DD"), Color:this.ValueColor };
|
|
145927
|
+
aryOut.push(item);
|
|
145928
|
+
|
|
145929
|
+
var extendata = data.ExtendData;
|
|
145930
|
+
var item={ Title:"成交价:", Text:extendata.Price.toFixed(floatPrecision), Color:this.ValueColor };
|
|
145931
|
+
aryOut.push(item);
|
|
145932
|
+
|
|
145933
|
+
var item={ Title:"收盘价:", Text:extendata.ClosePrice.toFixed(floatPrecision), Color:this.ValueColor };
|
|
145934
|
+
aryOut.push(item);
|
|
145935
|
+
|
|
145936
|
+
var item={ Title:"溢折价率:", Text:extendata.Premium.toFixed(2), Color:this.GetColor(extendata.Premium,0) };
|
|
145937
|
+
aryOut.push(item);
|
|
145938
|
+
|
|
145939
|
+
var item={ Title:"成交量:", Text:IFrameSplitOperator.FormatValueStringV2(extendata.Vol,0,2,this.LanguageID), Color:this.VolColor };
|
|
145940
|
+
aryOut.push(item);
|
|
145941
|
+
}
|
|
145942
|
+
|
|
145943
|
+
//龙虎榜
|
|
145944
|
+
this.FormatTradeDetailText=function(data, floatPrecision, aryOut)
|
|
145945
|
+
{
|
|
145946
|
+
if (!data.ExtendData) return;
|
|
145947
|
+
var extendata = data.ExtendData;
|
|
145948
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(extendata.Detail)) return;
|
|
145949
|
+
|
|
145950
|
+
var item={ Title:"日期",Text:IFrameSplitOperator.FormatDateString(data.Date,"YYYY-MM-DD"), Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
|
|
145951
|
+
aryOut.push(item);
|
|
145952
|
+
|
|
145953
|
+
for(var i=0;i<extendata.Detail.length;++i)
|
|
145954
|
+
{
|
|
145955
|
+
var resItem=extendata.Detail[i];
|
|
145956
|
+
if (i==0)
|
|
145957
|
+
var item={ Title:"上榜原因:",Text:resItem.TypeExplain, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
|
|
145958
|
+
else
|
|
145959
|
+
var item={ Title:"",Text:resItem.TypeExplain, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
|
|
145960
|
+
|
|
145961
|
+
aryOut.push(item);
|
|
145962
|
+
}
|
|
145963
|
+
|
|
145964
|
+
if (extendata.FWeek)
|
|
145965
|
+
{
|
|
145966
|
+
var value=extendata.FWeek.Week1;
|
|
145967
|
+
if (IFrameSplitOperator.IsNumber(value))
|
|
145968
|
+
{
|
|
145969
|
+
var item={ Title:"一周后涨幅:",Text:`${value.toFixed(2)}%`, Color:this.GetColor(value,0), ClassName:this.ValueAlign.MarginLeft };
|
|
145970
|
+
aryOut.push(item);
|
|
145971
|
+
}
|
|
145972
|
+
|
|
145973
|
+
var value=extendata.FWeek.Week4;
|
|
145974
|
+
if (IFrameSplitOperator.IsNumber(value))
|
|
145975
|
+
{
|
|
145976
|
+
var item={ Title:"四周后涨幅:",Text:`${value.toFixed(2)}%`, Color:this.GetColor(value,0), ClassName:this.ValueAlign.MarginLeft };
|
|
145977
|
+
aryOut.push(item);
|
|
145978
|
+
}
|
|
145979
|
+
}
|
|
145980
|
+
}
|
|
145981
|
+
|
|
145982
|
+
//调研
|
|
145983
|
+
this.FormatResearchText=function(data,aryOut)
|
|
145984
|
+
{
|
|
145985
|
+
if (!data.ExtendData) return;
|
|
145986
|
+
var extendata = data.ExtendData;
|
|
145987
|
+
|
|
145988
|
+
var item={ Title:"日期",Text:IFrameSplitOperator.FormatDateString(data.Date,"YYYY-MM-DD"), Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
|
|
145989
|
+
aryOut.push(item);
|
|
145990
|
+
|
|
145991
|
+
if (IFrameSplitOperator.IsNonEmptyArray(extendata.Level))
|
|
145992
|
+
{
|
|
145993
|
+
var strLevel="";
|
|
145994
|
+
for(var i=0;i<extendata.Level.length;++i)
|
|
145995
|
+
{
|
|
145996
|
+
var value=extendata.Level[i];
|
|
145997
|
+
if (strLevel.length>0) strLevel+=",";
|
|
145998
|
+
if(value==0) strLevel+="证券代表";
|
|
145999
|
+
else if(value==1) strLevel+="董秘";
|
|
146000
|
+
else if(value==2) strLevel+="总经理";
|
|
146001
|
+
else if(value==3) strLevel+="董事长";
|
|
146002
|
+
}
|
|
146003
|
+
|
|
146004
|
+
var item={ Title:"接待人员:",Text:strLevel, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
|
|
146005
|
+
aryOut.push(item);
|
|
146006
|
+
}
|
|
146007
|
+
else
|
|
146008
|
+
{
|
|
146009
|
+
var item={ Title:"接待人员",Text:"----", Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
|
|
146010
|
+
aryOut.push(item);
|
|
146011
|
+
}
|
|
146012
|
+
|
|
146013
|
+
if (extendata.Type)
|
|
146014
|
+
{
|
|
146015
|
+
var item={ Title:"", Text:extendata.Type, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
|
|
146016
|
+
aryOut.push(item);
|
|
146017
|
+
}
|
|
146018
|
+
|
|
146019
|
+
}
|
|
146020
|
+
|
|
146021
|
+
//业绩预告
|
|
146022
|
+
this.FormatPerformanceForecastText=function(data,aryOut)
|
|
146023
|
+
{
|
|
146024
|
+
if (!data.ExtendData) return;
|
|
146025
|
+
var extendata = data.ExtendData;
|
|
146026
|
+
var reportDate=extendata.ReportDate;
|
|
146027
|
+
if (!reportDate) return;
|
|
146028
|
+
|
|
146029
|
+
var year=parseInt(reportDate/10000); //年份
|
|
146030
|
+
var day=reportDate%10000; //日期
|
|
146031
|
+
var reportType="----";
|
|
146032
|
+
if(day == 1231) reportType = '年报';
|
|
146033
|
+
else if(day == 331) reportType ='一季度报';
|
|
146034
|
+
else if(day == 630) reportType = "半年度报";
|
|
146035
|
+
else if(day == 930) reportType = "三季度报";
|
|
146036
|
+
|
|
146037
|
+
var item={ Title:"业绩预告:",Text:data.Title, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
|
|
146038
|
+
aryOut.push(item);
|
|
146039
|
+
|
|
146040
|
+
var item={ Title:"年份:",Text:`${year}`, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
|
|
146041
|
+
aryOut.push(item);
|
|
146042
|
+
|
|
146043
|
+
var item={ Title:"类型:",Text:reportType, Color:this.ValueColor, ClassName:this.ValueAlign.MarginLeft };
|
|
146044
|
+
aryOut.push(item);
|
|
146045
|
+
}
|
|
146046
|
+
|
|
146047
|
+
|
|
145710
146048
|
/////////////////////////////////////////////////////////////////////////////////////////////
|
|
145711
146049
|
//数据格式化
|
|
145712
146050
|
this.ForamtPrice=function(price, yClose, defaultfloatPrecision, TitleID)
|
|
@@ -146947,7 +147285,7 @@ function HQChartScriptWorker()
|
|
|
146947
147285
|
|
|
146948
147286
|
|
|
146949
147287
|
|
|
146950
|
-
var HQCHART_VERSION="1.1.
|
|
147288
|
+
var HQCHART_VERSION="1.1.14063";
|
|
146951
147289
|
|
|
146952
147290
|
function PrintHQChartVersion()
|
|
146953
147291
|
{
|