hqchart 1.1.14133 → 1.1.14143

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.
@@ -4506,10 +4506,24 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
4506
4506
  if(option.KLineTitle)
4507
4507
  {
4508
4508
  var item=option.KLineTitle;
4509
+ var chartTitle=chart.TitlePaint[0];
4509
4510
  if(option.KLineTitle.IsShowName==false) chart.TitlePaint[0].IsShowName=false;
4510
4511
  if(option.KLineTitle.IsShowSettingInfo==false) chart.TitlePaint[0].IsShowSettingInfo=false;
4511
4512
  if(option.KLineTitle.IsShow == false) chart.TitlePaint[0].IsShow = false;
4512
4513
  if(IFrameSplitOperator.IsBool(item.IsTitleShowLatestData)) chart.IsTitleShowLatestData=item.IsTitleShowLatestData;
4514
+
4515
+ if (item.ShowPostion) //显示位置高级配置
4516
+ {
4517
+ var subItem=item.ShowPostion;
4518
+ if (!chartTitle.ShowPositionConfig) chartTitle.ShowPositionConfig={ Margin:{ } };
4519
+ if (IFrameSplitOperator.IsNumber(subItem.Type)) chartTitle.ShowPositionConfig.Type=subItem.Type;
4520
+ if (subItem.Margin)
4521
+ {
4522
+ if (IFrameSplitOperator.IsNumber(subItem.Margin.Left)) chartTitle.ShowPositionConfig.Margin.Left=subItem.Margin.Left;
4523
+ if (IFrameSplitOperator.IsNumber(subItem.Margin.Right)) chartTitle.ShowPositionConfig.Margin.Right=subItem.Margin.Right;
4524
+ if (IFrameSplitOperator.IsNumber(subItem.Margin.Bottom)) chartTitle.ShowPositionConfig.Margin.Bottom=subItem.Margin.Bottom;
4525
+ }
4526
+ }
4513
4527
  }
4514
4528
 
4515
4529
  //叠加股票
@@ -5003,14 +5017,26 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
5003
5017
  if(option.MinuteTitle)
5004
5018
  {
5005
5019
  var item=option.MinuteTitle;
5020
+ var chartTitle=chart.TitlePaint[0];
5006
5021
  if(IFrameSplitOperator.IsBool(item.IsShowName)) chart.TitlePaint[0].IsShowName=item.IsShowName;
5007
5022
  if(IFrameSplitOperator.IsBool(item.IsShowDate)) chart.TitlePaint[0].IsShowDate=item.IsShowDate;
5008
5023
  if(IFrameSplitOperator.IsBool(item.IsShowTime)) chart.TitlePaint[0].IsShowTime=item.IsShowTime;
5009
5024
  if(IFrameSplitOperator.IsBool(item.IsTitleShowLatestData)) chart.IsTitleShowLatestData=item.IsTitleShowLatestData;
5010
5025
  if(IFrameSplitOperator.IsBool(item.IsAlwaysShowLastData)) chart.TitlePaint[0].IsAlwaysShowLastData=item.IsAlwaysShowLastData;
5011
5026
  if(IFrameSplitOperator.IsNumber(item.ShowLastDataFormat)) chart.TitlePaint[0].ShowLastDataFormat=item.ShowLastDataFormat;
5012
- if (IFrameSplitOperator.IsNumber(item.TitleBaseLine)) chart.TitlePaint[0].TitleBaseLine=item.TitleBaseLine;
5013
5027
  if (item.TimeFormat) chart.TitlePaint[0].TimeFormat=item.TimeFormat;
5028
+ if (item.ShowPostion) //显示位置高级配置
5029
+ {
5030
+ var subItem=item.ShowPostion;
5031
+ if (!chartTitle.ShowPositionConfig) chartTitle.ShowPositionConfig={ Margin:{ } };
5032
+ if (IFrameSplitOperator.IsNumber(subItem.Type)) chartTitle.ShowPositionConfig.Type=subItem.Type;
5033
+ if (subItem.Margin)
5034
+ {
5035
+ if (IFrameSplitOperator.IsNumber(subItem.Margin.Left)) chartTitle.ShowPositionConfig.Margin.Left=subItem.Margin.Left;
5036
+ if (IFrameSplitOperator.IsNumber(subItem.Margin.Right)) chartTitle.ShowPositionConfig.Margin.Right=subItem.Margin.Right;
5037
+ if (IFrameSplitOperator.IsNumber(subItem.Margin.Bottom)) chartTitle.ShowPositionConfig.Margin.Bottom=subItem.Margin.Bottom;
5038
+ }
5039
+ }
5014
5040
  }
