hqchart 1.1.14516 → 1.1.14533

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.
@@ -6632,6 +6632,8 @@ var JSCHART_EVENT_ID=
6632
6632
  ON_CLICK_DEAL_ROW:165,
6633
6633
  ON_RCLICK_DEAL_ROW:166,
6634
6634
  ON_DBCLICK_DEAL_ROW:167,
6635
+
6636
+ ON_FORMAT_OVERLAY_INDEX_OUT_TEXT:168, //格式化叠指标标题
6635
6637
  }
6636
6638
 
6637
6639
  var JSCHART_OPERATOR_ID=
@@ -6821,6 +6823,7 @@ var JSCHART_MENU_ID=
6821
6823
 
6822
6824
  CMD_RBUTTON_SELECT_RECT_ID:53, //右键区间选择
6823
6825
  CMD_LBUTTON_SELECT_RECT_ID:54, //左键区间选择
6826
+ CMD_ENABLE_XDRAG_BOTTOM_ID:55, //X轴拖动缩放
6824
6827
 
6825
6828
 
6826
6829
 
@@ -8084,7 +8087,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8084
8087
 
8085
8088
  var yMove=e.clientY-drag.LastMove.Y;
8086
8089
 
8087
- this.OnMoveFromeBorder(this.BorderDrag.Index, yMove);
8090
+ if (!this.OnMoveFromeBorder(this.BorderDrag.Index, yMove)) return;
8088
8091
 
8089
8092
  drag.LastMove.X=e.clientX;
8090
8093
  drag.LastMove.Y=e.clientY;
@@ -10985,7 +10988,6 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
10985
10988
  this.SelectChartDrawPicture=null;
10986
10989
  if (this.ChartPictureMenu) this.ChartPictureMenu.Hide();
10987
10990
  this.ClearChartDrawPicture(drawPicture); //删除选中的画图工具
10988
- this.CloseModifyDrawDialog();
10989
10991
  }
10990
10992
  else if (this.SelectedChart && this.SelectedChart.Selected.Identify)
10991
10993
  {
@@ -11209,14 +11211,16 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
11209
11211
 
11210
11212
  this.OnMoveFromeBorder=function(index, yMove)
11211
11213
  {
11212
- if (!this.Frame) return;
11214
+ if (!this.Frame) return false;
11213
11215
 
11214
- if (!this.Frame.OnMoveFromeBorder(index,yMove)) return ;
11216
+ if (!this.Frame.OnMoveFromeBorder(index,yMove)) return false;
11215
11217
 
11216
11218
  //this.Frame.SetSizeChage(true);
11217
11219
  this.Frame.SetFrameBorderSizeChange();
11218
11220
  this.Frame.ReDrawToolbar();
11219
11221
  this.Draw();
11222
+
11223
+ return true;
11220
11224
  }
11221
11225
 
11222
11226
  this.OnZoomUpDownFrameY=function(obj, yMove)
@@ -12803,20 +12807,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
12803
12807
 
12804
12808
  if (!this.DialogModifyDraw) return;
12805
12809
 
12806
- if (chart.ClassName=="ChartDrawPictureText" || chart.ClassName=='ChartDrawVolProfile')
12807
- {
12808
- this.CloseModifyDrawDialog();
12809
-
12810
- if (!this.ChartPictureMenu) this.ChartPictureMenu=g_DialogFactory.Create('ChartPictureSettingMenu', this.UIElement.parentNode);
12811
- if (!this.ChartPictureMenu) return;
12812
-
12813
- var event={ data: { ChartPicture:chart, HQChart:this}};
12814
- this.ChartPictureMenu.DoModal(event);
12815
- }
12816
- else
12817
- {
12818
- this.ShowModifyDrawDialog(chart);
12819
- }
12810
+ this.ShowModifyDrawDialog(chart);
12820
12811
  }
12821
12812
 
12822
12813
  this.FinishMoveChartDrawPicture=function()
@@ -12868,6 +12859,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
12868
12859
 
12869
12860
  if (option && option.Draw==false) bDraw=false;
12870
12861
  if (bDraw) this.Draw();
12862
+ if (this.DialogModifyDraw) this.DialogModifyDraw.OnClearChartDrawPicture(null);
12871
12863
  }
12872
12864
  else
12873
12865
  {
@@ -12887,6 +12879,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
12887
12879
 
12888
12880
  if (option && option.Draw==false) bDraw=false;
12889
12881
  if (bDraw) this.Draw();
12882
+ if (this.DialogModifyDraw) this.DialogModifyDraw.OnClearChartDrawPicture(drawPicture);
12883
+ break;
12890
12884
  }
12891
12885
  }
12892
12886
  }
@@ -13015,6 +13009,23 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
13015
13009
  else this.Draw();
13016
13010
  }
13017
13011
 
13012
+ this.SetSplashScreen=function(option)
13013
+ {
13014
+ if (!option) return;
13015
+
13016
+ if (IFrameSplitOperator.IsBool(option.Enable)) this.ChartSplashPaint.EnableSplash(option.Enable);
13017
+ if (option.Title) this.ChartSplashPaint.SetTitle(option.Title);
13018
+
13019
+ if (option.Draw) this.Draw();
13020
+ }
13021
+
13022
+ this.IsEnableSplashScreen=function()
13023
+ {
13024
+ if (!this.ChartSplashPaint) return false;
13025
+
13026
+ return this.ChartSplashPaint.IsEnableSplash;
13027
+ }
13028
+
13018
13029
  //设置指标窗口属性 windowItem=SetOption.Windows[i], frameItem=SetOption.Frames[i];
13019
13030
  this.SetSubFrameAttribute=function(subFrame, windowItem, frameItem)
13020
13031
  {
@@ -14339,6 +14350,9 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
14339
14350
  case JSCHART_MENU_ID.CMD_LBUTTON_SELECT_RECT_ID:
14340
14351
  if (IFrameSplitOperator.IsBool(srcParam) && this.ChartDragSelectRect) this.ChartDragSelectRect.EnableLButton=srcParam;
14341
14352
  break;
14353
+ case JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID:
14354
+ if (IFrameSplitOperator.IsBool(srcParam)) this.EnableXDrag.Bottom=srcParam;
14355
+ break;
14342
14356
  }
14343
14357
  }
14344
14358
 
