hqchart 1.1.14394 → 1.1.14404

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.
@@ -4920,6 +4920,15 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
4920
4920
  }
4921
4921
  }
4922
4922
 
4923
+ if (option.EnableYDrag)
4924
+ {
4925
+ var item=option.EnableYDrag;
4926
+ if (IFrameSplitOperator.IsBool(item.Left)) chart.EnableYDrag.Left=item.Left;
4927
+ if (IFrameSplitOperator.IsBool(item.Right)) chart.EnableYDrag.Right=item.Right;
4928
+ if (IFrameSplitOperator.IsBool(item.Wheel)) chart.EnableYDrag.Wheel=item.Wheel;
4929
+ if (IFrameSplitOperator.IsNumber(item.WheelYMove)) chart.EnableYDrag.WheelYMove=item.WheelYMove;
4930
+ }
4931
+
4923
4932
  //分页
4924
4933
  if (option.PageInfo) chart.SetPageInfo(option.PageInfo);
4925
4934
 
@@ -4995,7 +5004,6 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
4995
5004
  }
4996
5005
  if (item.Height>=0) chart.Frame.SubFrame[i].Height = item.Height;
4997
5006
  if (item.Custom) chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;
4998
- if (item.RightTextFormat>0) chart.Frame.SubFrame[i].Frame.YSplitOperator.RightTextFormat=item.RightTextFormat;
4999
5007
  if (IFrameSplitOperator.IsNumber(item.TitleHeight)) chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;
5000
5008
  if (IFrameSplitOperator.IsNumber(item.BorderLine)) chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;
5001
5009
  if (IFrameSplitOperator.IsBool(item.EnableRemoveZero)) chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;
@@ -5013,6 +5021,15 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5013
5021
 
5014
5022
  if (item.ClientBGColor) subFrame.ClientBGColor=item.ClientBGColor;
5015
5023
  if (!IFrameSplitOperator.IsUndefined(item.HorizontalReserved)) subFrame.HorizontalReserved=item.HorizontalReserved;
5024
+
5025
+ if (i==0)
5026
+ {
5027
+ if (IFrameSplitOperator.IsNumber(item.RightTextFormat))
5028
+ {
5029
+ subFrame.YSplitOperator.RightTextFormat=item.RightTextFormat;
5030
+ if (item.RightTextFormat==2) subFrame.MultiTextFormat=1;
5031
+ }
5032
+ }
5016
5033
  }
5017
5034
 
5018
5035
  chart.UpdateXShowText();
@@ -16405,7 +16422,7 @@ function AverageWidthFrame()
16405
16422
  var item=aryText[i];
16406
16423
  var message=item.Item;
16407
16424
 
16408
- this.Canvas.textBaseline=message.TextBaseline;
16425
+ this.Canvas.textBaseline=item.TextBaseline;
16409
16426
  if (message.ExtendData && message.ExtendData.Font) this.Canvas.font=message.ExtendData.Font;
16410
16427
  else if (message.Font) this.Canvas.font=message.Font;
16411
16428
 
@@ -18028,20 +18045,17 @@ function AverageWidthFrame()
18028
18045
 
18029
18046
  if (Array.isArray(item.Message[1]))
