hqchart 1.1.12572 → 1.1.12580

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.
@@ -6873,6 +6873,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
6873
6873
  //事件回调
6874
6874
  this.mapEvent=new Map(); //通知外部调用 key:JSCHART_EVENT_ID value:{Callback:回调,}
6875
6875
 
6876
+ this.PhonePinch=null; //手机双指操作信息
6876
6877
  this.IsOnTouch = false; //是否再操作数据
6877
6878
  this.TouchDrawCount = 0; //手势绘制次数
6878
6879
  this.DisableMouse=false; //禁止鼠标事件
@@ -8526,8 +8527,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8526
8527
 
8527
8528
  var touches=this.GetToucheData(e,this.IsForceLandscape);
8528
8529
 
8529
- phonePinch.Start={"X":touches[0].pageX,"Y":touches[0].pageY,"X2":touches[1].pageX,"Y2":touches[1].pageY};
8530
- phonePinch.Last={"X":touches[0].pageX,"Y":touches[0].pageY,"X2":touches[1].pageX,"Y2":touches[1].pageY};
8530
+ phonePinch.Start={X:touches[0].pageX, Y:touches[0].pageY, X2:touches[1].pageX, Y2:touches[1].pageY};
8531
+ phonePinch.Last={X:touches[0].pageX, Y:touches[0].pageY, X2:touches[1].pageX, Y2:touches[1].pageY};
8531
8532
 
8532
8533
  this.PhonePinch=phonePinch;
8533
8534
  this.SelectChartDrawPicture=null;
@@ -8666,6 +8667,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8666
8667
  var phonePinch=this.PhonePinch;
8667
8668
  if (!phonePinch) return;
8668
8669
 
8670
+ phonePinch.Operator=null;
8669
8671
  if (this.EnableZoomUpDown && this.EnableZoomUpDown.Touch===false) return;
8670
8672
 
8671
8673
  var yHeight=Math.abs(touches[0].pageY-touches[1].pageY);
@@ -8685,6 +8687,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8685
8687
  var cursorIndex={ IsLockRight:this.IsZoomLockRight };
8686
8688
  cursorIndex.Index=parseInt(Math.abs(this.CursorIndex-0.5).toFixed(0));
8687
8689
  if (!this.Frame.ZoomUp(cursorIndex)) return;
8690
+ phonePinch.Operator="ZoomUp";
8688
8691
  this.CursorIndex=cursorIndex.Index;
8689
8692
  this.UpdatePointByCursorIndex();
8690
8693
  this.UpdataDataoffset();
@@ -8698,6 +8701,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8698
8701
  var cursorIndex={ IsLockRight:this.IsZoomLockRight };
8699
8702
  cursorIndex.Index=parseInt(Math.abs(this.CursorIndex-0.5).toFixed(0));
8700
8703
  if (!this.Frame.ZoomDown(cursorIndex)) return;
8704
+ phonePinch.Operator="ZoomDown";
8701
8705
  this.CursorIndex=cursorIndex.Index;
8702
8706
  this.UpdataDataoffset();
8703
8707
  this.UpdatePointByCursorIndex();
@@ -8707,7 +8711,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8707
8711
  this.StopDragTimer();
8708
8712
  }
8709
8713
 
8710
- phonePinch.Last={"X":touches[0].pageX,"Y":touches[0].pageY,"X2":touches[1].pageX,"Y2":touches[1].pageY};
8714
+ phonePinch.Last={ X:touches[0].pageX, Y:touches[0].pageY, X2:touches[1].pageX, Y2:touches[1].pageY };
8711
8715
  }
8712
8716
 
8713
8717
  this.PreventTouchEvent(e);
@@ -8755,6 +8759,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8755
8759
  this.TouchEvent({ EventID:JSCHART_EVENT_ID.ON_PHONE_TOUCH, FunctionName:"OnTouchEnd"}, e);
8756
8760
  this.OnTouchFinished();