@@ -23807,11 +23821,37 @@ function HQTradeFrame()
23807
23821
  {
23808
23822
  if (this.SubFrame.length<=0) return false;
23809
23823
 
23810
- var topFrame=this.SubFrame[index];
23824
+ var topFrame=null;
23825
+ var aryTopTitleFrame=[];
23826
+ for(var i=index;i>=0;--i)
23827
+ {
23828
+ var item=this.SubFrame[i];
23829
+
23830
+ if (item.Frame && item.Frame.ChartBorder && item.Frame.ChartBorder.IsShowTitleOnly) //标题模式
23831
+ {
23832
+ aryTopTitleFrame.push(item);
23833
+ continue;
23834
+ }
23835
+
23836
+ if (item.Height>0)
23837
+ {
23838
+ topFrame=item;
23839
+ break;
23840
+ }
23841
+ }
23842
+
23811
23843
  var bottomFrame=null;
23844
+ var aryBottomTitleFrame=[];
23812
23845
  for(var i=index+1;i<this.SubFrame.length;++i)
23813
23846
  {
23814
23847
  var item=this.SubFrame[i];
23848
+
23849
+ if (item.Frame && item.Frame.ChartBorder && item.Frame.ChartBorder.IsShowTitleOnly) //标题模式
23850
+ {
23851
+ aryBottomTitleFrame.push(item);
23852
+ continue;
23853
+ }
23854
+
23815
23855
  if (item.Height>0)
23816
23856
  {
23817
23857
  bottomFrame=item;
@@ -23829,6 +23869,20 @@ function HQTradeFrame()
23829
23869
 
23830
23870
  var height=topFrame.Frame.ChartBorder.GetHeightEx();
23831
23871
  var height2=bottomFrame.Frame.ChartBorder.GetHeightEx();
23872
+
23873
+ for(var i=0;i<aryBottomTitleFrame.length;++i)
23874
+ {
23875
+ var item=aryBottomTitleFrame[i];
23876
+ item.Frame.ChartBorder.Bottom+=yMove;
23877
+ item.Frame.ChartBorder.Top+=yMove;
23878
+ }
23879
+
23880
+ for(var i=0;i<aryTopTitleFrame.length;++i)
23881
+ {
23882
+ var item=aryTopTitleFrame[i];
23883
+ item.Frame.ChartBorder.Bottom+=yMove;
23884
+ item.Frame.ChartBorder.Top+=yMove;
23885
+ }
23832
23886
 
23833
23887
  //缩小的时候 小于最小高度 不处理
23834
23888
  if ((height<this.MinSubFrameHeight && yMove<0) || (height2<this.MinSubFrameHeight && yMove>0))
@@ -24122,11 +24176,25 @@ function HQTradeFrame()
24122
24176
  this.SaveSubFrameHeightRate=function()
24123
24177
  {
24124
24178
  var height=this.ChartBorder.GetHeight();
24179
+ var totalTitleHeight=0;
24180
+ for(var i=0;i<this.SubFrame.length;++i)
24181
+ {
24182
+ var item=this.SubFrame[i];
24183
+ var frame=item.Frame;
24184
+ if (frame && frame.ChartBorder && frame.ChartBorder.IsShowTitleOnly && item.Height>0)
24185
+ totalTitleHeight+=frame.ChartBorder.TitleHeight;
24186
+ }
24187
+ height-=totalTitleHeight;
24125
24188
 
24126
24189
  for(var i=0; i<this.SubFrame.length; ++i)
24127
24190
  {
24128
24191
  var item=this.SubFrame[i];
24192
+ var frame=item.Frame;
24193
+ if (item.Height<=0) continue;
24194
+ if (frame && frame.ChartBorder && frame.ChartBorder.IsShowTitleOnly && item.Height>0) continue;
24195
+
24129
24196
  var subHeight=item.Frame.ChartBorder.GetHeight();
24197
+
24130
24198
  var rate=(subHeight/height)*100;
24131
24199
  item.Height=rate;
24132
24200
  }
@@ -25258,9 +25326,13 @@ function HQTradeFrame()
25258
25326
  var left=item.Frame.ChartBorder.GetLeft();
25259
25327
  var right=item.Frame.ChartBorder.GetRight();
25260
25328
 
25261
- item.Frame.Canvas.beginPath();
25262
- item.Frame.Canvas.rect(left,bottom-height/2,(right-left),height);
25263
- if (item.Frame.Canvas.isPointInPath(x,y))
25329
+ var rtBorder={ Left:left, Right:right, Top:bottom-height/2, Height:height };
25330
+ rtBorder.Bottom=rtBorder.Top+rtBorder.Height;
25331
+ rtBorder.Width=rtBorder.Right-rtBorder.Left;
25332
+ if (x>=rtBorder.Left && x<=rtBorder.Right && y>=rtBorder.Top && y<rtBorder.Bottom)
25333
+ //item.Frame.Canvas.beginPath();
25334
+ //item.Frame.Canvas.rect(left,bottom-height/2,(right-left),height);
25335
+ //if (item.Frame.Canvas.isPointInPath(x,y))
25264
25336
  {
25265
25337
  return { Index:i, Bottom:true };
25266
25338
  }
@@ -63168,6 +63240,101 @@ function DynamicChartTitlePainting()
63168
63240
  this.Canvas.restore();
63169
63241
  }
63170
63242
 
63243
+ this.FormatOverlayTitle=function(item, overlayItem, titleIndex)
63244
+ {
63245
+ if (!item || !item.Data || !item.Data.Data || !item.Name) return null;
63246
+ if (item.IsVisible===false) return null;
63247
+ if (item.Data.Data.length<=0) return null;
63248
+
63249
+ var value=null;
63250
+ var valueText=null;
63251
+ var aryText=null;
63252
+ if (item.DataType=="StraightLine") //直线只有1个数据
63253
+ {
63254
+ value=item.Data.Data[0];
63255
+ valueText=this.FormatValue(value,item);
63256
+ }
63257
+ else
63258
+ {
63259
+ var index=Math.abs(this.CursorIndex-0.5);
63260
+ index=parseInt(index.toFixed(0));
63261
+ if (this.IsKLineFrame) index=this.CursorIndex;
63262
+ var dataIndex=item.Data.DataOffset+index;
63263
+ if (dataIndex>=item.Data.Data.length) dataIndex=item.Data.Data.length-1;
63264
+ if (dataIndex<0) return null;
63265
+
63266
+ value=item.Data.Data[dataIndex];
63267
+ if (value==null) return null;
63268
+
63269
+ if (this.GetEventCallback) //外部处理
63270
+ {
63271
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_OVERLAY_INDEX_OUT_TEXT);
63272
+ if (event)
63273
+ {
63274
+ var sendData=
63275
+ {
63276
+ Item:item, Index:titleIndex, Data:overlayItem, FrameID:this.Frame.Identify,
63277
+ DataIndex:dataIndex, Value:value, PreventDefault:false, Out:null
63278
+ };
63279
+ event.Callback(event,sendData,this);
63280
+ if (sendData.Out) return sendData.Out;
63281
+ if (sendData.PreventDefault) return sendData.Out;
63282
+ }
63283
+ }
63284
+
63285
+ if (item.DataType=="MultiReport")
63286
+ {
63287
+ valueText=this.FormatMultiReport(value,item);
63288
+ if (!valueText) return null;
63289
+ }
63290
+ else if (item.DataType=="ChartStackedBar")
63291
+ {
63292
+ aryText=this.FormatStackedBarTitle(value, item);
63293
+ if (!aryText) return null;
63294
+ }
63295
+ else if (item.DataType=="ChartMultiLine") //多线段数据
63296
+ {
63297
+ aryText=this.ForamtMultiLineTitle(dataIndex, item);
63298
+ if (!aryText) return null;
63299
+ }
63300
+ else if (item.DataType=="ChartMultiPoint")
63301
+ {
63302
+ aryText=this.ForamtMultiPointTitle(dataIndex, item);
63303
+ if (!aryText) return null;
63304
+ }
63305
+ else if (item.DataType=="ChartMultiBar")
63306
+ {
63307
+ aryText=this.ForamtMultiBarTitle(dataIndex, item);
63308
+ if (!aryText) return null;
63309
+ }
63310
+ else if (item.DataType=="DRAWKLINE")
63311
+ {
63312
+ aryText=this.FormatKLineTitle(value, item);
63313
+ if (!aryText) return null;
63314
+ }
63315
+ else if (item.DataType=="ChartIndexTitle")
63316
+ {
63317
+ var outTitle=this.FormatIndexTitle(value, item);
63318
+ if (!outTitle) return null;
63319
+
63320
+ valueText=outTitle.Text;
63321
+ aryText=outTitle.ArrayText;
63322
+ }
63323
+ else if (item.DataType=="MULTI_POINT_LINE")
63324
+ {
63325
+ valueText=this.FormatMultiDataLine(value, item);
63326
+ if (!valueText) return null;
63327
+ }
63328
+ else
63329
+ {
63330
+ valueText=this.FormatValue(value,item);
63331
+ }
63332
+ }
63333
+
63334
+
63335
+ return { Text:valueText, ArrayText:aryText };
63336
+ }
63337
+
63171
63338
  this.DrawOverlayIndexSingleLine=function(moveonPoint, mouseStatus) //叠加指标1个指标一行
63172
63339
  {
63173
63340
  var pixelRatio=GetDevicePixelRatio();
@@ -63230,68 +63397,11 @@ function DynamicChartTitlePainting()
63230
63397
  for(var i=0; i<overlayItem.Data.length; ++i)
63231
63398
  {
63232
63399
  var item=overlayItem.Data[i];
63233
- if (!item || !item.Data || !item.Data.Data || !item.Name) continue;
63234
- if (item.IsVisible===false) continue;
63235
- if (item.Data.Data.length<=0) continue;
63236
-
63237
- var value=null;
63238
- var valueText=null;
63239
- var aryText=null;
63240
- if (item.DataType=="StraightLine") //直线只有1个数据
63241
- {
63242
- value=item.Data.Data[0];
63243
- valueText=this.FormatValue(value,item);
63244
- }
63245
- else
63246
- {
63247
- var index=Math.abs(this.CursorIndex-0.5);
63248
- index=parseInt(index.toFixed(0));
63249
- if (this.IsKLineFrame) index=this.CursorIndex;
63250
- var dataIndex=item.Data.DataOffset+index;
63251
- if (dataIndex>=item.Data.Data.length) dataIndex=item.Data.Data.length-1;
63252
- if (dataIndex<0) continue;
63400
+ var outText=this.FormatOverlayTitle(item,overlayItem,i);
63401
+ if (!outText) continue;
63253
63402
 
63254
- value=item.Data.Data[dataIndex];
63255
- if (value==null) continue;
63256
-
63257
- if (item.DataType=="MultiReport")
63258
- {
63259
- valueText=this.FormatMultiReport(value,item);
63260
- if (!valueText) continue;
63261
- }
63262
- else if (item.DataType=="ChartStackedBar")
63263
- {
63264
- aryText=this.FormatStackedBarTitle(value, item);
63265
- if (!aryText) continue;
63266
- }
63267
- else if (item.DataType=="ChartMultiPoint")
63268
- {
63269
- aryText=this.ForamtMultiPointTitle(dataIndex, item);
63270
- if (!aryText) continue;
63271
- }
63272
- else if (item.DataType=="ChartMultiBar")
63273
- {
63274
- aryText=this.ForamtMultiBarTitle(dataIndex, item);
63275
- if (!aryText) continue;
63276
- }
63277
- else if (item.DataType=="DRAWKLINE")
63278
- {
63279
- aryText=this.FormatKLineTitle(value, item);
63280
- if (!aryText) continue;
63281
- }
63282
- else if (item.DataType=="ChartIndexTitle")
63283
- {
63284
- var outTitle=this.FormatIndexTitle(value, item);
63285
- if (!outTitle) continue;
63286
-
63287
- valueText=outTitle.Text;
63288
- aryText=outTitle.ArrayText;
63289
- }
63290
- else
63291
- {
63292
- valueText=this.FormatValue(value,item);
63293
- }
63294
- }
63403
+ var valueText=outText.Text;
63404
+ var aryText=outText.ArrayText;
63295
63405
 
63296
63406
  if (aryText)
63297
63407
  {
@@ -68660,15 +68770,13 @@ function ChartDrawPictureText()
68660
68770
  delete this.newMethod;
68661
68771
 
68662
68772
  this.ClassName='ChartDrawPictureText';
68663
- this.Text='文本';
68773
+ this.Text='输入文字';
68664
68774
  this.PointCount=1;
68665
68775
  this.FontOption={ Family:'微软雅黑', Size:20, Weight:null, Style:null }; //Weight(bold 粗体), Style(italic)
68666
68776
  //矢量图片
68667
68777
  //this.Text="\ue606";
68668
68778
  //this.FontOption={ Family:'iconfont', Size:20, Weight:null, Style:null }; //Weight(bold 粗体), Style(italic)
68669
68779
  this.TextRect=null; //文字区域
68670
- this.IsInitialized=false; //是否初始化了
68671
- this.SettingMenu;
68672
68780
  this.HQChart;
68673
68781
 
68674
68782
  this.SetOption=function(option)
@@ -68706,12 +68814,6 @@ function ChartDrawPictureText()
68706
68814
  this.TextRect.Height=textHeight
68707
68815
  //this.Canvas.strokeRect(this.TextRect.Left,this.TextRect.Top,this.TextRect.Width,this.TextRect.Height);
68708
68816
  this.Canvas.restore();
68709
-
68710
- if (this.IsInitialized===false)
68711
- {
68712
- this.SetTextOption();
68713
- this.IsInitialized=true;
68714
- }
68715
68817
  }
68716
68818
 
68717
68819
  //根据设置动态生成字体
@@ -68730,18 +68832,6 @@ function ChartDrawPictureText()
68730
68832
  return font;
68731
68833
  }
68732
68834
 
68733
- this.SetTextOption=function()
68734
- {
68735
- JSConsole.Chart.Log('[ChartDrawPictureText::SetTextOption]');
68736
- //创建div设置窗口
68737
- if (!this.SettingMenu) this.SettingMenu=new ChartPictureTextSettingMenu(this.Frame.ChartBorder.UIElement.parentNode);
68738
-
68739
- this.SettingMenu.ChartPicture=this;
68740
- this.SettingMenu.HQChart=this.HQChart;
68741
- this.SettingMenu.Position={Left:this.TextRect.Left+this.TextRect.Width,Top:this.TextRect.Top};
68742
- this.SettingMenu.DoModal();
68743
- }
68744
-
68745
68835
  this.IsPointIn=function(x,y)
68746
68836
  {
68747
68837
  if (!this.Frame || this.Status!=10) return -1;
@@ -73624,6 +73714,7 @@ function ChartDrawPriceNote()
73624
73714
 
73625
73715
  var price=this.Frame.GetYData(ptStart.Y, false);
73626
73716
  var text=price.toFixed(floatPrecision);
73717
+ this.Canvas.font=font;
73627
73718
  var textHeight=this.Canvas.measureText("擎").width;
73628
73719
  var textWidth=this.Canvas.measureText(text).width;
73629
73720
  var angle=this.CalculateAngle(ptStart.X, ptStart.Y, ptEnd.X, ptEnd.Y);
@@ -75709,6 +75800,15 @@ function JSChartResource()
75709
75800
  TitleBGColor:"rgb(200, 66, 69)", //标题背景颜色
75710
75801
  }
75711
75802
 
75803
+ this.PopKLineChart=
75804
+ {
75805
+ BGColor:"rgba(250,250,250,0.95)",
75806
+ BorderColor:"rgb(0,0,0)",
75807
+
75808
+ TitleColor:'rgb(250,250,250)', //标题颜色
75809
+ TitleBGColor:"rgb(200, 66, 69)", //标题背景颜色
75810
+ }
75811
+
75712
75812
  this.SelectRectBGColor="rgba(1,130,212,0.06)"; //背景色
75713
75813
  // this.SelectRectAlpha=0.06; //透明度
75714
75814
 
@@ -77281,10 +77381,21 @@ function JSChartResource()
77281
77381
  if (style.PopMinuteChart)
77282
77382
  {
77283
77383
  var item=style.PopMinuteChart;
77284
- if (item.BGColor) this.PopMinuteChart.BGColor=item.BGColor;
77285
- if (item.BorderColor) this.PopMinuteChart.BorderColor=item.BorderColor;
77286
- if (item.TitleColor) this.DialogSearchIndex.TitleColor=item.TitleColor;
77287
- if (item.TitleBGColor) this.DialogSearchIndex.TitleBGColor=item.TitleBGColor;
77384
+ var dest=this.PopMinuteChart;
77385
+ if (item.BGColor) dest.BGColor=item.BGColor;
77386
+ if (item.BorderColor) dest.BorderColor=item.BorderColor;
77387
+ if (item.TitleColor) dest.TitleColor=item.TitleColor;
77388
+ if (item.TitleBGColor) dest.TitleBGColor=item.TitleBGColor;
77389
+ }
77390
+
77391
+ if (style.PopKLineChart)
77392
+ {
77393
+ var item=style.PopKLineChart;
77394
+ var dest=this.PopKLineChart;
77395
+ if (item.BGColor) dest.BGColor=item.BGColor;
77396
+ if (item.BorderColor) dest.BorderColor=item.BorderColor;
77397
+ if (item.TitleColor) dest.TitleColor=item.TitleColor;
77398
+ if (item.TitleBGColor) dest.TitleBGColor=item.TitleBGColor;
77288
77399
  }
77289
77400
 
77290
77401
  if (style.DefaultTextColor) this.DefaultTextColor = style.DefaultTextColor;
@@ -83064,8 +83175,10 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
83064
83175
  {
83065
83176
  if (option.KLine)
83066
83177
  {
83067
- if (IFrameSplitOperator.IsNumber(option.KLine.DrawType)) isChangeKLineDrawType=true;
83068
- if (IFrameSplitOperator.IsNumber(option.KLine.Right)) right=option.KLine.Right;
83178
+ var item=option.KLine;
83179
+ if (IFrameSplitOperator.IsNumber(item.DrawType)) isChangeKLineDrawType=true;
83180
+ if (IFrameSplitOperator.IsNumber(item.Right)) right=item.Right;
83181
+ if (IFrameSplitOperator.IsNumber(item.DataWidth)) this.KLineSize={ DataWidth:item.DataWidth };
83069
83182
  }
83070
83183
 
83071
83184
  if (option.Reload==true) isReload=true;
@@ -84548,7 +84661,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
84548
84661
  bindData.Period=this.Period;
84549
84662
  bindData.Right=this.Right;
84550
84663
 
84551
- if (bindData.Right>0 && MARKET_SUFFIX_NAME.IsSHSZStockA(item.Symbol)) //复权数据
84664
+ if (bindData.Right>0 && MARKET_SUFFIX_NAME.IsEnableRight(item.Symbol)) //复权数据
84552
84665
  {
84553
84666
  var rightData=bindData.GetRightData(bindData.Right,{ AlgorithmType: this.RightFormula });
84554
84667
  bindData.Data=rightData;
@@ -84621,6 +84734,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
84621
84734
  var item=option.KLine;
84622
84735
  if (IFrameSplitOperator.IsNumber(item.Right)) this.Right=item.Right;
84623
84736
  if (IFrameSplitOperator.IsNumber(item.Period)) this.Period=item.Period;
84737
+ if (IFrameSplitOperator.IsNumber(item.DataWidth)) this.KLineSize={ DataWidth:item.DataWidth };
84624
84738
  }
84625
84739
  }
84626
84740
 
@@ -85688,6 +85802,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
85688
85802
 
85689
85803
  { Name:"禁止拖拽", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID, Args:[0]}, Checked:0==this.DragMode },
85690
85804
  { Name:"启动拖拽", Data:{ ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_MODE_ID, Args:[1]}, Checked:1==this.DragMode },
85805
+ { Name:"X轴拖动缩放", Data:{ ID:JSCHART_MENU_ID.CMD_ENABLE_XDRAG_BOTTOM_ID, Args:[!this.EnableXDrag.Bottom]}, Checked:this.EnableXDrag.Bottom },
85691
85806
  { Name:"左键区间选择", Data:{ ID:JSCHART_MENU_ID.CMD_LBUTTON_SELECT_RECT_ID, Args:[!bLButtonSelectRect]}, Checked:bLButtonSelectRect },
85692
85807
  { Name:"右键区间选择", Data:{ ID:JSCHART_MENU_ID.CMD_RBUTTON_SELECT_RECT_ID, Args:[!bRButtonSelectRect]}, Checked:bRButtonSelectRect },
85693
85808
  { Name:JSPopMenu.SEPARATOR_LINE_NAME },
@@ -85698,7 +85813,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
85698
85813
 
85699
85814
  { Name:"移动筹码图", Data:{ ID:bShowStockChip?JSCHART_MENU_ID.CMD_HIDE_STOCKCHIP_ID:JSCHART_MENU_ID.CMD_SHOW_STOCKCHIP_ID, Args:[stockChipConfig.Name, stockChipConfig]}, Checked:bShowStockChip},
85700
85815
 
85701
-
85702
85816
 
85703
85817
  { Name:"双击弹分时图", Data:{ ID:JSCHART_MENU_ID.CMD_ENABLE_POP_MINUTE_CHART_ID, Args:[!bPopMinuteChart]}, Checked:bPopMinuteChart},
85704
85818
 
@@ -85887,8 +86001,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
85887
86001
  var self=this;
85888
86002
  drawPicture.GetActiveDrawPicture=function() { return self.GetActiveDrawPicture(); }
85889
86003
 
85890
- if (drawPicture.ClassName==='ChartDrawPictureText') drawPicture.IsInitialized=true;
85891
-
85892
86004
  this.ChartDrawPicture.push(drawPicture);
85893
86005
  }
85894
86006
 
@@ -93205,7 +93317,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
93205
93317
  if (item)
93206
93318
  {
93207
93319
  drawPicture=item.Create();
93208
- if (drawPicture.ClassName=='ChartDrawPictureText') drawPicture.HQChart=this;
93209
93320
  }
93210
93321
 
93211
93322
  if (!drawPicture) //iconfont图标
@@ -93268,7 +93379,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
93268
93379
 
93269
93380
  drawPicture.GetActiveDrawPicture=function() { return self.GetActiveDrawPicture(); }
93270
93381
 
93271
- if (drawPicture.ClassName==='ChartDrawPictureText') drawPicture.IsInitialized=true;
93272
93382
  this.ChartDrawPicture.push(drawPicture);
93273
93383
 
93274
93384
  if (obj.Draw==true) this.DrawDynamicInfo();
@@ -93312,8 +93422,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
93312
93422
  drawPicture.ValueToPoint();
93313
93423
  drawPicture.GetActiveDrawPicture=()=>{ return this.GetActiveDrawPicture(); }
93314
93424
 
93315
- if (drawPicture.ClassName==='ChartDrawPictureText') drawPicture.IsInitialized=true;
93316
-
93317
93425
  this.ChartDrawPicture.push(drawPicture);
93318
93426
  }
