hqchart 1.1.12778 → 1.1.12782

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.
@@ -4309,7 +4309,7 @@ if(IFrameSplitOperator.IsNumber(data.ItemSpace))itemSpace=data.ItemSpace;if(IFra
4309
4309
  var svgItem=item.SVG;if(IFrameSplitOperator.IsNumber(svgItem.YOffset))y+=svgItem.YOffset;if(this.AutoPosition){var pt={X:x,Y:y};this.CalculateShowPosition(item,pt);//重新计算位置
4310
4310
  x=pt.X;y=pt.Y;}var fontSVG=svgItem.Size+'px '+this.Family;this.Canvas.font=fontSVG;var halfSize=svgItem.Size/2;var textBaseline='bottom';var rtSVG={Left:x-halfSize,Right:x+halfSize,Top:y-svgItem.Size,Bottom:y,Height:svgItem.Size,Width:svgItem.Size};if(svgItem.VAlign===0){textBaseline="top";rtSVG.Top=y;rtSVG.Bottom=rtSVG.Top+svgItem.Size;}else if(svgItem.VAlign===1){textBaseline='middle';rtSVG.Top=y-svgItem.Size/2;rtSVG.Bottom=rtSVG.Top+svgItem.Size;}if(rtSVG.Top<0){rtSVG.Top=0;rtSVG.Bottom=svgItem.Size;y=rtSVG.Bottom;}this.Canvas.textBaseline=textBaseline;this.Canvas.textAlign='center';this.Canvas.fillStyle=svgItem.Color;this.Canvas.fillText(svgItem.Symbol,x,y);this.AryDrawRect.push({Left:rtSVG.Left,Top:rtSVG.Top,Right:rtSVG.Right,Bottom:rtSVG.Bottom,Type:"SVG",Data:item});if(this.EnableTooltip)this.TooltipRect.push({Rect:rtSVG,Index:i});//文字
4311
4311
  if(item.Text&&item.Text.Content&&this.TextFont){var textItem=item.Text;this.Canvas.font=this.TextFont;this.Canvas.fillStyle=textItem.Color;var yText=y;if(IFrameSplitOperator.IsNumber(textItem.YOffset))yText+=textItem.YOffset;this.Canvas.fillText(textItem.Content,x,yText);}if(item.Detail){this.DrawDetail(rtSVG,item.Detail,item);}//连线
4312
- if(item.Line){var lineItem=item.Line;var price;var kItem=this.Data.Data[item.Index];switch(lineItem.Value){case"C":price=kItem.Close;break;case"H":price=kItem.High;break;case"L":price=kItem.Low;break;}if(!IFrameSplitOperator.IsNumber(price))continue;var yPrice=this.ChartFrame.GetYFromData(price);if(yPrice>=rtSVG.Top&&yPrice<=rtSVG.Bottom)continue;var yText;if(yPrice<rtSVG.Top){yText=rtSVG.Top;if(IFrameSplitOperator.IsNumber(lineItem.SVGBlank)){//yPrice+=lineItem.Blank;
4312
+ if(item.Line){var lineItem=item.Line;var price=null,yPrice=null;var kItem=this.Data.Data[item.Index];if(lineItem.Value=="Bottom"){yPrice=bottom;}else if(lineItem.Value=="Top"){yPrice=top;}else{switch(lineItem.Value){case"C":price=kItem.Close;break;case"H":price=kItem.High;break;case"L":price=kItem.Low;break;}if(!IFrameSplitOperator.IsNumber(price))continue;yPrice=this.ChartFrame.GetYFromData(price);}if(yPrice>=rtSVG.Top&&yPrice<=rtSVG.Bottom)continue;var yText;if(yPrice<rtSVG.Top){yText=rtSVG.Top;if(IFrameSplitOperator.IsNumber(lineItem.SVGBlank)){//yPrice+=lineItem.Blank;
4313
4313
  yText-=lineItem.SVGBlank;}}else{yText=rtSVG.Bottom;if(IFrameSplitOperator.IsNumber(lineItem.SVGBlank)){//yPrice-=lineItem.Blank;
4314
4314
  yText+=lineItem.SVGBlank;}}if(lineItem.Dash)this.Canvas.setLineDash(lineItem.Dash);//虚线
4315
4315
  var lineWidth=1*pixelRatio;if(lineItem.Width>0)lineWidth=lineItem.Width*pixelRatio;this.Canvas.lineWidth=lineWidth;//线宽
@@ -7949,8 +7949,9 @@ else paint.Color=g_JSChartResource.OverlaySymbol.Color[g_JSChartResource.Overlay
7949
7949
  if(paint.SetOption)paint.SetOption(item);this.OverlayChartPaint.push(paint);}}}if(!symbol||this.DayCount<=0){this.DrawEmpty();}else{this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);this.ChartSplashPaint.EnableSplash(true);//增加下载动画
7950
7950
  this.Draw();this.RequestData();}};this.SetPageInfo=function(pageInfo){if(!pageInfo)return;if(IFrameSplitOperator.IsBool(pageInfo.Enable))this.PageInfo.Enable=pageInfo.Enable;if(IFrameSplitOperator.IsNumber(pageInfo.Offset))this.PageInfo.Offset=pageInfo.Offset;if(IFrameSplitOperator.IsNumber(pageInfo.ShowDayCount))this.PageInfo.ShowDayCount=pageInfo.ShowDayCount;};this.ClearMinuteData=function(){this.SourceData=null;this.DayData=null;this.BeforeOpenData=null;this.AfterCloseData=null;this.MultiDayBeforeOpenData=null;this.MultiDayAfterCloseData=null;};this.ChangeDayCount=function(count,option){if(count<0)return;this.StopDisplayLatest();this.CancelAutoUpdate();this.AutoUpdateEvent(false,"MinuteChartContainer::ChangeDayCount");this.DayCount=count;this.ClearMinuteData();if(option&&option.PageInfo){this.SetPageInfo(option.PageInfo);this.ResetDayOffset();}if(this.DayCount>1){this.ChartDrawPicture=[];}else{this.ReloadChartDrawPicture();}this.ResetDataStatus();this.ClearIndexPaint();//清空指标
7951
7951
  this.Frame.ClearYCoordinateMaxMin();this.ResetOverlaySymbolStatus();this.RequestData();};//[{ Symbol: , Color, Option: }]
7952
- this.OverlaySymbols=function(aryData){var aryNewOverlay=[];for(var i=0,j=0;i<aryData.length;++i)//去重,已经叠加过的不用在叠加
7953
- {var overlayItem=aryData[i];var strSymbol=overlayItem.Symbol;var bFind=false;for(j=0;j<this.OverlayChartPaint.length;++j){var item=this.OverlayChartPaint[j];if(item.Symbol==strSymbol){bFind=true;console.warn('[MinuteChartContainer::OverlaySymbols] overlay symbol='+strSymbol+' exist.');break;}}if(!bFind)aryNewOverlay.push(overlayItem);}if(!IFrameSplitOperator.IsNonEmptyArray(aryNewOverlay))return true;for(var i=0;i<aryNewSymbol.length;++i){var overlayItem=aryNewSymbol[i];var strSymbol=overlayItem.Symbol;var paint=new ChartOverlayMinutePriceLine();paint.Canvas=this.Canvas;paint.ChartBorder=this.Frame.SubFrame[0].Frame.ChartBorder;paint.ChartFrame=this.Frame.SubFrame[0].Frame;paint.Name="Overlay-Minute";paint.Symbol=strSymbol;paint.Identify='Overlay-Minute-'+strSymbol;if(overlayItem.Option&&overlayItem.Option.Color)paint.Color=overlayItem.Option.Color;//外部设置颜色
7952
+ this.OverlaySymbols=function(aryData,option){if(option&&option.ClearAll===true)//全部清空
7953
+ {for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];item.IsDelete=true;}this.OverlayChartPaint=[];}var aryNewOverlay=[];for(var i=0,j=0;i<aryData.length;++i)//去重,已经叠加过的不用在叠加
7954
+ {var overlayItem=aryData[i];var strSymbol=overlayItem.Symbol;var bFind=false;for(j=0;j<this.OverlayChartPaint.length;++j){var item=this.OverlayChartPaint[j];if(item.Symbol==strSymbol){bFind=true;console.warn('[MinuteChartContainer::OverlaySymbols] overlay symbol='+strSymbol+' exist.');break;}}if(!bFind)aryNewOverlay.push(overlayItem);}if(!IFrameSplitOperator.IsNonEmptyArray(aryNewOverlay))return true;for(var i=0;i<aryNewOverlay.length;++i){var overlayItem=aryNewOverlay[i];var strSymbol=overlayItem.Symbol;var paint=new ChartOverlayMinutePriceLine();paint.Canvas=this.Canvas;paint.ChartBorder=this.Frame.SubFrame[0].Frame.ChartBorder;paint.ChartFrame=this.Frame.SubFrame[0].Frame;paint.Name="Overlay-Minute";paint.Symbol=strSymbol;paint.Identify='Overlay-Minute-'+strSymbol;if(overlayItem.Option&&overlayItem.Option.Color)paint.Color=overlayItem.Option.Color;//外部设置颜色
7954
7955
  else paint.Color=g_JSChartResource.OverlaySymbol.Color[g_JSChartResource.OverlaySymbol.Random%g_JSChartResource.OverlaySymbol.Color.length];++g_JSChartResource.OverlaySymbol.Random;paint.MainData=this.SourceData;//绑定主图数据
7955
7956
  if(paint.SetOption)paint.SetOption(overlayItem.Option);this.OverlayChartPaint.push(paint);}if(this.DayCount<=1)this.RequestOverlayMinuteData();//请求数据
7956
7957
  else this.RequestOverlayHistoryMinuteData();return true;};//叠加股票 symbol支持数据 ["600000.sh", "0000001.sz"]
@@ -12927,7 +12928,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
12927
12928
  this.ExecuteScript(item,data);}this.Status=0;}};this.OnExecuteFinish=function(data,indexInfo,jsExectute,jobInfo){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT,JobInfo:jobInfo};postMessage(message);};this.OnExecuteError=function(error,indexInfo,jobData){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
12928
12929
  * 版本信息输出
12929
12930
  *
12930
- */var HQCHART_VERSION="1.1.12777";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
12931
+ */var HQCHART_VERSION="1.1.12781";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
12931
12932
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
12932
12933
  // BaseIndex:BaseIndex,
12933
12934
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.12778",
3
+ "version": "1.1.12782",
4
4
  "description": "stock chart",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -36692,24 +36692,36 @@ function ChartDrawSVG()
36692
36692
  if (item.Line)
36693
36693
  {
36694
36694
  var lineItem=item.Line;
36695
- var price;
36695
+ var price=null, yPrice=null;
36696
36696
  var kItem=this.Data.Data[item.Index];
36697
- switch(lineItem.Value)
36697
+ if (lineItem.Value=="Bottom")
36698
36698
  {
36699
- case "C":
36700
- price=kItem.Close;
36701
- break;
36702
- case "H":
36703
- price=kItem.High;
36704
- break;
36705
- case "L":
36706
- price=kItem.Low;
36707
- break;
36699
+ yPrice=bottom;
36700
+ }
36701
+ else if (lineItem.Value=="Top")
36702
+ {
36703
+ yPrice=top;
36704
+ }
36705
+ else
36706
+ {
36707
+ switch(lineItem.Value)
36708
+ {
36709
+ case "C":
36710
+ price=kItem.Close;
36711
+ break;
36712
+ case "H":
36713
+ price=kItem.High;
36714
+ break;
36715
+ case "L":
36716
+ price=kItem.Low;
36717
+ break;
36718
+ }
36719
+
36720
+ if (!IFrameSplitOperator.IsNumber(price)) continue;
36721
+
36722
+ yPrice=this.ChartFrame.GetYFromData(price);
36708
36723
  }
36709
-
36710
- if (!IFrameSplitOperator.IsNumber(price)) continue;
36711
36724
 
36712
- var yPrice=this.ChartFrame.GetYFromData(price);
36713
36725
  if (yPrice>=rtSVG.Top && yPrice<=rtSVG.Bottom) continue;
36714
36726
 
36715
36727
  var yText;
@@ -75203,8 +75215,18 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
75203
75215
  }
75204
75216
 
75205
75217
  //[{ Symbol: , Color, Option: }]
75206
- this.OverlaySymbols=function(aryData)
75218
+ this.OverlaySymbols=function(aryData, option)
75207
75219
  {
75220
+ if (option && option.ClearAll===true) //全部清空
75221
+ {
75222
+ for(var i=0; i<this.OverlayChartPaint.length; ++i)
75223
+ {
75224
+ var item=this.OverlayChartPaint[i];
75225
+ item.IsDelete=true;
75226
+ }
75227
+ this.OverlayChartPaint=[];
75228
+ }
75229
+
75208
75230
  var aryNewOverlay=[];
75209
75231
  for(var i=0, j=0;i<aryData.length;++i) //去重,已经叠加过的不用在叠加
75210
75232
  {
@@ -75227,9 +75249,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
75227
75249
 
75228
75250
  if (!IFrameSplitOperator.IsNonEmptyArray(aryNewOverlay)) return true;
75229
75251
 
75230
- for(var i=0;i<aryNewSymbol.length;++i)
75252
+ for(var i=0;i<aryNewOverlay.length;++i)
75231
75253
  {
75232
- var overlayItem=aryNewSymbol[i];
75254
+ var overlayItem=aryNewOverlay[i];
75233
75255
  var strSymbol=overlayItem.Symbol;
75234
75256
  var paint=new ChartOverlayMinutePriceLine();
75235
75257
  paint.Canvas=this.Canvas;
@@ -40836,24 +40836,36 @@ function ChartDrawSVG()
40836
40836
  if (item.Line)
40837
40837
  {
40838
40838
  var lineItem=item.Line;
40839
- var price;
40839
+ var price=null, yPrice=null;
40840
40840
  var kItem=this.Data.Data[item.Index];
40841
- switch(lineItem.Value)
40841
+ if (lineItem.Value=="Bottom")
40842
40842
  {
40843
- case "C":
40844
- price=kItem.Close;
40845
- break;
40846
- case "H":
40847
- price=kItem.High;
40848
- break;
40849
- case "L":
40850
- price=kItem.Low;
40851
- break;
40843
+ yPrice=bottom;
40844
+ }
40845
+ else if (lineItem.Value=="Top")
40846
+ {
40847
+ yPrice=top;
40848
+ }
40849
+ else
40850
+ {
40851
+ switch(lineItem.Value)
40852
+ {
40853
+ case "C":
40854
+ price=kItem.Close;
40855
+ break;
40856
+ case "H":
40857
+ price=kItem.High;
40858
+ break;
40859
+ case "L":
40860
+ price=kItem.Low;
40861
+ break;
40862
+ }
40863
+
40864
+ if (!IFrameSplitOperator.IsNumber(price)) continue;
40865
+
40866
+ yPrice=this.ChartFrame.GetYFromData(price);
40852
40867
  }
40853
-
40854
- if (!IFrameSplitOperator.IsNumber(price)) continue;
40855
40868
 
40856
- var yPrice=this.ChartFrame.GetYFromData(price);
40857
40869
  if (yPrice>=rtSVG.Top && yPrice<=rtSVG.Bottom) continue;
40858
40870
 
40859
40871
  var yText;
@@ -79347,8 +79359,18 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
79347
79359
  }
79348
79360
 
79349
79361
  //[{ Symbol: , Color, Option: }]
79350
- this.OverlaySymbols=function(aryData)
79362
+ this.OverlaySymbols=function(aryData, option)
79351
79363
  {
79364
+ if (option && option.ClearAll===true) //全部清空
79365
+ {
79366
+ for(var i=0; i<this.OverlayChartPaint.length; ++i)
79367
+ {
79368
+ var item=this.OverlayChartPaint[i];
79369
+ item.IsDelete=true;
79370
+ }
79371
+ this.OverlayChartPaint=[];
79372
+ }
79373
+
79352
79374
  var aryNewOverlay=[];
79353
79375
  for(var i=0, j=0;i<aryData.length;++i) //去重,已经叠加过的不用在叠加
79354
79376
  {
@@ -79371,9 +79393,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
79371
79393
 
79372
79394
  if (!IFrameSplitOperator.IsNonEmptyArray(aryNewOverlay)) return true;
79373
79395
 
79374
- for(var i=0;i<aryNewSymbol.length;++i)
79396
+ for(var i=0;i<aryNewOverlay.length;++i)
79375
79397
  {
79376
- var overlayItem=aryNewSymbol[i];
79398
+ var overlayItem=aryNewOverlay[i];
79377
79399
  var strSymbol=overlayItem.Symbol;
79378
79400
  var paint=new ChartOverlayMinutePriceLine();
79379
79401
  paint.Canvas=this.Canvas;
@@ -131377,7 +131399,7 @@ function ScrollBarBGChart()
131377
131399
 
131378
131400
 
131379
131401
 
131380
- var HQCHART_VERSION="1.1.12777";
131402
+ var HQCHART_VERSION="1.1.12781";
131381
131403
 
131382
131404
  function PrintHQChartVersion()
131383
131405
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.12777";
8
+ var HQCHART_VERSION="1.1.12781";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -40880,24 +40880,36 @@ function ChartDrawSVG()
40880
40880
  if (item.Line)
40881
40881
  {
40882
40882
  var lineItem=item.Line;
40883
- var price;
40883
+ var price=null, yPrice=null;
40884
40884
  var kItem=this.Data.Data[item.Index];
40885
- switch(lineItem.Value)
40885
+ if (lineItem.Value=="Bottom")
40886
40886
  {
40887
- case "C":
40888
- price=kItem.Close;
40889
- break;
40890
- case "H":
40891
- price=kItem.High;
40892
- break;
40893
- case "L":
40894
- price=kItem.Low;
40895
- break;
40887
+ yPrice=bottom;
40888
+ }
40889
+ else if (lineItem.Value=="Top")
40890
+ {
40891
+ yPrice=top;
40892
+ }
40893
+ else
40894
+ {
40895
+ switch(lineItem.Value)
40896
+ {
40897
+ case "C":
40898
+ price=kItem.Close;
40899
+ break;
40900
+ case "H":
40901
+ price=kItem.High;
40902
+ break;
40903
+ case "L":
40904
+ price=kItem.Low;
40905
+ break;
40906
+ }
40907
+
40908
+ if (!IFrameSplitOperator.IsNumber(price)) continue;
40909
+
40910
+ yPrice=this.ChartFrame.GetYFromData(price);
40896
40911
  }
40897
-
40898
- if (!IFrameSplitOperator.IsNumber(price)) continue;
40899
40912
 
40900
- var yPrice=this.ChartFrame.GetYFromData(price);
40901
40913
  if (yPrice>=rtSVG.Top && yPrice<=rtSVG.Bottom) continue;
40902
40914
 
40903
40915
  var yText;
@@ -79391,8 +79403,18 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
79391
79403
  }
79392
79404
 
79393
79405
  //[{ Symbol: , Color, Option: }]
79394
- this.OverlaySymbols=function(aryData)
79406
+ this.OverlaySymbols=function(aryData, option)
79395
79407
  {
79408
+ if (option && option.ClearAll===true) //全部清空
79409
+ {
79410
+ for(var i=0; i<this.OverlayChartPaint.length; ++i)
79411
+ {
79412
+ var item=this.OverlayChartPaint[i];
79413
+ item.IsDelete=true;
79414
+ }
79415
+ this.OverlayChartPaint=[];
79416
+ }
79417
+
79396
79418
  var aryNewOverlay=[];
79397
79419
  for(var i=0, j=0;i<aryData.length;++i) //去重,已经叠加过的不用在叠加
79398
79420
  {
@@ -79415,9 +79437,9 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
79415
79437
 
79416
79438
  if (!IFrameSplitOperator.IsNonEmptyArray(aryNewOverlay)) return true;
79417
79439
 
79418
- for(var i=0;i<aryNewSymbol.length;++i)
79440
+ for(var i=0;i<aryNewOverlay.length;++i)
79419
79441
  {
79420
- var overlayItem=aryNewSymbol[i];
79442
+ var overlayItem=aryNewOverlay[i];
79421
79443
  var strSymbol=overlayItem.Symbol;
79422
79444
  var paint=new ChartOverlayMinutePriceLine();
79423
79445
  paint.Canvas=this.Canvas;
@@ -131535,7 +131557,7 @@ function HQChartScriptWorker()
131535
131557
 
131536
131558
 
131537
131559
 
131538
- var HQCHART_VERSION="1.1.12777";
131560
+ var HQCHART_VERSION="1.1.12781";
131539
131561
 
131540
131562
  function PrintHQChartVersion()
131541
131563
  {