8757
8761
  this.TouchDrawCount=0;
8762
+ this.PhonePinch=null;
8758
8763
  }
8759
8764
 
8760
8765
  this.OnTouchDBClick=function(points)
@@ -41919,13 +41924,13 @@ function KLineTooltipPaint()
41919
41924
 
41920
41925
  //涨幅
41921
41926
  title=g_JSChartLocalization.GetText('Tooltip-Increase',this.LanguageID);
41922
- if (item.YFClose!=0 && MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol))
41927
+ if (IFrameSplitOperator.IsNumber(item.YFClose) && MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol))
41923
41928
  {
41924
41929
  var value=(item.Close-item.YFClose)/item.YFClose*100;
41925
41930
  color = this.KLineTitlePaint.GetColor(value, 0);
41926
41931
  text = value.toFixed(2)+'%';
41927
41932
  }
41928
- else if (item.YClose!=0)
41933
+ else if (IFrameSplitOperator.IsNumber(item.YClose))
41929
41934
  {
41930
41935
  var value=(item.Close-item.YClose)/item.YClose*100;
41931
41936
  color = this.KLineTitlePaint.GetColor(value, 0);
@@ -51504,9 +51509,22 @@ function HistoryDataStringFormat()
51504
51509
 
51505
51510
  if (data.Title)
51506
51511
  {
51507
- text=`<span class='tooltip-title'>${data.Title}</span>`;
51508
- strHtml+=text;
51509
- ++lineCount;
51512
+ if (Array.isArray(data.Title))
51513
+ {
51514
+ for(var i=0;i<data.Title.length;++i)
51515
+ {
51516
+ var item=data.Title[i];
51517
+ text=`<span class='tooltip-title'>${item}</span>`;
51518
+ strHtml+=text;
51519
+ ++lineCount;
51520
+ }
51521
+ }
51522
+ else
51523
+ {
51524
+ text=`<span class='tooltip-title'>${data.Title}</span>`;
51525
+ strHtml+=text;
51526
+ ++lineCount;
51527
+ }
51510
51528
  }
51511
51529
 
51512
51530
  if (IFrameSplitOperator.IsNonEmptyArray(data.AryText))
@@ -51533,22 +51551,36 @@ function HistoryDataStringFormat()
51533
51551
  var date=new Date(parseInt(data.Date/10000),(data.Date/100%100-1),data.Date%100);
51534
51552
  var strDate=IFrameSplitOperator.FormatDateString(data.Date);
51535
51553
 
51536
- var title2=g_JSChartLocalization.GetText(WEEK_NAME[date.getDay()],this.LanguageID);
51554
+ var title=strDate,value;
51537
51555
  var isTickPeriod=ChartData.IsTickPeriod(this.Value.ChartPaint.Data.Period);
51538
- if (ChartData.IsMinutePeriod(this.Value.ChartPaint.Data.Period,true)) // 分钟周期
51556
+ if (ChartData.IsDayPeriod(this.Value.ChartPaint.Data.Period,true)) //日线
51539
51557
  {
51540
- title2=IFrameSplitOperator.FormatTimeString(data.Time);
51558
+ value=g_JSChartLocalization.GetText(WEEK_NAME[date.getDay()],this.LanguageID);
51559
+ title=`${strDate}&nbsp&nbsp${value}`;
51560
+ }
51561
+ else if (ChartData.IsMinutePeriod(this.Value.ChartPaint.Data.Period,true)) // 分钟周期
51562
+ {
51563
+ value=IFrameSplitOperator.FormatTimeString(data.Time);
51564
+ title=`${strDate}&nbsp&nbsp${value}`;
51541
51565
  }
51542
51566
  else if (ChartData.IsSecondPeriod(this.Value.ChartPaint.Data.Period) || isTickPeriod)
51543
51567
  {
51544
- title2=IFrameSplitOperator.FormatTimeString(data.Time,'HH:MM:SS');
51568
+ value=IFrameSplitOperator.FormatTimeString(data.Time,'HH:MM:SS');
51569
+ title=`${strDate}&nbsp&nbsp${value}`;
51545
51570
  }
51546
51571
  else if (ChartData.IsMilliSecondPeriod(this.Value.ChartPaint.Data.Period))
51547
51572
  {
51548
- title2=IFrameSplitOperator.FormatTimeString(data.Time,'HH:MM:SS.fff');
51573
+ value=IFrameSplitOperator.FormatTimeString(data.Time,'HH:MM:SS.fff');
51574
+ title=
51575
+ [
51576
+ `${strDate}&nbsp&nbsp${g_JSChartLocalization.GetText(WEEK_NAME[date.getDay()],this.LanguageID)}`,
51577
+ value
51578
+ ];
51549
51579
  }
51550
51580
 
51551
- var result={ AryText:null, Title:`${strDate}&nbsp&nbsp${title2}`, Name:null };
51581
+ var result={ AryText:null, Title:title, Name:null };
51582
+
51583
+
51552
51584
  if (isTickPeriod)
51553
51585
  {
51554
51586
  var aryText=
@@ -118739,7 +118771,7 @@ function GetBlackStyle()
118739
118771
  UpTextColor: "rgb(238,21,21)",
118740
118772
  DownTextColor: "rgb(25,158,0)",
118741
118773
  UnchagneTextColor: "rgb(190, 190 ,190)",
118742
- CloseLineColor: 'rgb(178,34,34)',
118774
+ CloseLineColor: 'rgb(250,250,250)',
118743
118775
 
118744
118776
  Title:
118745
118777
  {
@@ -129451,7 +129483,7 @@ function ScrollBarBGChart()
129451
129483
 
129452
129484
 
129453
129485
 
129454
- var HQCHART_VERSION="1.1.12571";
129486
+ var HQCHART_VERSION="1.1.12579";
129455
129487
 
129456
129488
  function PrintHQChartVersion()
129457
129489
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.12571";
8
+ var HQCHART_VERSION="1.1.12579";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -6917,6 +6917,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
6917
6917
  //事件回调
6918
6918
  this.mapEvent=new Map(); //通知外部调用 key:JSCHART_EVENT_ID value:{Callback:回调,}
6919
6919
 
6920
+ this.PhonePinch=null; //手机双指操作信息
6920
6921
  this.IsOnTouch = false; //是否再操作数据
6921
6922
  this.TouchDrawCount = 0; //手势绘制次数
6922
6923
  this.DisableMouse=false; //禁止鼠标事件
@@ -8570,8 +8571,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8570
8571
 
8571
8572
  var touches=this.GetToucheData(e,this.IsForceLandscape);
8572
8573
 
8573
- phonePinch.Start={"X":touches[0].pageX,"Y":touches[0].pageY,"X2":touches[1].pageX,"Y2":touches[1].pageY};
8574
- phonePinch.Last={"X":touches[0].pageX,"Y":touches[0].pageY,"X2":touches[1].pageX,"Y2":touches[1].pageY};
8574
+ phonePinch.Start={X:touches[0].pageX, Y:touches[0].pageY, X2:touches[1].pageX, Y2:touches[1].pageY};
8575
+ phonePinch.Last={X:touches[0].pageX, Y:touches[0].pageY, X2:touches[1].pageX, Y2:touches[1].pageY};
8575
8576
 
8576
8577
  this.PhonePinch=phonePinch;
8577
8578
  this.SelectChartDrawPicture=null;
@@ -8710,6 +8711,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8710
8711
  var phonePinch=this.PhonePinch;
8711
8712
  if (!phonePinch) return;
8712
8713
 
8714
+ phonePinch.Operator=null;
8713
8715
  if (this.EnableZoomUpDown && this.EnableZoomUpDown.Touch===false) return;
8714
8716
 
8715
8717
  var yHeight=Math.abs(touches[0].pageY-touches[1].pageY);
@@ -8729,6 +8731,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8729
8731
  var cursorIndex={ IsLockRight:this.IsZoomLockRight };
8730
8732
  cursorIndex.Index=parseInt(Math.abs(this.CursorIndex-0.5).toFixed(0));
8731
8733
  if (!this.Frame.ZoomUp(cursorIndex)) return;
8734
+ phonePinch.Operator="ZoomUp";
8732
8735
  this.CursorIndex=cursorIndex.Index;
8733
8736
  this.UpdatePointByCursorIndex();
8734
8737
  this.UpdataDataoffset();
@@ -8742,6 +8745,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8742
8745
  var cursorIndex={ IsLockRight:this.IsZoomLockRight };
8743
8746
  cursorIndex.Index=parseInt(Math.abs(this.CursorIndex-0.5).toFixed(0));
8744
8747
  if (!this.Frame.ZoomDown(cursorIndex)) return;
8748
+ phonePinch.Operator="ZoomDown";
8745
8749
  this.CursorIndex=cursorIndex.Index;
8746
8750
  this.UpdataDataoffset();
8747
8751
  this.UpdatePointByCursorIndex();
@@ -8751,7 +8755,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8751
8755
  this.StopDragTimer();
8752
8756
  }
8753
8757
 
8754
- phonePinch.Last={"X":touches[0].pageX,"Y":touches[0].pageY,"X2":touches[1].pageX,"Y2":touches[1].pageY};
8758
+ phonePinch.Last={ X:touches[0].pageX, Y:touches[0].pageY, X2:touches[1].pageX, Y2:touches[1].pageY };
8755
8759
  }
8756
8760
 
8757
8761
  this.PreventTouchEvent(e);
@@ -8799,6 +8803,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
8799
8803
  this.TouchEvent({ EventID:JSCHART_EVENT_ID.ON_PHONE_TOUCH, FunctionName:"OnTouchEnd"}, e);
8800
8804
  this.OnTouchFinished();
8801
8805
  this.TouchDrawCount=0;
8806
+ this.PhonePinch=null;
8802
8807
  }