93319
93427
 
@@ -98191,7 +98299,6 @@ function DialogFactory()
98191
98299
  this.DataMap=new Map(
98192
98300
  [
98193
98301
  ["ChartPictureSettingMenu", { Create:function(divElement) { return new ChartPictureSettingMenu(divElement); } }],
98194
- ["ChartPictureTextSettingMenu", { Create:function(divElement) { return new ChartPictureTextSettingMenu(divElement); } }]
98195
98302
  ]);
98196
98303
 
98197
98304
  this.Create=function(name, option)
@@ -98417,239 +98524,6 @@ function ChartPictureSettingMenu(divElement)
98417
98524
  }
98418
98525
  }
98419
98526
 
98420
- //画图工具 文本设置窗口
98421
- function ChartPictureTextSettingMenu(divElement)
98422
- {
98423
- this.newMethod=IDivDialog; //派生
98424
- this.newMethod(divElement);
98425
- delete this.newMethod;
98426
-
98427
- this.ChartPicture;
98428
- this.SettingDiv;
98429
- this.Position;
98430
-
98431
- this.BackupData; //画图工具备份数据
98432
-
98433
- this.Close=function()
98434
- {
98435
- if (this.SettingDiv) this.DivElement.removeChild(this.SettingDiv); //直接删除
98436
- }
98437
-
98438
- this.DoModal=function()
98439
- {
98440
- var text=this.ChartPicture.Text; //显示的文本
98441
- var fontOption=this.ChartPicture.FontOption; //字体设置
98442
- var lineColor=this.ChartPicture.LineColor;
98443
- //数据备份, 点取消的时候把备份数据设置回去
98444
- this.BackupData=
98445
- {
98446
- Text:text,
98447
- LineColor:lineColor,
98448
- FontOption:{Family: fontOption.Family, Size: fontOption.Size, Weight: fontOption.Weight, Style: fontOption.Style }
98449
- };
98450
- JSConsole.Chart.Log('[ChartPictureTextSettingMenu::DoModal] picture info',this.BackupData);
98451
-
98452
- var self=this;
98453
- var div=this.DivElement.getElementsByClassName('chartpicture-text-setting')[0];
98454
- if (!div)
98455
- {
98456
- div=document.createElement("div");
98457
- div.className='chartpicture-text-setting';
98458
- this.DivElement.appendChild(div);
98459
- this.SettingDiv=div;
98460
- }
98461
- else
98462
- {
98463
- this.SettingDiv=div;
98464
- }
98465
-
98466
- var titleContainerStr = '<div class="titleWrap">'+
98467
- '<span class="titleName">样式设置</span>'+
98468
- '<i class="closeBtn iconfont icon-close"></i>'+
98469
- '</div>';
98470
-
98471
- var fontSizeArray = [10,11,12,14,16,20,24,28,32,40];
98472
- var fontArray = ['微软雅黑','宋体','Arial','仿宋'];
98473
- var sizeListStr = "";
98474
- var fontListStr = "";
98475
- fontArray.forEach(function(item,index){
98476
- fontListStr += index !== 0 ? '<p>'+item+'</P>' : '<p class="active">'+item+'</P>';
98477
- });
98478
- fontSizeArray.forEach(function(item,index){
98479
- sizeListStr += index !== 5 ? '<p>'+item+'</P>' : '<p class="active">'+item+'</P>';
98480
- });
98481
- var contentContainerStr = '<div class="contentWrap">'+
98482
- '<div class="styleOptions">'+
98483
- '<span class="colorPicker"><input type="color" id="fontColor" value="#1e90ff"></span>'+
98484
- '<div class="likeSelect fontSelect"><span class="choicedText">微软雅黑</span><div class="selectList">'+fontListStr+'</div><i class="iconfont icon-xia"></i></div>'+
98485
- '<div class="likeSelect fontSizeSelect"><span class="choicedText">20</span><div class="selectList">'+sizeListStr+'</div><i class="iconfont icon-xia"></i></div>'+
98486
- '<span class="strongFont likeBtn"><i class="iconfont icon-jiacu"></i></span>'+
98487
- '<span class="italicsFont likeBtn"><i class="iconfont icon-qingxieL"></i></span>'+
98488
- '</div>'+
98489
- '<textarea class="tArea" id="tArea" placeholder="Text"></textarea>'+
98490
- '</div>';
98491
- var btnContainer = '<div class="btnsContainer">'+
98492
- '<span class="okBtn btn">确认</span>'+
98493
- '<span class="cancelBtn btn">取消</span>'+
98494
- '</div>';
98495
-
98496
- var pixelTatio = GetDevicePixelRatio();
98497
- var DoModalStr = titleContainerStr+contentContainerStr+btnContainer;
98498
- this.SettingDiv.style.left = this.Position.Left/pixelTatio + "px";
98499
- this.SettingDiv.style.top = this.Position.Top/pixelTatio + "px";
98500
- this.SettingDiv.innerHTML=DoModalStr;
98501
- this.SettingDiv.style.position = "absolute";
98502
- this.SettingDiv.style.display = "block";
98503
- $(".chartpicture-text-setting .colorPicker").css({ //初始设置
98504
- "borderColor":self.ChartPicture.LineColor,
98505
- "background-color":self.ChartPicture.LineColor
98506
- });
98507
-
98508
- var family = this.ChartPicture.FontOption.Family;
98509
- $('.chartpicture-text-setting .fontSelect .choicedText').html(family);
98510
- fontArray.forEach(function(item,index){
98511
- if(item == family){
98512
- $('.chartpicture-text-setting .fontSelect p').removeClass('active');
98513
- $('.chartpicture-text-setting .fontSelect p').eq(index).addClass('active');
98514
- }
98515
- });
98516
-
98517
- var size = this.ChartPicture.FontOption.Size;
98518
- $('.chartpicture-text-setting .fontSizeSelect .choicedText').html(size);
98519
- fontSizeArray.forEach(function(item,index){
98520
- if(item == size){
98521
- $('.chartpicture-text-setting .fontSizeSelect p').removeClass('active');
98522
- $('.chartpicture-text-setting .fontSizeSelect p').eq(index).addClass('active');
98523
- }
98524
- });
98525
-
98526
- var weight = this.ChartPicture.FontOption.Weight;
98527
- if( weight != null && weight == 'bold'){
98528
- $('.chartpicture-text-setting .strongFont').addClass('hot');
98529
- }
98530
-
98531
- var style = this.ChartPicture.FontOption.Style;
98532
- if( style != null && style == 'italic'){
98533
- $('.chartpicture-text-setting .italicsFont').addClass('hot');
98534
- }
98535
-
98536
- var text = this.ChartPicture.Text;
98537
- $('.chartpicture-text-setting .tArea').val(text); //结束初始设置
98538
-
98539
- var defaultTextOption = { Family:'微软雅黑', Size:20, Weight:null, Style:null };
98540
- $(".chartpicture-text-setting #fontColor").change(
98541
- {
98542
- Picture:this.ChartPicture
98543
- },
98544
- function(event)
98545
- { //颜色选择
98546
- var value = $(this).val();
98547
- $(this).parent().css({
98548
- "borderColor":value,
98549
- "background-color":value
98550
- });
98551
- var chart=event.data.Picture;
98552
- chart.LineColor = value;
98553
- if (chart.Update) chart.Update(); //更新界面
98554
- }
98555
- );
98556
- $(".chartpicture-text-setting .fontSelect,.chartpicture-text-setting .fontSizeSelect").click(function(){
98557
- $(this).find('.selectList').toggle();
98558
- $(this).toggleClass('hot');
98559
- });
98560
- $(".chartpicture-text-setting .fontSelect p").click(
98561
- {
98562
- Picture:this.ChartPicture
98563
- },
98564
- function(event){ //字体选择
98565
- var choicedText = $(this).closest(".fontSelect").find('.choicedText').html();
98566
- var currentSelect = event.currentTarget.innerHTML;
98567
- if(choicedText !== currentSelect){
98568
- $(this).closest(".fontSelect").find('.choicedText').html(currentSelect);
98569
- $(this).siblings().removeClass('active');
98570
- $(this).addClass('active');
98571
- var chart = event.data.Picture;
98572
- chart.FontOption.Family = currentSelect;
98573
- if (chart.Update) chart.Update(); //更新界面
98574
- }
98575
- });
98576
- $(".chartpicture-text-setting .fontSizeSelect p").click(
98577
- {
98578
- Picture:this.ChartPicture
98579
- },
98580
- function(event){ //字号选择
98581
- var choicedText = $(this).closest(".fontSizeSelect").find('.choicedText').html();
98582
- var currentSelect = event.currentTarget.innerHTML;
98583
- if(choicedText !== currentSelect){
98584
- $(this).closest(".fontSizeSelect").find('.choicedText').html(currentSelect);
98585
- $(this).siblings().removeClass('active');
98586
- $(this).addClass('active');
98587
- var chart = event.data.Picture;
98588
- chart.FontOption.Size = Number(currentSelect);
98589
- if (chart.Update) chart.Update(); //更新界面
98590
- }
98591
- });
98592
- $(".chartpicture-text-setting .strongFont").click(
98593
- {
98594
- Picture:this.ChartPicture
98595
- },
98596
- function(event){
98597
- $(this).toggleClass('hot');
98598
- var classnames = $(this).attr('class');
98599
- if(classnames.indexOf('hot') > 0){
98600
- var chart = event.data.Picture;
98601
- chart.FontOption.Weight = 'bold';
98602
- if (chart.Update) chart.Update(); //更新界面
98603
- }
98604
- });
98605
- $(".chartpicture-text-setting .italicsFont").click(
98606
- {
98607
- Picture:this.ChartPicture
98608
- },
98609
- function(event){
98610
- $(this).toggleClass('hot')
98611
- var classnames = $(this).attr('class');
98612
- if(classnames.indexOf('hot') > 0){
98613
- var chart = event.data.Picture;
98614
- chart.FontOption.Style = 'italic';
98615
- if (chart.Update) chart.Update(); //更新界面
98616
- }
98617
- });
98618
- $(".chartpicture-text-setting .titleWrap .closeBtn,.chartpicture-text-setting .btnsContainer .cancelBtn").click( //取消
98619
- {
98620
- Picture:this.ChartPicture
98621
- },
98622
- function(event){
98623
- var picture = event.data.Picture;
98624
- picture.Text = self.BackupData.Text;
98625
- picture.LineColor = self.BackupData.LineColor;
98626
- picture.FontOption = self.BackupData.FontOption;
98627
- if (picture.Update) picture.Update();
98628
- self.Close();
98629
- });
98630
- $(".chartpicture-text-setting .tArea").keyup( //文本内容
98631
- {
98632
- Picture:this.ChartPicture
98633
- },
98634
- function(event){
98635
- JSConsole.Chart.Log('[ChartPictureTextSettingMenu::DoModal] $(".chartpicture-text-setting .tArea").keyup()');
98636
- var content = $(this).val();
98637
- var chart = event.data.Picture;
98638
- chart.Text = content;
98639
- if (chart.Update) chart.Update(); //更新界面
98640
- });
98641
-
98642
- //确定按钮
98643
- $(".chartpicture-text-setting .btnsContainer .okBtn").click(
98644
- function()
98645
- {
98646
- self.Close();
98647
- if (self.HQChart && self.HQChart.ChartDrawStorage) self.HQChart.ChartDrawStorage.SaveDrawData(self.ChartPicture); //保存下
98648
- }
98649
- );
98650
- }
98651
- }
98652
-
98653
98527
 
