hqchart 1.1.12414 → 1.1.12416

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.
@@ -4158,9 +4158,9 @@ if(IFrameSplitOperator.IsNumber(data.ItemSpace))itemSpace=data.ItemSpace;if(IFra
4158
4158
  if(IFrameSplitOperator.IsNumber(data.ItemSpace))itemSpace=data.ItemSpace;if(IFrameSplitOperator.IsNumber(data.YOffset))rtBorder.Bottom+=data.YOffset;if(IFrameSplitOperator.IsNumber(data.XOffset))rtBorder.Left+=data.XOffset;if(IFrameSplitOperator.IsNumber(data.LeftMargin))lefMargin=data.LeftMargin;if(IFrameSplitOperator.IsNumber(data.RightMargin))rightMargin=data.RightMargin;if(IFrameSplitOperator.IsNumber(data.RightBorder))rightBorder=data.RightBorder;if(data.Font)this.Canvas.font=data.Font;else this.Canvas.font=this.TextFont;var textHeight=this.Canvas.measureText("擎").width+2;rtBorder.Height=textHeight+5;var yText=rtBorder.Bottom-(rtBorder.Height-textHeight)/2;var xText=rtBorder.Left+lefMargin;var bFrist=true;for(var i=0;i<data.Content.length;++i){if(!bFrist)xText+=itemSpace;var item=data.Content[i];if(!item.Text)continue;var textWidth=this.Canvas.measureText(item.Text).width+2;xText+=textWidth;rtBorder.Right=xText;bFrist=false;}rtBorder.Right+=rightMargin;rtBorder.Width=rtBorder.Right-rtBorder.Left;rtBorder.Top=rtBorder.Bottom-rtBorder.Height;var right=this.ChartBorder.GetChartWidth()-1;if(rightBorder==1)right=this.ChartBorder.GetRight();if(rtBorder.Right>right)//右边显示不下,显示在左边
4159
4159
  {rtBorder.Right=rtSVG.Left;if(IFrameSplitOperator.IsNumber(data.XOffset))rtBorder.Right-=data.XOffset;rtBorder.Left=rtBorder.Right-rtBorder.Width;}return rtBorder;};this.CalculateShowPosition=function(item,pt){var x=pt.X,y=pt.Y;var svgItem=item.SVG;if(IFrameSplitOperator.IsNumber(svgItem.YOffset))y+=svgItem.YOffset;var fontSVG=svgItem.Size+'px '+this.Family;this.Canvas.font=fontSVG;var halfSize=svgItem.Size/2;var rtSVG={Left:x-halfSize,Right:x+halfSize,Top:y-svgItem.Size,Bottom:y,Height:svgItem.Size,Width:svgItem.Size};if(svgItem.VAlign===0)//top
4160
4160
  {rtSVG.Top=y;rtSVG.Bottom=rtSVG.Top+svgItem.Size;}else if(svgItem.VAlign===1)//middle
4161
- {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;}var rtContent=null;if(item.Detail)rtContent=this.GetDetailPosition(rtSVG,item.Detail);var yOffset=0,yMoveStep=-5;for(var i=0;i<20;++i){if(rtSVG&&!rtContent){if(!this.IsRectOverlap(rtSVG))break;}else if(rtSVG&&rtContent){if(!this.IsRectOverlap(rtSVG)&&!this.IsRectOverlap(rtContent))break;}yOffset+=yMoveStep;if(Math.abs(yOffset)>=this.AutoPosition.MaxYOffset)break;rtSVG.Top+=yMoveStep;rtSVG.Bottom+=yMoveStep;if(rtContent){rtContent.Top+=yMoveStep;rtContent.Bottom+=yMoveStep;}}pt.X=x;pt.Y=y+yOffset;};this.IsRectOverlap=function(rect){for(var i=0;i<this.AryDrawRect.length;++i){var item=this.AryDrawRect[i];if((rect.Left>=item.Left&&rect.Left<=item.Right||rect.Right>=item.Left&&rect.Right<=item.Right)&&(rect.Top>=item.Top&&rect.Top<=item.Bottom||rect.Bottom>=item.Top&&rect.Bottom<=item.Bottom)){return true;}}return false;};this.DrawSVG=function(){if(!this.IsShow||this.ChartFrame.IsMinSize)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Texts))return;if(!this.Family)return;this.IsHScreen=this.ChartFrame.IsHScreen===true;var xPointCount=this.ChartFrame.XPointCount;var offset=this.Data.DataOffset;var top=this.ChartBorder.GetTopEx();var bottom=this.ChartBorder.GetBottomEx();var pixelRatio=GetDevicePixelRatio();var x=0,y=0;for(var i=0;i<this.Texts.length;++i){var item=this.Texts[i];if(!item.SVG||!item.SVG.Symbol)continue;if(!IFrameSplitOperator.IsNumber(item.Index))continue;var isMinuteFrame=this.IsMinuteFrame();var index=item.Index-offset;var kItem=this.Data.Data[item.Index];if(index<0||index>=xPointCount)continue;x=this.ChartFrame.GetXFromIndex(index);if(item.Value=="Top")y=top;else if(item.Value=="Bottom")y=bottom;else y=this.ChartFrame.GetYFromData(item.Value);if(IFrameSplitOperator.IsNumber(item.YOffset))y+=item.YOffset;//Y轴偏移
4162
- if(this.AutoPosition){var pt={X:x,Y:y};this.CalculateShowPosition(item,pt);//重新计算位置
4163
- x=pt.X;y=pt.Y;}var svgItem=item.SVG;if(IFrameSplitOperator.IsNumber(svgItem.YOffset))y+=svgItem.YOffset;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"});if(this.EnableTooltip)this.TooltipRect.push({Rect:rtSVG,Index:i});//文字
4161
+ {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;}var rtContent=null;if(item.Detail)rtContent=this.GetDetailPosition(rtSVG,item.Detail);var yOffset=0,yMoveStep=-5;if(IFrameSplitOperator.IsNumber(this.AutoPosition.MoveYStep))yMoveStep=-Math.abs(this.AutoPosition.MoveYStep);for(var i=0;i<20;++i){if(rtSVG&&!rtContent){if(!this.IsRectOverlap(rtSVG))break;}else if(rtSVG&&rtContent){if(!this.IsRectOverlap(rtSVG)&&!this.IsRectOverlap(rtContent))break;}yOffset+=yMoveStep;if(Math.abs(yOffset)>=this.AutoPosition.MaxYOffset)break;rtSVG.Top+=yMoveStep;rtSVG.Bottom+=yMoveStep;if(rtContent){rtContent.Top+=yMoveStep;rtContent.Bottom+=yMoveStep;}}pt.X=x;pt.Y=y+yOffset;};this.IsRectOverlap=function(rect){for(var i=0;i<this.AryDrawRect.length;++i){var item=this.AryDrawRect[i];if((rect.Left>=item.Left&&rect.Left<=item.Right||rect.Right>=item.Left&&rect.Right<=item.Right)&&(rect.Top>=item.Top&&rect.Top<=item.Bottom||rect.Bottom>=item.Top&&rect.Bottom<=item.Bottom)){return true;}}return false;};this.DrawSVG=function(){if(!this.IsShow||this.ChartFrame.IsMinSize)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Texts))return;if(!this.Family)return;this.IsHScreen=this.ChartFrame.IsHScreen===true;var xPointCount=this.ChartFrame.XPointCount;var offset=this.Data.DataOffset;var top=this.ChartBorder.GetTopEx();var bottom=this.ChartBorder.GetBottomEx();var pixelRatio=GetDevicePixelRatio();var x=0,y=0;for(var i=0;i<this.Texts.length;++i){var item=this.Texts[i];if(!item.SVG||!item.SVG.Symbol)continue;if(!IFrameSplitOperator.IsNumber(item.Index))continue;var isMinuteFrame=this.IsMinuteFrame();var index=item.Index-offset;var kItem=this.Data.Data[item.Index];if(index<0||index>=xPointCount)continue;x=this.ChartFrame.GetXFromIndex(index);if(item.Value=="Top")y=top;else if(item.Value=="Bottom")y=bottom;else y=this.ChartFrame.GetYFromData(item.Value);if(IFrameSplitOperator.IsNumber(item.YOffset))y+=item.YOffset;//Y轴偏移
4162
+ 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);//重新计算位置
4163
+ 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"});if(this.EnableTooltip)this.TooltipRect.push({Rect:rtSVG,Index:i});//文字
4164
4164
  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);}//连线