18030
18047
  {
18031
- if (this.MultiTextFormat==1) //显示1行 格式:价格/百分比
18048
+ if (this.MultiTextFormat==1 && IFrameSplitOperator.IsNonEmptyArray(item.Message[1])) //显示1行 格式:价格/百分比
18032
18049
  {
18033
- if (item.ExtendData)
18034
- {
18035
- if (item.ExtendData.Font) this.Canvas.font=item.ExtendData.Font;
18036
- var width1=this.Canvas.measureText(item.Message[1][0]).width;
18037
- var width2=this.Canvas.measureText(item.Message[1][1]).width;
18038
- var width3=this.Canvas.measureText('/').width;
18039
- textWidth=width1+width3;
18040
-
18041
- if (rightExtendWidth<width2) rightExtendWidth=width2;
18050
+ if (item.ExtendData && item.ExtendData.Font) this.Canvas.font=item.ExtendData.Font;
18051
+
18052
+ var width1=this.Canvas.measureText(item.Message[1][0]).width;
18053
+ var width2=this.Canvas.measureText(item.Message[1][1]).width;
18054
+ var width3=this.Canvas.measureText('/').width;
18055
+ textWidth=width1+width3;
18056
+ if (rightExtendWidth<width2) rightExtendWidth=width2;
18042
18057
 
18043
- //JSConsole.Chart.Log(`[ChartData::GetScaleTextWidth] ${item.Message[1][1]}/${item.Message[1][0]} ${textWidth}, ${rightExtendWidth}`);
18044
- }
18058
+ //JSConsole.Chart.Log(`[ChartData::GetScaleTextWidth] ${item.Message[1][1]}/${item.Message[1][0]} ${textWidth}, ${rightExtendWidth}`);
18045
18059
  }
18046
18060
  else if (this.MultiTextFormat==2) //显示2行
18047
18061
  {
@@ -41066,7 +41080,7 @@ function ChartMinutePriceLine()
41066
41080
  if (value==null) continue;
41067
41081
 
41068
41082
  var x=this.ChartFrame.GetXFromIndex(j);
41069
- var y=this.ChartFrame.GetYFromData(value);
41083
+ var y=this.ChartFrame.GetYFromData(value,false);
41070
41084
 
41071
41085
  if (bFirstPoint)
41072
41086
  {
@@ -56303,7 +56317,7 @@ function FrameSplitMinutePriceY()
56303
56317
  this.DefaultSplitType=0;
56304
56318
  this.LimitPrice; //{Max: Min:} 涨跌停价
56305
56319
  this.Custom;
56306
- this.RightTextFormat=0; //右边刻度显示模式 0=百分比 1=价格
56320
+ this.RightTextFormat=0; //右边刻度显示模式 0=百分比 1=价格 2=价格 | 百分比
56307
56321
 
56308
56322
  this.BeforeOpenData;
56309
56323
  this.IsBeforeData=false;
@@ -56319,9 +56333,12 @@ function FrameSplitMinutePriceY()
56319
56333
  this.GlobalOption;
56320
56334
  this.HQChart;
56321
56335
 
56336
+ this.FixedYMaxMin; //{ Max, Min} 固定Y轴最大最小值
56337
+ this.EnableZoomUpDown=false;
56338
+
56322
56339
  this.IsEnableDragY=function()
56323
56340
  {
56324
- return false;
56341
+ return true;
56325
56342
  }
56326
56343
 
56327
56344
  this.Operator=function()
@@ -56330,23 +56347,35 @@ function FrameSplitMinutePriceY()
56330
56347
  this.Frame.CustomHorizontalInfo=[];
56331
56348
  if (!this.Data) return;
56332
56349
 
56333
- var range=this.GetMaxMin();
56350
+ var range=null;
56351
+ var isFixedMaxMin=(this.FixedYMaxMin && IFrameSplitOperator.IsNumber(this.FixedYMaxMin.Max) && IFrameSplitOperator.IsNumber(this.FixedYMaxMin.Min));
56352
+ if (isFixedMaxMin)
56353
+ {
56354
+ range={ Max:this.FixedYMaxMin.Max, Min:this.FixedYMaxMin.Min };
56355
+ JSConsole.Chart.Log(`[FrameSplitMinutePriceY::Operator] FixedYMaxMin.Max=${this.FixedYMaxMin.Max} FixedYMaxMin.Min=${this.FixedYMaxMin.Min} `);
56356
+ }
56357
+ else
56358
+ {
56359
+ range=this.GetMaxMin();
56360
+ }
56334
56361
 
56335
56362
  if (this.Symbol && MARKET_SUFFIX_NAME.IsUSA(this.Symbol.toUpperCase()))
56336
56363
  {
56337
- this.USASplit(range);
56364
+ this.USASplit(range,isFixedMaxMin);
56338
56365
  }
56339
56366
  else if (this.SplitType==2)
56340
56367
  {
56341
- this.USASplit(range);
56368
+ this.USASplit(range,isFixedMaxMin);
56342
56369
  }
56343
56370
  else
56344
56371
  {
56345
- this.DefaultSplit(range);
56372
+ this.DefaultSplit(range,isFixedMaxMin);
56346
56373
  }
56347
56374
 
56348
56375
  this.CustomCoordinate();
56349
56376
 
56377
+ if (this.EnableZoomUpDown==true && !this.FixedYMaxMin) this.FixedYMaxMin={ Max:range.Max, Min:range.Min };
56378
+
56350
56379
  this.ReservedHeight({ Max:this.Frame.HorizontalMax, Min:this.Frame.HorizontalMin }); //预留高度
56351
56380
 
56352
56381
  if (this.GetEventCallback)
@@ -56742,10 +56771,21 @@ function FrameSplitMinutePriceY()
56742
56771
  var per=(price/this.YClose-1)*100;
56743
56772
  if (per>0) coordinate.TextColor=g_JSChartResource.UpTextColor;
56744
56773
  else if (per<0) coordinate.TextColor=g_JSChartResource.DownTextColor;
56774
+ var strPer=IFrameSplitOperator.FormatValueString(per,2)+'%';
56745
56775
  if (this.IsShowRightText)
56746
56776
  {
56747
- if (this.RightTextFormat==1) coordinate.Message[1]=strPrice;
56748
- else coordinate.Message[1]=IFrameSplitOperator.FormatValueString(per,2)+'%'; //百分比
56777
+ if (this.RightTextFormat==1)
56778
+ {
56779
+ coordinate.Message[1]=strPrice;
56780
+ }
56781
+ else if (this.RightTextFormat==2) //价格/百分比
56782
+ {
56783
+ coordinate.Message[1]=[strPrice,strPer];
56784
+ }
56785
+ else
56786
+ {
56787
+ coordinate.Message[1]=strPer; //百分比
56788
+ }
56749
56789
  }
56750
56790
  }
56751
56791
 
@@ -56777,22 +56817,25 @@ function FrameSplitMinutePriceY()
56777
56817
  this.Frame.HorizontalMin=min;
56778
56818
  }
56779
56819
 
56780
- this.DefaultSplit=function(range)
56820
+ this.DefaultSplit=function(range,isFixedMaxMin)
56781
56821
  {
56782
56822
  var max=range.Max;
56783
56823
  var min=range.Min;
56784
56824
 
56785
- if (this.YClose==max && this.YClose==min)
56786
- {
56787
- max=this.YClose+this.YClose*0.1;
56788
- min=this.YClose-this.YClose*0.1
56789
- }
56790
- else
56825
+ if (!isFixedMaxMin)
56791
56826
  {
56792
- var distanceValue=Math.max(Math.abs(this.YClose-max),Math.abs(this.YClose-min));
56793
- max=this.YClose+distanceValue;
56794
- min=this.YClose-distanceValue;
56795
- if (min<0) min=range.Min;
56827
+ if (this.YClose==max && this.YClose==min)
56828
+ {
56829
+ max=this.YClose+this.YClose*0.1;
56830
+ min=this.YClose-this.YClose*0.1
56831
+ }
56832
+ else
56833
+ {
56834
+ var distanceValue=Math.max(Math.abs(this.YClose-max),Math.abs(this.YClose-min));
56835
+ max=this.YClose+distanceValue;
56836
+ min=this.YClose-distanceValue;
56837
+ if (min<0) min=range.Min;
56838
+ }
56796
56839
  }
56797
56840
 
56798
56841
  var pixelTatio = GetDevicePixelRatio(); //获取设备的分辨率
@@ -56805,7 +56848,7 @@ function FrameSplitMinutePriceY()
56805
56848
  const minDistance=[1, 0.1, 0.01, 0.001, 0.0001];
56806
56849
  var defaultfloatPrecision=GetfloatPrecision(this.Symbol);
56807
56850
  if (isPhoneModel && MARKET_SUFFIX_NAME.IsSHSZIndex(this.Symbol)) defaultfloatPrecision = 0; //手机端指数不显示小数位数,太长了
56808
- if (distance<minDistance[defaultfloatPrecision])
56851
+ if (distance<minDistance[defaultfloatPrecision] && !isFixedMaxMin)
56809
56852
  {
56810
56853
  distance=minDistance[defaultfloatPrecision];
56811
56854
  max=this.YClose+(distance*(showCount-1)/2);
@@ -56826,11 +56869,21 @@ function FrameSplitMinutePriceY()
56826
56869
  var per=(price/this.YClose-1)*100;
56827
56870
  if (per>0) coordinate.TextColor=g_JSChartResource.UpTextColor;
56828
56871
  else if (per<0) coordinate.TextColor=g_JSChartResource.DownTextColor;
56829
-
56872
+ var strPer=`${IFrameSplitOperator.FormatValueString(per,2)}%`;
56830
56873
  if (this.IsShowRightText)
56831
56874
  {
56832
- if (this.RightTextFormat==1) coordinate.Message[1]=strPrice;
56833
- else coordinate.Message[1]=IFrameSplitOperator.FormatValueString(per,2)+'%'; //百分比
56875
+ if (this.RightTextFormat==1)
56876
+ {
56877
+ coordinate.Message[1]=strPrice;
56878
+ }
56879
+ else if (this.RightTextFormat==2) //价格/百分比
56880
+ {
56881
+ coordinate.Message[1]=[strPer,strPrice];
56882
+ }
56883
+ else
56884
+ {
56885
+ coordinate.Message[1]=strPer; //百分比
56886
+ }
56834
56887
  }
56835
56888
 
56836
56889
  if (Math.abs(price-this.YClose) <0.00000000001) //小数有精度问题 使用差值
@@ -87544,14 +87597,30 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
87544
87597
  var moveSetp=moveData.X;
87545
87598
  var yMoveSetp=moveData.Y;
87546
87599
 
87547
- if (this.RectSelectDrag && this.RectSelectDrag.Index>=0) //区间选择
87600
+ var bNeedDraw=true;
87601
+ if (this.UpDownDrag && this.UpDownDrag.Index>=0)
87602
+ {
87603
+ if (yMoveSetp>=5)
87604
+ {
87605
+ var yMove=e.clientY-drag.LastMove.Y;
87606
+ JSConsole.Chart.Log("[MinuteChartContainer::OnDragMode_One] UpDownDrag ",this.UpDownDrag,yMove);
87607
+ //this.UIElement.style.cursor="pointer";
87608
+ this.SetCursor({Cursor:"pointer"});
87609
+ if (this.OnUpDonwFrameY(this.UpDownDrag, yMove))
87610
+ {
87611
+ drag.LastMove.Y=e.clientY;
87612
+ bNeedDraw=true;
87613
+ }
87614
+ }
87615
+ }
87616
+ else if (this.RectSelectDrag && this.RectSelectDrag.Index>=0) //区间选择
87548
87617
  {
87549
87618
  if (moveSetp<5) return;
87550
87619
  var obj={ X:e.clientX, Y:e.clientY, PointIndex:this.RectSelectDrag.Index, Name:"MoveRectSelectLine" };
87551
87620
  if (this.MoveRectSelectPoint(obj))
87552
87621
  {
87553
87622
  drag.LastMove.X=e.clientX;
87554
- this.Draw();
87623
+ bNeedDraw=true;
87555
87624
  }
87556
87625
  }
87557
87626
  else
@@ -87569,6 +87638,8 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
87569
87638
  drag.LastMove.X=e.clientX;
87570
87639
  drag.LastMove.Y=e.clientY;
87571
87640
  }
87641
+
87642
+ if (bNeedDraw) this.Draw();
87572
87643
  }
87573
87644
 
87574
87645
  this.OnMinuteSelectRectMouseUp=function(e)
@@ -87586,8 +87657,12 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
87586
87657
  selectData.YEnd=(drag.LastMove.Y-uielement.getBoundingClientRect().top)*pixelTatio;
87587
87658
  selectData.JSChartContainer=this;
87588
87659
  selectData.Stock={Symbol:this.Symbol, Name:this.Name};
87660
+
87661
+ if (this.UpDownDrag)
87662
+ {
87589
87663
 
87590
- if (this.EnableSelectRect && !this.BorderDrag && this.GetSelectRectData(selectData))
87664
+ }
87665
+ else if (this.EnableSelectRect && !this.BorderDrag && this.GetSelectRectData(selectData))
87591
87666
  {
87592
87667
  var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_SELECT_RECT);
87593
87668
  var paint=this.GetRectSelectPaint();
@@ -87958,25 +88033,83 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
87958
88033
  }