5015
5041
 
5016
5042
  if (IFrameSplitOperator.IsBool(option.CorssCursorTouchEnd)) chart.CorssCursorTouchEnd = option.CorssCursorTouchEnd;
@@ -39383,8 +39409,6 @@ function ChartDrawLastBarText()
39383
39409
  YOffset:g_JSChartResource.DRAWICON.Icon.YOffset //Direction==2的向下偏移
39384
39410
  };
39385
39411
 
39386
- this.IconFamily=g_JSChartResource.DRAWLASTICON.Family;
39387
-
39388
39412
  this.ReloadResource=function(resource)
39389
39413
  {
39390
39414
  this.TextSize=
@@ -39399,8 +39423,7 @@ function ChartDrawLastBarText()
39399
39423
  Max: g_JSChartResource.DRAWICON.Icon.MaxSize, Min:g_JSChartResource.DRAWICON.Icon.MinSize, //图标的最大最小值
39400
39424
  Zoom:{ Type:g_JSChartResource.DRAWICON.Icon.Zoom.Type , Value:g_JSChartResource.DRAWICON.Icon.Zoom.Value }, //放大倍数
39401
39425
  };
39402
-
39403
- this.IconFamily=g_JSChartResource.DRAWLASTICON.Family;
39426
+
39404
39427
  }
39405
39428
 
39406
39429
  this.Draw=function()
@@ -39451,15 +39474,28 @@ function ChartDrawLastBarText()
39451
39474
  this.Canvas.textBaseline=textBaseline;
39452
39475
  this.Canvas.textAlign=textAlign;
39453
39476
  this.Canvas.fillStyle = item.Color;
39454
- this.Canvas.fillText(item.Text, x, y);
39477
+
39478
+ if (this.IsHScreen)
39479
+ {
39480
+ this.Canvas.save();
39481
+ this.Canvas.translate(y, x);
39482
+ this.Canvas.rotate(90 * Math.PI / 180);
39483
+ this.Canvas.fillText(item.Text,0,0);
39484
+ this.Canvas.restore();
39485
+ }
39486
+ else
39487
+ {
39488
+ this.Canvas.fillText(item.Text, x, y);
39489
+ }
39455
39490
  }
39456
39491
 
39457
39492
  this.DrawLastIcon=function(item,x,y)
39458
39493
  {
39494
+ var icon=item.Icon;
39459
39495
  var dataWidth=this.ChartFrame.DataWidth;
39460
39496
  var distanceWidth=this.ChartFrame.DistanceWidth;
39461
39497
  var iconSize=this.GetDynamicIconSize(dataWidth,distanceWidth,this.IconSize.Max,this.IconSize.Min,this.IconSize.Zoom);
39462
- var font=`${iconSize}px ${this.IconFamily}`;
39498
+ var font=`${iconSize}px ${icon.Family}`;
39463
39499
 
39464
39500
  var textBaseline='bottom';
39465
39501
  if (item.TextBaseline) textBaseline=item.TextBaseline;
@@ -39470,7 +39506,20 @@ function ChartDrawLastBarText()
39470
39506
  this.Canvas.textBaseline=textBaseline;
39471
39507
  this.Canvas.textAlign=textAlign;
39472
39508
  this.Canvas.fillStyle = item.Color;
39473
- this.Canvas.fillText(item.Icon.Symbol, x, y);
39509
+
39510
+ if (this.IsHScreen)
39511
+ {
39512
+ this.Canvas.save();
39513
+ this.Canvas.translate(y, x);
39514
+ this.Canvas.rotate(90 * Math.PI / 180);
39515
+ this.Canvas.fillText(icon.Symbol,0,0);
39516
+ this.Canvas.restore();
39517
+ }
39518
+ else
39519
+ {
39520
+ this.Canvas.fillText(icon.Symbol, x, y);
39521
+ }
39522
+
39474
39523
  }