4165
4165
  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;
4166
4166
  yText-=lineItem.SVGBlank;}}else{yText=rtSVG.Bottom;if(IFrameSplitOperator.IsNumber(lineItem.SVGBlank)){//yPrice-=lineItem.Blank;
@@ -12463,7 +12463,7 @@ this.AreaColor=g_JSChartResource.ScrollBar.BGChart.AreaColor;//面积图颜色
12463
12463
  };this.Draw=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.Canvas.save();if(this.LineWidth>0)this.Canvas.lineWidth=this.LineWidth*GetDevicePixelRatio();var bottom=this.ChartBorder.GetBottom();this.Canvas.strokeStyle=this.Color;var bFirstPoint=true;var drawCount=0,x,y;var firstPoint={};for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];var value=item.Close;if(!IFrameSplitOperator.IsNumber(value))continue;x=this.ChartFrame.GetXFromIndex(i);y=this.ChartFrame.GetYFromData(value);if(bFirstPoint){this.Canvas.beginPath();this.Canvas.moveTo(x,y);bFirstPoint=false;firstPoint={X:x,Y:y};}else{this.Canvas.lineTo(x,y);}++drawCount;}if(drawCount>0){this.Canvas.stroke();this.Canvas.lineTo(x,bottom);this.Canvas.lineTo(firstPoint.X,bottom);this.Canvas.closePath();this.Canvas.fillStyle=this.AreaColor;this.Canvas.fill();}this.Canvas.restore();};this.GetMaxMin=function(){var range={Max:null,Min:null};if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;for(var i=0;i<this.Data.Data.length;++i){var item=this.Data.Data[i];var value=item.Close;if(!IFrameSplitOperator.IsNumber(value))continue;if(range.Max==null||range.Max<value)range.Max=value;if(range.Min==null||range.Min>value)range.Min=value;}return range;};}/********************************************************************************
12464
12464
  * 版本信息输出
12465
12465
  *
12466
- */var HQCHART_VERSION="1.1.12413";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();//把给外界调用的方法暴露出来
12466
+ */var HQCHART_VERSION="1.1.12415";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();//把给外界调用的方法暴露出来
12467
12467
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
12468
12468
  // BaseIndex:BaseIndex,