87959
88034
  }
87960
88035
 
88036
+
88037
+ this.GetDataIndexByDatTime=function(date, time)
88038
+ {
88039
+ var result={ DayIndex:-1, DataIndex:-1, Index:-1 };
88040
+ var frame=this.Frame.SubFrame[0].Frame;
88041
+ var minCount=frame.MinuteCount; //每天的分钟个数
88042
+ var kData=this.GetKData();
88043
+ for(var i=0;i<kData.Data.length;++i)
88044
+ {
88045
+ var minItem=kData.Data[i];
88046
+ if (!minItem) continue;
88047
+
88048
+ if (minItem.Date==date && minItem.Time==time)
88049
+ {
88050
+ result.Index=i;
88051
+ result.DayIndex=parseInt(i/minCount);
88052
+ result.DataIndex=i%minCount;
88053
+ break;
88054
+ }
88055
+ }
88056
+
88057
+ return result;
88058
+ }
88059
+
88060
+ //获取十字光标位置 通过日期和时间 目前只支持连续交易时间段
88061
+ this.GetCorssCursorIndexByDateTime=function(date, time)
88062
+ {
88063
+ var border=this.Frame.ChartBorder.GetBorder();
88064
+
88065
+ if (border.DayBorder) //多日分时主图+多日集合竞价
88066
+ {
88067
+ var corssCursorIndex=this.GetDataIndexByDatTime(date, time);
88068
+ corssCursorIndex.Type=10;
88069
+ }
88070
+ else //单日,多日
88071
+ {
88072
+ var corssCursorIndex=this.GetDataIndexByDatTime(date, time);
88073
+ corssCursorIndex.Type=1;
88074
+ corssCursorIndex.DayIndex=0;
88075
+ corssCursorIndex.DataIndex=corssCursorIndex.Index;
88076
+ }
88077
+
88078
+ return corssCursorIndex;
88079
+ }
88080
+
87961
88081
  this.LockCorssCursor=function(option)