8803
8808
 
8804
8809
  this.OnTouchDBClick=function(points)
@@ -41963,13 +41968,13 @@ function KLineTooltipPaint()
41963
41968
 
41964
41969
  //涨幅
41965
41970
  title=g_JSChartLocalization.GetText('Tooltip-Increase',this.LanguageID);
41966
- if (item.YFClose!=0 && MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol))
41971
+ if (IFrameSplitOperator.IsNumber(item.YFClose) && MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol))
41967
41972
  {
41968
41973
  var value=(item.Close-item.YFClose)/item.YFClose*100;
41969
41974
  color = this.KLineTitlePaint.GetColor(value, 0);
41970
41975
  text = value.toFixed(2)+'%';
41971
41976
  }
41972
- else if (item.YClose!=0)
41977
+ else if (IFrameSplitOperator.IsNumber(item.YClose))
41973
41978
  {
41974
41979
  var value=(item.Close-item.YClose)/item.YClose*100;
41975
41980
  color = this.KLineTitlePaint.GetColor(value, 0);
@@ -51548,9 +51553,22 @@ function HistoryDataStringFormat()
51548
51553
 
51549
51554
  if (data.Title)
51550
51555
  {
51551
- text=`<span class='tooltip-title'>${data.Title}</span>`;
51552
- strHtml+=text;
51553
- ++lineCount;
51556
+ if (Array.isArray(data.Title))
51557
+ {
51558
+ for(var i=0;i<data.Title.length;++i)
51559
+ {
51560
+ var item=data.Title[i];
51561
+ text=`<span class='tooltip-title'>${item}</span>`;
51562
+ strHtml+=text;
51563
+ ++lineCount;
51564
+ }
51565
+ }
51566
+ else
51567
+ {
51568
+ text=`<span class='tooltip-title'>${data.Title}</span>`;
51569
+ strHtml+=text;
51570
+ ++lineCount;
51571
+ }
51554
51572
  }
51555
51573
 
51556
51574
  if (IFrameSplitOperator.IsNonEmptyArray(data.AryText))
@@ -51577,22 +51595,36 @@ function HistoryDataStringFormat()
51577
51595
  var date=new Date(parseInt(data.Date/10000),(data.Date/100%100-1),data.Date%100);
51578
51596
  var strDate=IFrameSplitOperator.FormatDateString(data.Date);
51579
51597
 
51580
- var title2=g_JSChartLocalization.GetText(WEEK_NAME[date.getDay()],this.LanguageID);
51598
+ var title=strDate,value;
51581
51599
  var isTickPeriod=ChartData.IsTickPeriod(this.Value.ChartPaint.Data.Period);
51582
- if (ChartData.IsMinutePeriod(this.Value.ChartPaint.Data.Period,true)) // 分钟周期
51600
+ if (ChartData.IsDayPeriod(this.Value.ChartPaint.Data.Period,true)) //日线
51583
51601
  {
51584
- title2=IFrameSplitOperator.FormatTimeString(data.Time);
51602
+ value=g_JSChartLocalization.GetText(WEEK_NAME[date.getDay()],this.LanguageID);
51603
+ title=`${strDate}&nbsp&nbsp${value}`;
51604
+ }
51605
+ else if (ChartData.IsMinutePeriod(this.Value.ChartPaint.Data.Period,true)) // 分钟周期
51606
+ {
51607
+ value=IFrameSplitOperator.FormatTimeString(data.Time);
51608
+ title=`${strDate}&nbsp&nbsp${value}`;
51585
51609
  }
51586
51610
  else if (ChartData.IsSecondPeriod(this.Value.ChartPaint.Data.Period) || isTickPeriod)
51587
51611
  {
51588
- title2=IFrameSplitOperator.FormatTimeString(data.Time,'HH:MM:SS');
51612
+ value=IFrameSplitOperator.FormatTimeString(data.Time,'HH:MM:SS');
51613
+ title=`${strDate}&nbsp&nbsp${value}`;
51589
51614
  }
51590
51615
  else if (ChartData.IsMilliSecondPeriod(this.Value.ChartPaint.Data.Period))
51591
51616
  {
51592
- title2=IFrameSplitOperator.FormatTimeString(data.Time,'HH:MM:SS.fff');
51617
+ value=IFrameSplitOperator.FormatTimeString(data.Time,'HH:MM:SS.fff');
51618
+ title=
51619
+ [
51620
+ `${strDate}&nbsp&nbsp${g_JSChartLocalization.GetText(WEEK_NAME[date.getDay()],this.LanguageID)}`,
51621
+ value
51622
+ ];
51593
51623
  }
51594
51624
 
51595
- var result={ AryText:null, Title:`${strDate}&nbsp&nbsp${title2}`, Name:null };
51625
+ var result={ AryText:null, Title:title, Name:null };
51626
+
51627
+
51596
51628
  if (isTickPeriod)
51597
51629
  {
51598
51630
  var aryText=
@@ -118783,7 +118815,7 @@ function GetBlackStyle()
118783
118815
  UpTextColor: "rgb(238,21,21)",
118784
118816
  DownTextColor: "rgb(25,158,0)",
118785
118817
  UnchagneTextColor: "rgb(190, 190 ,190)",
118786
- CloseLineColor: 'rgb(178,34,34)',
118818
+ CloseLineColor: 'rgb(250,250,250)',
118787
118819
 
118788
118820
  Title:
118789
118821
  {
@@ -129604,7 +129636,7 @@ function HQChartScriptWorker()
129604
129636
 
129605
129637
 
129606
129638
 
129607
- var HQCHART_VERSION="1.1.12571";
129639
+ var HQCHART_VERSION="1.1.12579";
129608
129640
 
129609
129641
  function PrintHQChartVersion()
129610
129642
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.12544";
8
+ var HQCHART_VERSION="1.1.12578";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -1517,6 +1517,7 @@ function JSChartContainer(uielement)
1517
1517
 
1518
1518
  this.UpdateUICallback; //数据到达通知前端
1519
1519
  this.IsOnTouch = false; //当前是否正式手势操作
1520
+ this.PhonePinch=null; //双指操作信息
1520
1521
  this.IsFullDraw=false; //是否使用重绘模式 (可能会卡)
1521
1522
 
1522
1523
  this.LanguageID = JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;
@@ -1798,8 +1799,8 @@ function JSChartContainer(uielement)
1798
1799
  {
1799
1800
  var phonePinch = { "Start": {}, "Last": {} };
1800
1801
  var touches = this.GetToucheData(e, jsChart.IsForceLandscape);
1801
- phonePinch.Start = { "X": touches[0].pageX, "Y": touches[0].pageY, "X2": touches[1].pageX, "Y2": touches[1].pageY };
1802
- phonePinch.Last = { "X": touches[0].pageX, "Y": touches[0].pageY, "X2": touches[1].pageX, "Y2": touches[1].pageY };
1802
+ phonePinch.Start = { X: touches[0].pageX, Y: touches[0].pageY, X2: touches[1].pageX, Y2: touches[1].pageY };
1803
+ phonePinch.Last = { X: touches[0].pageX, Y: touches[0].pageY, X2: touches[1].pageX, Y2: touches[1].pageY };
1803
1804
  jsChart.PhonePinch = phonePinch;
1804
1805
  }
1805
1806
  }
@@ -1921,6 +1922,7 @@ function JSChartContainer(uielement)
1921
1922
  var cursorIndex = { IsLockRight:this.IsZoomLockRight };
1922
1923
  cursorIndex.Index = parseInt(Math.abs(jsChart.CursorIndex - 0.5).toFixed(0));
1923
1924
  if (!jsChart.Frame.ZoomUp(cursorIndex)) return;
1925
+ phonePinch.Operator="ZoomUp";
1924
1926
  jsChart.CursorIndex = cursorIndex.Index;
1925
1927
  jsChart.UpdatePointByCursorIndex();
1926
1928
  jsChart.UpdataDataoffset();
@@ -1933,6 +1935,7 @@ function JSChartContainer(uielement)
1933
1935
  var cursorIndex = { IsLockRight:this.IsZoomLockRight };
1934
1936
  cursorIndex.Index = parseInt(Math.abs(jsChart.CursorIndex - 0.5).toFixed(0));
1935
1937
  if (!jsChart.Frame.ZoomDown(cursorIndex)) return;
1938
+ phonePinch.Operator="ZoomDown";
1936
1939
  jsChart.CursorIndex = cursorIndex.Index;
1937
1940
  jsChart.UpdataDataoffset();
1938
1941
  jsChart.UpdatePointByCursorIndex();
@@ -1941,7 +1944,7 @@ function JSChartContainer(uielement)
1941
1944
  jsChart.Draw();
1942
1945
  }
1943
1946
 
1944
- phonePinch.Last = { "X": touches[0].pageX, "Y": touches[0].pageY, "X2": touches[1].pageX, "Y2": touches[1].pageY };
1947
+ phonePinch.Last = { X: touches[0].pageX, Y: touches[0].pageY, X2: touches[1].pageX, Y2: touches[1].pageY };
1945
1948
  }
1946
1949
  }
1947
1950
 
@@ -1968,6 +1971,7 @@ function JSChartContainer(uielement)
1968
1971
  this.TouchEvent({ EventID:JSCHART_EVENT_ID.ON_PHONE_TOUCH, FunctionName:"OnTouchEnd"}, e);
1969
1972
  this.OnTouchFinished();
1970
1973
  this.TouchDrawCount=0;
1974
+ this.PhonePinch=null;
1971
1975
  }
1972
1976
 
1973
1977
  this.OnTouchFinished=function()