39475
39524
 
39476
39525
  this.GetMaxMin=function()
@@ -57939,6 +57988,7 @@ function DynamicKLineTitlePainting()
57939
57988
  this.IsShowSettingInfo=true; //是否显示设置信息(周期 复权)
57940
57989
  this.IsShowDateTime=true; //是否显示日期
57941
57990
  this.LanguageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;
57991
+ this.ShowPositionConfig={ Margin:{ Bottom:2 } }; //显示位置高级配置 { Type:1 左对齐, Margin:{ Left, Right, Bottom } }
57942
57992
  this.OnDrawEvent;
57943
57993
  this.OnMouseMoveEvent;
57944
57994
  this.HQChart;
@@ -58171,25 +58221,104 @@ function DynamicKLineTitlePainting()
58171
58221
  return result;
58172
58222
  }
58173
58223
 
58224
+ this.GetLeft=function(isHScreen)
58225
+ {
58226
+ if (isHScreen)
58227
+ {
58228
+ var left=this.Frame.ChartBorder.GetTop();
58229
+ if (this.ShowPositionConfig)
58230
+ {
58231
+ var item=this.ShowPositionConfig;
58232
+ if (item.Type===1) left=0;
58233
+ if (item.Margin && IFrameSplitOperator.IsNumber(item.Margin.Left)) left+=item.Margin.Left;
58234
+ }
58235
+ return left;
58236
+ }
58237
+ else
58238
+ {
58239
+ var left=this.Frame.ChartBorder.GetLeft();
58240
+ if (this.ShowPositionConfig)
58241
+ {
58242
+ var item=this.ShowPositionConfig;
58243
+ if (item.Type===1) left=0;
58244
+ if (item.Margin && IFrameSplitOperator.IsNumber(item.Margin.Left)) left+=item.Margin.Left;
58245
+ }
58246
+ return left;
58247
+ }
58248
+ }
58249
+
58250
+ this.GetRight=function(isHScreen)
58251
+ {
58252
+ if (isHScreen)
58253
+ {
58254
+ var right = this.Frame.ChartBorder.GetHeight();
58255
+ if (this.ShowPositionConfig)
58256
+ {
58257
+ var item=this.ShowPositionConfig;
58258
+ if (item.Type===1) right=this.Frame.ChartBorder.GetChartHeight();
58259
+ if (item.Margin && IFrameSplitOperator.IsNumber(item.Margin.Right)) right-=item.Margin.Right;
58260
+ }
58261
+
58262
+ return right;
58263
+ }
58264
+ else
58265
+ {
58266
+ var right = this.Frame.ChartBorder.GetRight();
58267
+ if (this.ShowPositionConfig)
58268
+ {
58269
+ var item=this.ShowPositionConfig;
58270
+ if (item.Type===1) right=this.Frame.ChartBorder.GetChartWidth();
58271
+ if (item.Margin && IFrameSplitOperator.IsNumber(item.Margin.Right)) right-=item.Margin.Right;
58272
+ }
58273
+
58274
+ return right;
58275
+ }
58276
+
58277
+ }
58278
+
58279
+ this.GetBottom=function(isHScreen)
58280
+ {
58281
+ if (isHScreen)
58282
+ {
58283
+ var bottom=this.Frame.ChartBorder.GetRight();
58284
+ if (this.ShowPositionConfig)
58285
+ {
58286
+ var item=this.ShowPositionConfig;
58287
+ if (item.Margin && IFrameSplitOperator.IsNumber(item.Margin.Bottom)) bottom+=item.Margin.Bottom;
58288
+ }
58289
+
58290
+ return bottom;
58291
+ }
58292
+ else
58293
+ {
58294
+ var bottom = this.Frame.ChartBorder.GetTop();
58295
+ if (this.ShowPositionConfig)
58296
+ {
58297
+ var item=this.ShowPositionConfig;
58298
+ if (item.Margin && IFrameSplitOperator.IsNumber(item.Margin.Bottom)) bottom-=item.Margin.Bottom;
58299
+ }
58300
+
58301
+ return bottom;
58302
+ }
58303
+
58304
+ }
58305
+
58174
58306
  this.DrawItem=function(item)