98654
98528
  function ChartPictureVolProfileSettingMenu(divElement)
98655
98529
  {
@@ -129322,7 +129196,12 @@ function GetBlackStyle()
129322
129196
  BGColor:"rgba(0,0,0,0.85)",
129323
129197
  BorderColor:"rgb(230,230,230)",
129324
129198
  },
129325
-
129199
+
129200
+ PopKLineChart:
129201
+ {
129202
+ BGColor:"rgba(0,0,0,0.85)",
129203
+ BorderColor:"rgb(230,230,230)",
129204
+ },
129326
129205
 
129327
129206
  DefaultTextColor: "rgb(101,104,112)",
129328
129207
  DefaultTextFont: 14*GetDevicePixelRatio() +'px 微软雅黑',
@@ -131956,6 +131835,7 @@ function JSReportChart(divElement)
131956
131835
  if (option.EnablePopMenuV2===true) chart.InitalPopMenu();
131957
131836
  if (option.FloatTooltip && option.FloatTooltip.Enable) chart.InitalFloatTooltip(option.FloatTooltip); //提示信息
131958
131837
  if (option.MinuteChartTooltip && option.MinuteChartTooltip.Enable) chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);
131838
+ if (option.KLineChartTooltip && option.KLineChartTooltip.Enable) chart.InitalKLineChartTooltip(option.KLineChartTooltip);
131959
131839
 
131960
131840
  if (option.Symbol) chart.Symbol=option.Symbol;
131961
131841
  if (option.Name) chart.Name=option.Name;
@@ -132276,6 +132156,7 @@ function JSReportChartContainer(uielement)
132276
132156
 
132277
132157
  //
132278
132158
  this.TooltipMinuteChart; //分时图
132159
+ this.TooltipKLineChart; //分时图
132279
132160
 
132280
132161
  //MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
132281
132162
  this.LastMouseStatus={ MoveStatus:null, TooltipStatus:null, MouseOnStatus:null };
@@ -132286,6 +132167,7 @@ function JSReportChartContainer(uielement)
132286
132167
  this.StopAutoUpdate();
132287
132168
 
132288
132169
  this.DestroyMinuteChartTooltip();
132170
+ this.DestroyKLineChartTooltip();
132289
132171
  this.DestroyFloatTooltip();
132290
132172
  }
132291
132173
 
@@ -132325,6 +132207,24 @@ function JSReportChartContainer(uielement)
132325
132207
  this.TooltipMinuteChart=null;
132326
132208
  }
132327
132209
 
132210
+ this.InitalKLineChartTooltip=function(option)
132211
+ {
132212
+ if (this.TooltipKLineChart) return;
132213
+
132214
+ this.TooltipKLineChart=new JSTooltipKLineChart();
132215
+ this.TooltipKLineChart.Inital(this, option);
132216
+ this.TooltipKLineChart.Create();
132217
+ }
132218
+
132219
+ this.DestroyKLineChartTooltip=function()
132220
+ {
132221
+ if (!this.TooltipKLineChart) return;
132222
+
132223
+ this.TooltipKLineChart.Destroy();
132224
+ this.TooltipKLineChart=null;
132225
+ }
132226
+
132227
+
132328
132228
  this.InitalFloatTooltip=function(option)