12469
12469
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "hqchart",
3
3
  "description": "stock chart",
4
4
  "author": "jones2000",
5
- "version": "1.1.12414",
5
+ "version": "1.1.12416",
6
6
  "main": "lib/main.js",
7
7
  "private": false,
8
8
  "license": "Apache License 2.0",
@@ -35210,6 +35210,7 @@ function ChartDrawSVG()
35210
35210
 
35211
35211
 
35212
35212
  var yOffset=0, yMoveStep=-5;
35213
+ if (IFrameSplitOperator.IsNumber(this.AutoPosition.MoveYStep)) yMoveStep=-(Math.abs(this.AutoPosition.MoveYStep))
35213
35214
  for(var i=0;i<20;++i)
35214
35215
  {
35215
35216
  if (rtSVG && !rtContent)
@@ -35289,6 +35290,9 @@ function ChartDrawSVG()
35289
35290
  else y=this.ChartFrame.GetYFromData(item.Value);
35290
35291
  if (IFrameSplitOperator.IsNumber(item.YOffset)) y+=item.YOffset; //Y轴偏移
35291
35292
 
35293
+ var svgItem=item.SVG;
35294
+ if (IFrameSplitOperator.IsNumber(svgItem.YOffset)) y+=svgItem.YOffset;
35295
+
35292
35296
  if (this.AutoPosition)
35293
35297
  {
35294
35298
  var pt={ X:x, Y:y };
@@ -35296,10 +35300,8 @@ function ChartDrawSVG()
35296
35300
  x=pt.X;
35297
35301
  y=pt.Y;
35298
35302
  }
35299
-
35300
35303
 
35301
- var svgItem=item.SVG;
35302
- if (IFrameSplitOperator.IsNumber(svgItem.YOffset)) y+=svgItem.YOffset;
35304
+
35303
35305
  var fontSVG=`${svgItem.Size}px ${this.Family}`;
35304
35306
  this.Canvas.font=fontSVG;
35305
35307
  var halfSize=svgItem.Size/2;
@@ -39290,6 +39290,7 @@ function ChartDrawSVG()
39290
39290
 
39291
39291
 
39292
39292
  var yOffset=0, yMoveStep=-5;
39293
+ if (IFrameSplitOperator.IsNumber(this.AutoPosition.MoveYStep)) yMoveStep=-(Math.abs(this.AutoPosition.MoveYStep))
39293
39294
  for(var i=0;i<20;++i)
39294
39295
  {
39295
39296
  if (rtSVG && !rtContent)
@@ -39369,6 +39370,9 @@ function ChartDrawSVG()
39369
39370
  else y=this.ChartFrame.GetYFromData(item.Value);
39370
39371
  if (IFrameSplitOperator.IsNumber(item.YOffset)) y+=item.YOffset; //Y轴偏移
39371
39372
 
39373
+ var svgItem=item.SVG;
39374
+ if (IFrameSplitOperator.IsNumber(svgItem.YOffset)) y+=svgItem.YOffset;
39375
+
39372
39376
  if (this.AutoPosition)
39373
39377
  {
39374
39378
  var pt={ X:x, Y:y };
@@ -39376,10 +39380,8 @@ function ChartDrawSVG()
39376
39380
  x=pt.X;
39377
39381
  y=pt.Y;
39378
39382
  }
39379
-
39380
39383
 
39381
- var svgItem=item.SVG;
39382
- if (IFrameSplitOperator.IsNumber(svgItem.YOffset)) y+=svgItem.YOffset;
39384
+
39383
39385
  var fontSVG=`${svgItem.Size}px ${this.Family}`;
39384
39386
  this.Canvas.font=fontSVG;
39385
39387
  var halfSize=svgItem.Size/2;
@@ -127511,7 +127513,7 @@ function ScrollBarBGChart()
127511
127513
 
127512
127514
 
127513
127515
 
127514
- var HQCHART_VERSION="1.1.12413";
127516
+ var HQCHART_VERSION="1.1.12415";
127515
127517
 
127516
127518
  function PrintHQChartVersion()
127517
127519
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.12413";
8
+ var HQCHART_VERSION="1.1.12415";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -39334,6 +39334,7 @@ function ChartDrawSVG()
39334
39334
 
39335
39335
 
39336
39336
  var yOffset=0, yMoveStep=-5;
39337
+ if (IFrameSplitOperator.IsNumber(this.AutoPosition.MoveYStep)) yMoveStep=-(Math.abs(this.AutoPosition.MoveYStep))
39337
39338
  for(var i=0;i<20;++i)
39338
39339
  {
39339
39340
  if (rtSVG && !rtContent)
@@ -39413,6 +39414,9 @@ function ChartDrawSVG()
39413
39414
  else y=this.ChartFrame.GetYFromData(item.Value);
39414
39415
  if (IFrameSplitOperator.IsNumber(item.YOffset)) y+=item.YOffset; //Y轴偏移
39415
39416
 
39417
+ var svgItem=item.SVG;
39418
+ if (IFrameSplitOperator.IsNumber(svgItem.YOffset)) y+=svgItem.YOffset;
39419
+
39416
39420
  if (this.AutoPosition)
39417
39421
  {
39418
39422
  var pt={ X:x, Y:y };
@@ -39420,10 +39424,8 @@ function ChartDrawSVG()
39420
39424
  x=pt.X;
39421
39425
  y=pt.Y;
39422
39426
  }
39423
-
39424
39427
 
39425
- var svgItem=item.SVG;
39426
- if (IFrameSplitOperator.IsNumber(svgItem.YOffset)) y+=svgItem.YOffset;
39428
+
39427
39429
  var fontSVG=`${svgItem.Size}px ${this.Family}`;
39428
39430
  this.Canvas.font=fontSVG;
39429
39431
  var halfSize=svgItem.Size/2;
@@ -127555,7 +127557,7 @@ function ScrollBarBGChart()
127555
127557
 
127556
127558
 
127557
127559
 
127558
- var HQCHART_VERSION="1.1.12413";
127560
+ var HQCHART_VERSION="1.1.12415";
127559
127561
 
127560
127562
  function PrintHQChartVersion()
127561
127563
  {