58175
58307
  {
58176
58308
  var isHScreen=this.Frame.IsHScreen===true;
58177
- var left=this.Frame.ChartBorder.GetLeft();
58178
- var bottom=this.Frame.ChartBorder.GetTop()-this.Frame.ChartBorder.Top/2;
58179
- var right=this.Frame.ChartBorder.GetRight();
58180
- //var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
58181
- //var upperSymbol=this.Symbol.toUpperCase();
58309
+ var left=this.GetLeft(isHScreen);
58310
+ var right=this.GetRight(isHScreen);
58311
+
58312
+ var bottom=this.GetBottom(isHScreen);
58182
58313
  var pixelRatio=GetDevicePixelRatio();
58183
58314
  if (isHScreen)
58184
58315
  {
58185
58316
  if (this.Frame.ChartBorder.Right<5*pixelRatio) return;
58186
- var left=2;
58187
- var bottom=this.Frame.ChartBorder.Right/2; //上下居中显示
58188
- var right=this.Frame.ChartBorder.GetHeight();
58189
- var xText=this.Frame.ChartBorder.GetChartWidth();
58190
- var yText=this.Frame.ChartBorder.GetTop();
58317
+ var xText=bottom;
58318
+ var yText=left;
58191
58319
  this.Canvas.translate(xText, yText);
58192
58320
  this.Canvas.rotate(90 * Math.PI / 180);
58321
+ left=bottom=0;
58193
58322
  }
58194
58323
  else
58195
58324
  {
@@ -58197,9 +58326,9 @@ function DynamicKLineTitlePainting()
58197
58326
  }
58198
58327
 
58199
58328
  this.Canvas.textAlign="left";
58200
- this.Canvas.textBaseline="middle";
58329
+ this.Canvas.textBaseline="bottom";
58201
58330
  this.Canvas.font=this.Font;
58202
- var position = { Left: left, Bottom: bottom, IsHScreen: isHScreen };
58331
+ var position = { Left: left, MaxRight:right, Bottom: bottom, IsHScreen: isHScreen };
58203
58332
  var titleData=this.GetFormatTitle({ Data:item });
58204
58333
 
58205
58334
  if (titleData && IFrameSplitOperator.IsNonEmptyArray(titleData.AryText))
@@ -58303,14 +58432,17 @@ function DynamicKLineTitlePainting()
58303
58432
  return false;
58304
58433
  }
58305
58434
 