132329
132229
  {
132330
132230
  if (this.FloatTooltip) return;
@@ -132394,6 +132294,35 @@ function JSReportChartContainer(uielement)
132394
132294
  }
132395
132295
 
132396
132296
 
132297
+ this.ShowKLineChartTooltip=function(x,y, data)
132298
+ {
132299
+ if (!this.TooltipKLineChart) return;
132300
+
132301
+ var rtClient=this.UIElement.getBoundingClientRect();
132302
+ var rtScroll=GetScrollPosition();
132303
+
132304
+ var offsetLeft=rtClient.left+rtScroll.Left;
132305
+ var offsetTop=rtClient.top+rtScroll.Top;
132306
+
132307
+ data.Offset={ Left:offsetLeft, Top:offsetTop };
132308
+
132309
+ this.TooltipKLineChart.Show(data, x,y);
132310
+ }
132311
+
132312
+ this.HideKLineChartTooltip=function()
132313
+ {
132314
+ if (!this.TooltipKLineChart) return;
132315
+
132316
+ this.TooltipKLineChart.Hide();
132317
+ }
132318
+
132319
+ this.HideAllTooltip=function()
132320
+ {
132321
+ this.HideKLineChartTooltip();
132322
+ this.HideMinuteChartTooltip();
132323
+ this.HideFloatTooltip();
132324
+ }
132325
+
132397
132326
 
132398
132327
  this.AutoScrollPage=function(step)
132399
132328
  {
@@ -132759,7 +132688,7 @@ function JSReportChartContainer(uielement)
132759
132688
  if (IFrameSplitOperator.IsNumber(item.Sort)) this.SortInfo.Sort=item.Sort;
132760
132689
  }
132761
132690
 
132762
- if (IFrameSplitOperator.IsBool(option.IsReloadStockList))
132691
+ if (IFrameSplitOperator.IsBool(option.IsReloadStockList) && option.IsReloadStockList)
132763
132692
  {
132764
132693
  var requestOption={ Callback:null };
132765
132694
  if (this.Symbol) requestOption.Callback=()=>{ this.RequestMemberListData(); };
@@ -133563,8 +133492,7 @@ function JSReportChartContainer(uielement)
133563
133492
  if (wheelValue<0) //下
133564
133493
  {
133565
133494
  this.LastMouseStatus.TooltipStatus=null;
133566
- this.HideMinuteChartTooltip();
133567
- this.HideFloatTooltip();
133495
+ this.HideAllTooltip();
133568
133496
  if (this.GotoNextItem(1))
133569
133497
  {
133570
133498
  this.Draw();
@@ -133574,8 +133502,7 @@ function JSReportChartContainer(uielement)
133574
133502
  else if (wheelValue>0) //上
133575
133503
  {
133576
133504
  this.LastMouseStatus.TooltipStatus=null;
133577
- this.HideMinuteChartTooltip();
133578
- this.HideFloatTooltip();
133505
+ this.HideAllTooltip();
133579
133506
  if (this.GotoNextItem(-1))
133580
133507
  {
133581
133508
  this.Draw();
@@ -133588,8 +133515,7 @@ function JSReportChartContainer(uielement)
133588
133515
  if (wheelValue<0) //下一页
133589
133516
  {
133590
133517
  this.LastMouseStatus.TooltipStatus=null;
133591
- this.HideMinuteChartTooltip();
133592
- this.HideFloatTooltip();
133518
+ this.HideAllTooltip();
133593
133519
  if (this.GotoNextPage(this.PageUpDownCycle))
133594
133520
  {
133595
133521
  this.Draw();
@@ -133599,8 +133525,7 @@ function JSReportChartContainer(uielement)
133599
133525
  else if (wheelValue>0) //上一页
133600
133526
  {
133601
133527
  this.LastMouseStatus.TooltipStatus=null;
133602
- this.HideMinuteChartTooltip();
133603
- this.HideFloatTooltip();
133528
+ this.HideAllTooltip();
133604
133529
  if (this.GotoPreviousPage(this.PageUpDownCycle))
133605
133530
  {
133606
133531
  this.Draw();
@@ -133622,8 +133547,7 @@ function JSReportChartContainer(uielement)
133622
133547
  var keyID = e.keyCode ? e.keyCode :e.which;
133623
133548
  if (keyID==116) return; //F15刷新不处理
133624
133549
 
133625
- this.HideMinuteChartTooltip();
133626
- this.HideFloatTooltip();
133550
+ this.HideAllTooltip();
133627
133551
  switch(keyID)
133628
133552
  {
133629
133553
  case 33: //page up
@@ -133912,7 +133836,8 @@ function JSReportChartContainer(uielement)
133912
133836
  if (this.LastMouseStatus.TooltipStatus) bDrawTooltip=true;
133913
133837
  this.LastMouseStatus.TooltipStatus=null;
133914
133838
 
133915
- var bShowChartTooltip=false;
133839
+ var bShowKLineTooltip=false;
133840
+ var bShowMinuteTooltip=false;
133916
133841
  var chartTooltipData=null;
133917
133842
 
133918
133843
  if (this.DragRow) return;
@@ -133988,7 +133913,15 @@ function JSReportChartContainer(uielement)
133988
133913
  {
133989
133914
  if (tooltipData.Stock && tooltipData.Stock.Symbol)
133990
133915
  {
133991
- bShowChartTooltip=true;
133916
+ bShowMinuteTooltip=true;
133917
+ chartTooltipData={ Symbol:tooltipData.Stock.OriginalSymbol, Rect:tooltipData.Rect };
133918
+ }
133919
+ }
133920
+ else if (tooltipData.Type==21)
133921
+ {
133922
+ if (tooltipData.Stock && tooltipData.Stock.Symbol)
133923
+ {
133924
+ bShowKLineTooltip=true;
133992
133925
  chartTooltipData={ Symbol:tooltipData.Stock.OriginalSymbol, Rect:tooltipData.Rect };
133993
133926
  }
133994
133927
  }
@@ -134038,20 +133971,17 @@ function JSReportChartContainer(uielement)
134038
133971
  this.HideFloatTooltip();
134039
133972
  }
134040
133973
 
134041
- if (bShowChartTooltip)
134042
- {
134043
- this.ShowMinuteChartTooltip(null, null, chartTooltipData);
134044
- }
134045
- else
134046
- {
134047
- this.HideMinuteChartTooltip();
134048
- }
133974
+ if (!bShowKLineTooltip) this.HideKLineChartTooltip();
133975
+ if (!bShowMinuteTooltip) this.HideMinuteChartTooltip();
133976
+
133977
+ if (bShowMinuteTooltip) this.ShowMinuteChartTooltip(null, null, chartTooltipData);
133978
+ if (bShowKLineTooltip) this.ShowKLineChartTooltip(null, null, chartTooltipData);
133979
+
134049
133980
  }
134050
133981
 
134051
133982
  this.UIOnMounseOut=function(e)
134052
133983
  {
134053
- this.HideMinuteChartTooltip();
134054
- this.HideFloatTooltip();
133984
+ this.HideAllTooltip();
134055
133985
 
134056
133986
  var bDraw=false;
134057
133987
  var tabChart=this.GetTabChart();
@@ -134077,8 +134007,7 @@ function JSReportChartContainer(uielement)
134077
134007
 
134078
134008
  this.UIOnMouseleave=function(e)
134079
134009
  {
134080
- this.HideMinuteChartTooltip();
134081
- this.HideFloatTooltip();
134010
+ this.HideAllTooltip();
134082
134011
 
134083
134012
  var tabChart=this.GetTabChart();
134084
134013
  if (tabChart && tabChart.MoveOnTabIndex>=0)
@@ -134304,7 +134233,7 @@ function JSReportChartContainer(uielement)
134304
134233
  document.onmouseup=null;
134305
134234
 
134306
134235
  this.StopAutoDragScrollTimer();
134307
- this.HideTooltip();
134236
+ this.HideAllTooltip();
134308
134237
  var reportChart=this.GetReportChart();
134309
134238
 
134310
134239
  var mouseStatus={ Cursor:"default", Name:"Default"};; //鼠标状态
@@ -136696,7 +136625,8 @@ function ChartReport()
136696
136625
  if (IFrameSplitOperator.IsNumber(item.FloatPrecision)) colItem.FloatPrecision=item.FloatPrecision; //小数位数
136697
136626
  if (IFrameSplitOperator.IsNumber(item.ColorType)) colItem.ColorType=item.ColorType; //0=默认 1=(>0, =0, <0) 2=(>=0, <0)
136698
136627
  if (item.Icon) colItem.Icon=item.Icon;
136699
- if (IFrameSplitOperator.IsBool(item.EnableChartTooltip)) colItem.EnableChartTooltip=item.EnableChartTooltip;
136628
+ if (IFrameSplitOperator.IsBool(item.EnableChartTooltip)) colItem.ChartTooltip={ Enable:item.EnableChartTooltip, Type:20 };
136629
+ if (item.ChartTooltip) colItem.ChartTooltip={ Enable:item.ChartTooltip.Enable, Type:item.ChartTooltip.Type };
136700
136630
 
136701
136631
  //点击表头弹出菜单
136702
136632
  if (IFrameSplitOperator.IsBool(item.EnablePopupHeaderMenu)) colItem.EnablePopupHeaderMenu=item.EnablePopupHeaderMenu;
@@ -138265,9 +138195,9 @@ function ChartReport()
138265
138195
  var tooltipData={ Rect:rtItem, Stock:stock, Index:index, Column:column, RowType:rowType, Type:drawInfo.Tooltip.Type, Data:drawInfo.Tooltip.Data };
138266
138196
  this.TooltipRect.push(tooltipData);
138267
138197
  }
138268
- else if (column.EnableChartTooltip)
138198
+ else if (column.ChartTooltip && column.ChartTooltip.Enable && IFrameSplitOperator.IsNumber(column.ChartTooltip.Type)) //Type 20分时图 21K线图
138269
138199
  {
138270
- var tooltipData={ Rect:rtItem, Stock:stock, Index:index, Column:column, RowType:rowType, Type:20 };
138200
+ var tooltipData={ Rect:rtItem, Stock:stock, Index:index, Column:column, RowType:rowType, Type:column.ChartTooltip.Type };
138271
138201
  this.TooltipRect.push(tooltipData);
138272
138202
  }
138273
138203
 
@@ -144582,7 +144512,7 @@ function ScrollBarBGChart()
144582
144512
 
144583
144513
 
144584
144514
 
144585
- var HQCHART_VERSION="1.1.14515";
144515
+ var HQCHART_VERSION="1.1.14532";
144586
144516
 
144587
144517
  function PrintHQChartVersion()
144588
144518
  {