87962
88082
  {
87963
88083
  var xItem=this.GlobalOption.LockCorssCursor.X;
88084
+
88085
+ var corssCursorIndex={ DayIndex:-1, DataIndex:-1, Type:-1, Index:this.CursorIndex };
88086
+ if (this.EnableNewIndex)
88087
+ {
88088
+ corssCursorIndex.Type=this.CorssCursorIndex.Type;
88089
+ corssCursorIndex.DayIndex=this.CorssCursorIndex.DayIndex;
88090
+ corssCursorIndex.DataIndex=this.CorssCursorIndex.DataIndex;
88091
+ }
88092
+
88093
+ if (option && option.KItem) //指定日期时间
88094
+ {
88095
+ corssCursorIndex=this.GetCorssCursorIndexByDateTime(option.KItem.Date, option.KItem.Time);
88096
+ }
87964
88097
 
87965
88098
  if (this.EnableNewIndex)
87966
88099
  {
87967
- if (this.CorssCursorIndex.Type!=1 && this.CorssCursorIndex.Type!=10) return false; //目前只支持连续交易时间段
88100
+ if (corssCursorIndex.Type!=1 && corssCursorIndex.Type!=10) return false; //目前只支持连续交易时间段
87968
88101
 
87969
88102
  xItem.Minute=
87970
88103
  {
87971
- DayIndex:this.CorssCursorIndex.DayIndex,
87972
- DataIndex:this.CorssCursorIndex.DataIndex,
87973
- Type:this.CorssCursorIndex.Type,
87974
- CursorIndex:this.CursorIndex,
88104
+ DayIndex:corssCursorIndex.DayIndex,
88105
+ DataIndex:corssCursorIndex.DataIndex,
88106
+ Type:corssCursorIndex.Type,
88107
+ CursorIndex:corssCursorIndex.Index,
87975
88108
  };
87976
88109
  }
87977
88110
  else
87978
88111
  {
87979
- xItem.Minute={ CursorIndex:this.CursorIndex };
88112
+ xItem.Minute={ CursorIndex:corssCursorIndex.Index };
87980
88113
  }
87981
88114
 
87982
88115
  xItem.Enable=true;
@@ -88052,12 +88185,16 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
88052
88185
  var x=null;
88053
88186
  var dayIndex=corssCursorIndex.DayIndex;
88054
88187
  var dataIndex=corssCursorIndex.DataIndex;
88055
- switch(corssCursorIndex.Type) //单日 1=主图 2=盘前 3=盘后 //多日 10=主图 20=盘前 30=盘后
88188
+ var frame=this.Frame.SubFrame[0].Frame;
88189
+ switch(corssCursorIndex.Type) //单日,多日 1=主图 2=盘前 3=盘后 //多日+多日集合竞价 10=主图 20=盘前 30=盘后
88056
88190
  {
88057
- case 1: //单日 1=主图
88058
- case 10: //多日 10=主图
88191
+ case 1: //单日,多日 1=主图
88059
88192
  x=this.Frame.GetXFromIndex(dataIndex)
88060
88193
  break;
88194
+ case 10: //多日+多日集合竞价 10=主图
88195
+ var cursorIndex=frame.MinuteCount*dayIndex+dataIndex;
88196
+ x=this.Frame.GetXFromIndex(cursorIndex);
88197
+ break;
88061
88198
  /*
88062
88199
  case 2: //单日 2=盘前
88063
88200
  x=this.Frame.SubFrame[0].Frame.GetLeftExtendXFromIndex(dataIndex,this.GetBeforeOpenData());
@@ -88855,6 +88992,17 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
88855
88992
  var bShowCorss=false; //十字光标十字线
88856
88993
  if (this.ChartCorssCursor) bShowCorss=this.ChartCorssCursor.IsShowCorss;
88857
88994
 
88995
+ var minItem=null;
88996
+ if (frameID>=0 && option && IFrameSplitOperator.IsNumber(option.CursorIndex))
88997
+ {
88998
+ var kData=this.GetKData();
88999
+ if (kData && IFrameSplitOperator.IsNonEmptyArray(kData.Data))
89000
+ {
89001
+ var dataIndex=kData.DataOffset+parseInt(option.CursorIndex.toFixed(0));
89002
+ if (dataIndex>=0 && dataIndex<kData.Data.length) minItem=kData.Data[dataIndex];
89003
+ }
89004
+ }
89005
+
88858
89006
  var aryMenu=
88859
89007
  [
88860
89008
  {
@@ -88986,7 +89134,14 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
88986
89134
  }
88987
89135
  else if (item.Name=="其他设置")
88988
89136
  {
88989
-
89137
+ if (minItem)
89138
+ {
89139
+ var bLocked=this.IsLockCorssCursor();
89140
+ if (bLocked)
89141
+ item.SubMenu.push({ Name:"锁十字光标", Data:{ ID: JSCHART_MENU_ID.CMD_UNLOCK_CROSSCURSOR }, Checked:bLocked });
89142
+ else
89143
+ item.SubMenu.push({ Name:"锁十字光标", Data:{ ID: JSCHART_MENU_ID.CMD_LOCK_CROSSCURSOR, Args:[{ KItem:{Date:minItem.Date, Time:minItem.Time}, Draw:true }] }, Checked:bLocked });
89144
+ }
88990
89145
  }
88991
89146
  }
88992
89147
 
@@ -89002,6 +89157,18 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
89002
89157
  {
89003
89158
  JSConsole.Chart.Log("[MinuteChartContainer::OnDoubleClick]", e);
89004
89159
 
89160
+ if (this.EnableYDrag && (this.EnableYDrag.Left || this.EnableYDrag.Right) && this.Frame && this.Frame.PtInFrameY)
89161
+ {
89162
+ var pixelTatio = GetDevicePixelRatio();
89163
+ var x = (e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;
89164
+ var y = (e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
89165
+ var dragY=this.Frame.PtInFrameY(x,y);
89166
+ if (dragY && dragY.Index>=0)
89167
+ {
89168
+ this.CancelZoomUpDownFrameY(dragY);
89169
+ }
89170
+ }
89171
+
89005
89172
  if (this.ClickChartTimer!=null)
89006
89173
  {
89007
89174
  clearTimeout(this.ClickChartTimer);
@@ -152986,7 +153153,7 @@ function HQChartScriptWorker()
152986
153153
 
152987
153154
 
152988
153155
 
152989
- var HQCHART_VERSION="1.1.14393";
153156
+ var HQCHART_VERSION="1.1.14403";
152990
153157
 
152991
153158
  function PrintHQChartVersion()
152992
153159
  {