58306
- this.DrawText=function(title,color,position)
58435
+ this.DrawText=function(title,color,position )
58307
58436
  {
58308
58437
  if (!title) return true;
58309
58438
 
58310
58439
  var isHScreen=this.Frame.IsHScreen===true;
58440
+
58311
58441
  var right = this.Frame.ChartBorder.GetRight();
58312
58442
  if (isHScreen) right=this.Frame.ChartBorder.GetHeight();
58313
58443
 
58444
+ if (IFrameSplitOperator.IsNumber(position.MaxRight)) right=position.MaxRight;
58445
+
58314
58446
  this.Canvas.fillStyle = color;
58315
58447
  var textWidth = this.Canvas.measureText(title).width;
58316
58448
  if (position.Left + textWidth > right) return false;
@@ -58372,7 +58504,6 @@ function DynamicMinuteTitlePainting()
58372
58504
 
58373
58505
  this.MultiDayBeforeOpenData; //多日分时图 盘前数据
58374
58506
  this.MultiDayAfterCloseData; //多日分时图 收盘数据
58375
- this.TitleBaseLine=1; //0=top 1=middle 2=bottom
58376
58507
 
58377
58508
  this.TimeFormat; //显示时间格式 "HH:MM:SS", "hh:MM", "HH:MM:SS.fff"
58378
58509
 
@@ -58689,43 +58820,30 @@ function DynamicMinuteTitlePainting()
58689
58820
  var pixelRatio=GetDevicePixelRatio();
58690
58821
  var isHScreen=this.Frame.IsHScreen===true;
58691
58822
  var border=this.Frame.GetBorder();
58692
- var left=border.Left;
58693
- var bottom=border.Top-this.Frame.ChartBorder.Top/2;
58694
- var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
58695
- this.Canvas.font=this.Font;
58696
-
58823
+ var left=this.GetLeft(isHScreen);
58824
+ var right=this.GetRight(isHScreen);
58825
+ var bottom =this.GetBottom(isHScreen);
58826
+
58697
58827
  if (isHScreen)
58698
58828
  {
58699
58829
  if (this.Frame.ChartBorder.Right<5*pixelRatio) return;
58700
- var left=2;
58701
- var bottom=this.Frame.ChartBorder.Right/2; //上下居中显示
58702
- var xText=border.ChartWidth;
58703
- var yText=border.Top;
58830
+ var xText=bottom;
58831
+ var yText=left;
58704
58832
  this.Canvas.translate(xText, yText);
58705
58833
  this.Canvas.rotate(90 * Math.PI / 180);
58834
+ left=bottom=0; //旋转以后 位置调整0
58706
58835
  }
58707
58836
  else
58708
58837
  {
58709
58838
  if (this.Frame.ChartBorder.Top<5*pixelRatio) return;
58710
58839
  }
58711
58840
 
58712
- this.Canvas.textAlign="left";
58713
- if (this.TitleBaseLine==0) //上
58714
- {
58715
- this.Canvas.textBaseline="top";
58716
- bottom=2*pixelRatio;
58717
- }
58718
- else if (this.TitleBaseLine==2) //下
58719
- {
58720
- this.Canvas.textBaseline="bottom";
58721
- var bottom=border.Top
58722
- }
58723
- else //中
58724
- {
58725
- this.Canvas.textBaseline="middle";
58726
- }
58727
58841
 
58728
- var position = { Left: left, Bottom: bottom, IsHScreen: isHScreen };
58842
+ this.Canvas.font=this.Font;
58843
+ this.Canvas.textAlign="left";
58844
+ this.Canvas.textBaseline="bottom";
58845
+
58846
+ var position = { Left: left, MaxRight:right, Bottom: bottom, IsHScreen: isHScreen };
58729
58847
  var titleData=this.GetFormatTitle({ Data:item, IsLastOne:isLastOne });
58730
58848
 
58731
58849
  if (titleData && IFrameSplitOperator.IsNonEmptyArray(titleData.AryText))
@@ -73595,11 +73713,6 @@ function JSChartResource()
73595
73713
  Color:"rgb(255,165,0)"
73596
73714
  }
73597
73715
 
73598
- this.DRAWLASTICON=
73599
- {
73600
- Family:'iconfont',
73601
- }
73602
-
73603
73716
  this.POINTDOT=
73604
73717
  {
73605
73718
  Radius:2*GetDevicePixelRatio()
@@ -77202,7 +77315,11 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
77202
77315
  isInClient=this.Canvas.isPointInPath(x,y);
77203
77316
 
77204
77317
  //PC触摸板双指缩放时deltaY数值在[-20,20]之间
77205
- if (IFrameSplitOperator.IsNumber(e.deltaY) && Math.abs(e.deltaY)<90) return;
77318
+ if (IFrameSplitOperator.IsNumber(e.deltaY))
77319
+ {
77320
+ var value=e.deltaY*pixelTatio;
77321
+ if (Math.abs(value)<90) return;
77322
+ }
77206
77323
 
77207
77324
  var wheelValue=e.wheelDelta;
77208
77325
  if (!IFrameSplitOperator.IsObjectExist(e.wheelDelta))
@@ -84313,6 +84430,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
84313
84430
  this.ClassName='MinuteChartContainer';
84314
84431
  this.WindowIndex=new Array();
84315
84432
  this.Symbol;
84433
+ this.AryDate; //日期列表[]
84316
84434
  this.Name;
84317
84435
  this.SourceData; //原始的历史数据
84318
84436
  this.IndexBindData; //计算指标需要绑定的分钟数据
@@ -87080,6 +87198,11 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
87080
87198
  this.OverlayChartPaint.push(paint);
87081
87199
  }
87082
87200
  }
87201
+
87202
+ if (IFrameSplitOperator.IsNonEmptyArray(option.AryDate))
87203
+ {
87204
+ this.AryDate=option.AryDate.slice();
87205
+ }
87083
87206
  }
87084
87207
 
87085
87208
  if (!symbol || this.DayCount<=0)
@@ -87129,6 +87252,14 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
87129
87252
  this.SetPageInfo(option.PageInfo);
87130
87253
  this.ResetDayOffset();
87131
87254
  }
87255
+
87256
+ if (option)
87257
+ {
87258
+ if (IFrameSplitOperator.IsNonEmptyArray(option.AryDate))
87259
+ {
87260
+ this.AryDate=option.AryDate.slice();
87261
+ }
87262
+ }
87132
87263
 
87133
87264
  this.ReloadChartDrawPicture();
87134
87265
  this.ResetDataStatus();
@@ -87461,7 +87592,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
87461
87592
  {
87462
87593
  Name:'MinuteChartContainer::RequestHistoryMinuteData', //类名::函数
87463
87594
  Explain:'多日分时数据',
87464
- Request:{ Url:self.HistoryMinuteApiUrl, Data:{daycount:self.DayCount, symbol:self.Symbol, callcation:callCation }, Type:'POST' },
87595
+ Request:{ Url:self.HistoryMinuteApiUrl, Data:{daycount:self.DayCount, symbol:self.Symbol, callcation:callCation, AryDate:this.AryDate }, Type:'POST' },
87465
87596
  Self:this,
87466
87597
  PreventDefault:false
87467
87598
  };
@@ -87851,7 +87982,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
87851
87982
  {
87852
87983
  Name:'MinuteChartContainer::RequestMinuteData', //类名::函数名
87853
87984
  Explain:'最新分时数据',
87854
- Request:{ Url:self.MinuteApiUrl, Data:{field:fields, symbol:[self.Symbol], callcation:callCation }, Type:'POST' },
87985
+ Request:{ Url:self.MinuteApiUrl, Data:{field:fields, symbol:[self.Symbol], callcation:callCation, AryDate:this.AryDate }, Type:'POST' },
87855
87986
  Self:this,
87856
87987
  PreventDefault:false
87857
87988
  };
@@ -89938,7 +90069,7 @@ MinuteChartContainer.JsonDataToAfterCloseData=function(data)
89938
90069
  var date=stockData.date; //日期
89939
90070
  if (!stockData.afterinfo) return null;
89940
90071
  var symbol=data.stock[0].symbol;
89941
- var upperSymbol=symbol.toLowerCase();
90072
+ var upperSymbol=symbol.toUpperCase();
89942
90073
  var afterCloseData={ Data:[], TotalCount:3*60, Ver:2.0, Date:date };
89943
90074
  var item=stockData.afterinfo;
89944
90075
  if (IFrameSplitOperator.IsNumber(item.totalcount)) afterCloseData.TotalCount=item.totalcount;
@@ -139392,7 +139523,7 @@ function ScrollBarBGChart()
139392
139523
 
139393
139524
 
139394
139525
 
139395
- var HQCHART_VERSION="1.1.14132";
139526
+ var HQCHART_VERSION="1.1.14142";
139396
139527
 
139397
139528
  function PrintHQChartVersion()
139398
139529
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.14132";
8
+ var HQCHART_VERSION="1.1.14142";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {