hqchart 1.1.14864 → 1.1.14874

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.
@@ -7946,6 +7946,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
7946
7946
 
7947
7947
  this.DestroyPopMenu();
7948
7948
 
7949
+ if (this.DestroyPopMinuteChart) this.DestroyPopMinuteChart();
7950
+
7949
7951
  this.StopLatestPointFlash();
7950
7952
 
7951
7953
  document.oncontextmenu=null;
@@ -18699,6 +18701,7 @@ function AverageWidthFrame()
18699
18701
  if (IFrameSplitOperator.IsNumber(item.Margin.Bottom)) lineInfo.Margin.Bottom=item.Margin.Bottom;
18700
18702
  }
18701
18703
  if (IFrameSplitOperator.IsNumber(item.YOffset)) lineInfo.YOffset=item.YOffset;
18704
+ if (IFrameSplitOperator.IsNumber(item.Align)) lineInfo.Align=item.Align;
18702
18705
 
18703
18706
  lineInfo.Height=lineHeight+lineInfo.Margin.Top+lineInfo.Margin.Bottom;
18704
18707
 
@@ -18736,13 +18739,17 @@ function AverageWidthFrame()
18736
18739
 
18737
18740
  if (width<=0 || height<=0) return null;
18738
18741
 
18739
- return { Width:width, Height:height, AryLine:aryLine, Align:2 }; //Align 1=left 2=center 3=right
18742
+ var drawInfo={ Width:width, Height:height, AryLine:aryLine, Align:2 }; //Align 1=left 2=center 3=right
18743
+ if (IFrameSplitOperator.IsNumber(obj.Align)) drawInfo.Align=obj.Align;
18744
+
18745
+ return drawInfo;
18740
18746
  }
18741
18747
 
18742
18748
  //X轴底部文字多行输出
18743
18749
  this.DrawMultiLineVText=function(drawInfo)
18744
18750
  {
18745
18751
  var xLeft=drawInfo.XCenter-drawInfo.Width/2;
18752
+ if (drawInfo.Align==1) xLeft=drawInfo.XCenter;
18746
18753
  if (drawInfo.TextRightPrev!=null && drawInfo.TextRightPrev>xLeft)
18747
18754
  return false;
18748
18755
 
@@ -18754,8 +18761,19 @@ function AverageWidthFrame()
18754
18761
  for(var i=0, j=0;i<drawInfo.AryLine.length;++i)
18755
18762
  {
18756
18763
  var lineItem=drawInfo.AryLine[i];
18757
- if (lineItem.Align==2)
18758
- var xLeft=drawInfo.XCenter-lineItem.Width/2;
18764
+ if (drawInfo.Align==1)
18765
+ {
18766
+ var xLeft=drawInfo.XCenter-drawInfo.Width/2;
18767
+ if (lineItem.Align==1) xLeft=drawInfo.XCenter;
18768
+ else if (lineItem.Align==2) xLeft=drawInfo.XCenter+drawInfo.Width-lineItem.Width;
18769
+ }
18770
+ else
18771
+ {
18772
+ var xLeft=drawInfo.XCenter-lineItem.Width/2;
18773
+ if (lineItem.Align==1) xLeft=drawInfo.XCenter-drawInfo.Width/2;
18774
+ else if (lineItem.Align==2) xLeft=drawInfo.XCenter+drawInfo.Width/2-lineItem.Width;
18775
+ }
18776
+
18759
18777
  if (xLeft<1) xLeft=1;
18760
18778
  yText+=lineItem.Height;
18761
18779
  for(j=0;j<lineItem.AryText.length;++j)
@@ -24067,7 +24085,7 @@ function OverlayKLineFrame()
24067
24085
 
24068
24086
  var text=item.Message[1];
24069
24087
  if (Array.isArray(item.Message[1])) text=item.Message[1][0];
24070
-
24088
+ this.Canvas.fillStyle=item.TextColor;
24071
24089
  if (rightExtendText && rightExtendText.Align)
24072
24090
  {
24073
24091
  var textWidth=rightWidth;
@@ -24079,7 +24097,6 @@ function OverlayKLineFrame()
24079
24097
  {
24080
24098
  var xText=right+2;
24081
24099
  if (rightLine && rightLine.Width>0) xText+=rightLine.Width;
24082
- this.Canvas.fillStyle=item.TextColor;
24083
24100
  this.Canvas.textAlign="left";
24084
24101
  this.Canvas.fillText(text,xText,y);
24085
24102
  }
@@ -37910,6 +37927,7 @@ function ChartKLineTable()
37910
37927
 
37911
37928
  this.TextFont;
37912
37929
  this.TextColor='rgb(0,0,0)';
37930
+ this.Style=0; //0=全部窗口模式 1=顶部指定行数 2=底部指定行数;
37913
37931
 
37914
37932
  this.AryTableData=[];
37915
37933
  this.MapCache=null; //key=date/date-time value={ Date:, Time:, Data:[ ] }
@@ -37935,9 +37953,15 @@ function ChartKLineTable()
37935
37953
  {
37936
37954
  if (!this.BGColor) return;
37937
37955
 
37938
- if (this.BGColor)
37956
+ this.Canvas.fillStyle=this.BGColor;
37957
+ if ((this.Style===1 || this.Style===2) && this.RowHeightType==1)
37958
+ {
37959
+ var height=this.RowCount*this.RowHeight;
37960
+ height=Math.min(rtBG.Height,height);
37961
+ this.Canvas.fillRect(rtBG.Left+1, rtBG.Top, rtBG.Width-2, height);
37962
+ }
37963
+ else
37939
37964
  {
37940
- this.Canvas.fillStyle=this.BGColor;
37941
37965
  this.Canvas.fillRect(rtBG.Left+1, rtBG.Top, rtBG.Width-1, rtBG.Height);
37942
37966
  }
37943
37967
  }
@@ -37946,8 +37970,11 @@ function ChartKLineTable()
37946
37970
  {
37947
37971
  if (!this.BorderColor) return;
37948
37972
 
37973
+ var lineCount=30;
37974
+ if (this.Style===1 || this.Style===2) lineCount=this.RowCount+1;
37975
+
37949
37976
  var yLine=rtBG.Top;
37950
- for(var i=0;i<30;++i)
37977
+ for(var i=0;i<lineCount;++i)
37951
37978
  {
37952
37979
  this.Canvas.beginPath();
37953
37980
  this.Canvas.moveTo(rtBG.Left,ToFixedPoint(yLine));
@@ -37997,12 +38024,29 @@ function ChartKLineTable()
37997
38024
  var bottom=border.Bottom;
37998
38025
 
37999
38026
  //绘制背景
38000
- var rtBG={ Left:border.LeftEx, Top:top, Right:border.RightEx, Bottom:bottom };
38001
- rtBG.Width=rtBG.Right-rtBG.Left;
38002
- rtBG.Height=rtBG.Bottom-rtBG.Top;
38003
- this.DrawBG(rtBG);
38004
-
38027
+ if (this.Style===1)
38028
+ {
38029
+ var rtBG={ Left:border.LeftEx, Top:border.TopTitle, Right:border.RightEx, Bottom:border.TopEx };
38030
+ rtBG.Width=rtBG.Right-rtBG.Left;
38031
+ rtBG.Height=rtBG.Bottom-rtBG.Top;
38032
+ }
38033
+ else if (this.Style===2)
38034
+ {
38035
+ var rtBG={ Left:border.LeftEx, Top:border.BottomEx, Right:border.RightEx, Bottom:border.Bottom };
38036
+ rtBG.Width=rtBG.Right-rtBG.Left;
38037
+ rtBG.Height=rtBG.Bottom-rtBG.Top;
38038
+ top=rtBG.Top;
38039
+ }
38040
+ else
38041
+ {
38042
+ var rtBG={ Left:border.LeftEx, Top:top, Right:border.RightEx, Bottom:bottom };
38043
+ rtBG.Width=rtBG.Right-rtBG.Left;
38044
+ rtBG.Height=rtBG.Bottom-rtBG.Top;
38045
+ }
38046
+
38005
38047
  this.CalculateRowHeight(rtBG);
38048
+
38049
+ this.DrawBG(rtBG);
38006
38050
 
38007
38051
  var itemHeight=this.RowHeight;
38008
38052
  var itemWidth=dataWidth+distanceWidth;
@@ -38035,7 +38079,7 @@ function ChartKLineTable()
38035
38079
  if (!bDrawName) this.DrawRow(mapItem, top, bottom, left, right); //绘制一列
38036
38080
  }
38037
38081
 
38038
- if (this.RowNamePosition==3) this.DrawRightRowName();
38082
+ if (this.RowNamePosition==3) this.DrawRightRowName(rtBG);
38039
38083
 
38040
38084
  this.DrawBorder(rtBG);
38041
38085
  }
@@ -38082,20 +38126,51 @@ function ChartKLineTable()
38082
38126
  }
38083
38127
 
38084
38128
  //绘制右侧行名
38085
- this.DrawRightRowName=function()
38129
+ this.DrawRightRowName=function(rtBG)
38086
38130
  {
38087
38131
  var border=this.ChartFrame.GetBorder();
38088
38132
 
38089
38133
  if (this.BGColor)
38090
38134
  {
38091
- var rtRightBG={Left:border.RightEx, Top:border.Top, Right:border.ChartWidth, Bottom:border.Bottom };
38092
- rtRightBG.Width=rtRightBG.Right-rtRightBG.Left;
38093
- rtRightBG.Height=rtRightBG.Bottom-rtRightBG.Top;
38094
- this.Canvas.fillStyle=this.BGColor;
38095
- this.Canvas.fillRect(rtRightBG.Left+1, rtRightBG.Top, rtRightBG.Width-1, rtRightBG.Height);
38135
+ if (this.Style===1)
38136
+ {
38137
+ var height=this.RowCount*this.RowHeight;
38138
+ height=Math.min(rtBG.Height,height);
38139
+ var width=border.ChartWidth-rtBG.Right-2;
38140
+ var maxTextWidth=0;
38141
+ for(var i=0;i<this.RowName.length;++i)
38142
+ {
38143
+ var item=this.RowName[i];
38144
+ if (!item || !item.Name) continue;
38145
+
38146
+ var textWidth=this.Canvas.measureText(item.Name).width;
38147
+ if (textWidth>maxTextWidth) maxTextWidth=textWidth;
38148
+ }
38149
+ if (maxTextWidth>0)
38150
+ {
38151
+ maxTextWidth+=4;
38152
+ width=Math.min(width, maxTextWidth);
38153
+ }
38154
+
38155
+ var rtRightBG={Left:rtBG.Right+1, Top:rtBG.Top+1, Width:width, Height:height };
38156
+ rtRightBG.Right=rtRightBG.Left+rtRightBG.Width;
38157
+ rtRightBG.Bottom=rtRightBG.Top+rtRightBG.Height;
38158
+
38159
+
38160
+ this.Canvas.fillStyle=this.BGColor;
38161
+ this.Canvas.fillRect(rtRightBG.Left, rtRightBG.Top, rtRightBG.Width, rtRightBG.Height);
38162
+ }
38163
+ else
38164
+ {
38165
+ var rtRightBG={Left:border.RightEx, Top:border.Top, Right:border.ChartWidth, Bottom:border.Bottom };
38166
+ rtRightBG.Width=rtRightBG.Right-rtRightBG.Left;
38167
+ rtRightBG.Height=rtRightBG.Bottom-rtRightBG.Top;
38168
+ this.Canvas.fillStyle=this.BGColor;
38169
+ this.Canvas.fillRect(rtRightBG.Left+1, rtRightBG.Top, rtRightBG.Width-2, rtRightBG.Height);
38170
+ }
38096
38171
  }
38097
38172
 
38098
- var x=border.RightEx, y=border.TopTitle;
38173
+ var x=rtBG.Right, y=rtBG.Top;
38099
38174
  var yOffset=3;
38100
38175
  if (this.ItemMergin.YOffset) yOffset=this.ItemMergin.YOffset;
38101
38176
  for(var i=0;i<this.RowName.length;++i)
@@ -68443,9 +68518,14 @@ function IChartDrawPicture()
68443
68518
  pt.X=this.Frame.GetXFromIndex(item.XValue-data.DataOffset);
68444
68519
  pt.Y=this.Frame.GetYFromData(item.YValue);
68445
68520
  }
68521
+
68522
+ if (Path2DHelper.PtInPoint(x,y,pt,radius))
68523
+ return i;
68524
+ /*
68446
68525
  this.Canvas.beginPath();
68447
68526
  this.Canvas.arc(pt.X,pt.Y,radius,0,360);
68448
68527
  if (this.Canvas.isPointInPath(x,y)) return i;
68528
+ */
68449
68529
  }
68450
68530
 
68451
68531
  return -1;
@@ -68463,6 +68543,20 @@ function IChartDrawPicture()
68463
68543
  var pixel=GetDevicePixelRatio();
68464
68544
  lineWidth*=pixel;
68465
68545
  for(var i=0;i<this.LinePoint.length; ++i)
68546
+ {
68547
+ var item=this.LinePoint[i];
68548
+ var ptStart=item.Start;
68549
+ var ptEnd=item.End;
68550
+
68551
+ if (Path2DHelper.PtInLine(x, y, ptStart, ptEnd, lineWidth))
68552
+ {
68553
+ return i;
68554
+ }
68555
+ }
68556
+ return -1;
68557
+
68558
+ /*
68559
+ for(var i=0;i<this.LinePoint.length; ++i)
68466
68560
  {
68467
68561
  var item=this.LinePoint[i];
68468
68562
  var ptStart=item.Start;
@@ -68491,6 +68585,7 @@ function IChartDrawPicture()
68491
68585
  }
68492
68586
 
68493
68587
  return -1;
68588
+ */
68494
68589
  }
68495
68590
 
68496
68591
  //0-10 鼠标对应的点索引 100=鼠标在正个图形上 -1 鼠标不在图形上
@@ -71184,6 +71279,18 @@ function ChartDrawPictureRect()
71184
71279
  //点是否在线段上 水平线段
71185
71280
  this.IsPointInLine=function(aryPoint,x,y,option)
71186
71281
  {
71282
+ var lineWidth=5;
71283
+ var pixel=GetDevicePixelRatio();
71284
+ if (IFrameSplitOperator.IsPlusNumber(this.LineWidth) && this.LineWidth>lineWidth) lineWidth=this.LineWidth;
71285
+ if (option && IFrameSplitOperator.IsNumber(option.Zoom)) lineWidth+=option.Zoom;
71286
+ else if (this.Option && IFrameSplitOperator.IsNumber(this.Option.Zoom)) lineWidth+=this.Option.Zoom;
71287
+ lineWidth*=pixel;
71288
+ if (Path2DHelper.PtInLine(x,y,aryPoint[0], aryPoint[1], lineWidth))
71289
+ return true;
71290
+
71291
+ return false;
71292
+
71293
+ /*
71187
71294
  var radius=5;
71188
71295
  if (option && IFrameSplitOperator.IsNumber(option.Zoom)) radius+=option.Zoom;
71189
71296
  else if (this.Option && IFrameSplitOperator.IsNumber(this.Option.Zoom)) radius+=this.Option.Zoom;
@@ -71198,11 +71305,14 @@ function ChartDrawPictureRect()
71198
71305
  this.Canvas.closePath();
71199
71306
  if (this.Canvas.isPointInPath(x,y))
71200
71307
  return true;
71308
+ */
71201
71309
  }
71202
71310
 
71203
71311
  //垂直线段
71204
71312
  this.IsPointInLine2=function(aryPoint,x,y,option)
71205
71313
  {
71314
+ return this.IsPointInLine(aryPoint,x,y,option);
71315
+ /*
71206
71316
  var radius=5;
71207
71317
  if (option && IFrameSplitOperator.IsNumber(option.Zoom)) radius+=option.Zoom;
71208
71318
  else if (this.Option && IFrameSplitOperator.IsNumber(this.Option.Zoom)) radius+=this.Option.Zoom;
@@ -71217,6 +71327,7 @@ function ChartDrawPictureRect()
71217
71327
  this.Canvas.closePath();
71218
71328
  if (this.Canvas.isPointInPath(x,y))
71219
71329
  return true;
71330
+ */
71220
71331
  }
71221
71332
  }
71222
71333
 
@@ -84861,6 +84972,13 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
84861
84972
  this.PopMinuteChart=null;
84862
84973
  }
84863
84974
 
84975
+ this.ClosePopMinuteChart=function()
84976
+ {
84977
+ if (!this.PopMinuteChart) return;
84978
+
84979
+ this.PopMinuteChart.Close();
84980
+ }
84981
+
84864
84982
  this.ShowMinuteChartDialog=function(data, x,y)
84865
84983
  {
84866
84984
  if (!this.PopMinuteChart) return;
@@ -87449,6 +87567,8 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
87449
87567
  //周期切换
87450
87568
  this.ChangePeriod=function(period,option)
87451
87569
  {
87570
+ this.ClosePopMinuteChart();
87571
+
87452
87572
  var oldData={ Period:this.Period, Right:this.Right, KLineDrawType:this.KLineDrawType, Symbol:this.Symbol};
87453
87573
 
87454
87574
  var isChangeKLineDrawType=false;
@@ -89007,6 +89127,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
89007
89127
  this.ClearIndexRunCount();
89008
89128
  this.UnlockCorssCursor();
89009
89129
  this.Frame.ClearYCoordinateMaxMin();
89130
+ this.ClosePopMinuteChart();
89010
89131
 
89011
89132
 
89012
89133
  this.Symbol=symbol;
@@ -107255,6 +107376,117 @@ function GetLocalTime(i) //得到标准时区的时间的函数
107255
107376
  return new Date(utcTime + 3600000 * i);
107256
107377
  }
107257
107378
 
107379
+ //图形路径方法
107380
+ function Path2DHelper() { }
107381
+ const PI2 = Math.PI * 2;
107382
+
107383
+ //点是否在线段上
107384
+ Path2DHelper.PtInLine=function(x, y, pt, pt2, lineWidth)
107385
+ {
107386
+ if (lineWidth<=0) return false;
107387
+
107388
+ var x0=pt.X, y0=pt.Y;
107389
+ var x1=pt2.X, y1=pt2.Y;
107390
+
107391
+ const _l = lineWidth;
107392
+ let _a = 0;
107393
+ let _b = x0;
107394
+
107395
+ // Quick reject
107396
+ if (
107397
+ (y > y0 + _l && y > y1 + _l)
107398
+ || (y < y0 - _l && y < y1 - _l)
107399
+ || (x > x0 + _l && x > x1 + _l)
107400
+ || (x < x0 - _l && x < x1 - _l)
107401
+ )
107402
+ {
107403
+ return false;
107404
+ }
107405
+
107406
+ if (x0 !== x1)
107407
+ {
107408
+ _a = (y0 - y1) / (x0 - x1);
107409
+ _b = (x0 * y1 - x1 * y0) / (x0 - x1);
107410
+ }
107411
+ else
107412
+ {
107413
+ return Math.abs(x - x0) <= _l / 2;
107414
+ }
107415
+
107416
+ const tmp = _a * x - y + _b;
107417
+ const _s = tmp * tmp / (_a * _a + 1);
107418
+ return _s <= _l / 2 * _l / 2;
107419
+ }
107420
+
107421
+ //点是否在圆点上
107422
+ Path2DHelper.PtInPoint=function(x,y, ptCenter, radius)
107423
+ {
107424
+ if (radius<=0) return false;
107425
+
107426
+ var cx=ptCenter.X;
107427
+ var cy=ptCenter.Y;
107428
+
107429
+ x -= cx;
107430
+ y -= cy;
107431
+ const d = Math.sqrt(x * x + y * y); //到圆心的距离
107432
+
107433
+ if (d>radius) return false;
107434
+
107435
+ return true;
107436
+ }
107437
+
107438
+ Path2DHelper.PtInArc=function(x, y, ptCenter, radius, startAngle, endAngle,lineWidth, anticlockwise)
107439
+ {
107440
+ if (lineWidth<=0) return false;
107441
+
107442
+ const _l = lineWidth;
107443
+ var cx=ptCenter.X;
107444
+ var cy=ptCenter.Y;
107445
+
107446
+ x -= cx;
107447
+ y -= cy;
107448
+ const d = Math.sqrt(x * x + y * y);
107449
+
107450
+ if ((d - _l > r) || (d + _l < r))
107451
+ return false;
107452
+
107453
+ // TODO
107454
+ if (Math.abs(startAngle - endAngle) % PI2 < 1e-4)
107455
+ {
107456
+ // Is a circle
107457
+ return true;
107458
+ }
107459
+
107460
+ if (anticlockwise)
107461
+ {
107462
+ const tmp = startAngle;
107463
+ startAngle = Path2DHelper.FormatRadian(endAngle);
107464
+ endAngle = Path2DHelper.FormatRadian(tmp);
107465
+ }
107466
+ else
107467
+ {
107468
+ startAngle = Path2DHelper.FormatRadian(startAngle);
107469
+ endAngle = Path2DHelper.FormatRadian(endAngle);
107470
+ }
107471
+
107472
+ if (startAngle > endAngle)
107473
+ endAngle += PI2;
107474
+
107475
+ var angle = Math.atan2(y, x);
107476
+ if (angle < 0)
107477
+ angle += PI2;
107478
+
107479
+ return (angle >= startAngle && angle <= endAngle) || (angle + PI2 >= startAngle && angle + PI2 <= endAngle);
107480
+ }
107481
+
107482
+ //统一弧度方向
107483
+ Path2DHelper.FormatRadian=function(angle)
107484
+ {
107485
+ angle%= PI2;
107486
+ if (angle<0) angle += PI2;
107487
+ return angle;
107488
+ }
107489
+
107258
107490
 
107259
107491
 
107260
107492
 
@@ -130345,6 +130577,9 @@ function OverlayScriptIndex(name,script,args,option)
130345
130577
  case SCRIPT_CHART_NAME.BASELINE_BAR:
130346
130578
  this.CreateBaseLineBar(hqChart,windowIndex,item,i);
130347
130579
  break;
130580
+ case SCRIPT_CHART_NAME.KLINE_TABLE:
130581
+ this.CreateKLineTable(hqChart,windowIndex,item,i);
130582
+ break;
130348
130583
  case "DRAWCOLORKLINE":
130349
130584
  this.CreateDrawColorKLine(hqChart,windowIndex,item,i);
130350
130585
  break;
@@ -131154,6 +131389,7 @@ function OverlayScriptIndex(name,script,args,option)
131154
131389
  }
131155
131390
 
131156
131391
  chart.BuildCacheData();
131392
+ this.SetChartIndexName(chart);
131157
131393
  frame.ChartPaint.push(chart);
131158
131394
  }
131159
131395
 
@@ -131184,6 +131420,61 @@ function OverlayScriptIndex(name,script,args,option)
131184
131420
  frame.ChartPaint.push(chart);
131185
131421
  }
131186
131422
 
131423
+ this.CreateKLineTable=function(hqChart,windowIndex,varItem,id)
131424
+ {
131425
+ var overlayIndex=this.OverlayIndex;
131426
+ var frame=overlayIndex.Frame;
131427
+ var chart=new ChartKLineTable();
131428
+ chart.Canvas=hqChart.Canvas;
131429
+ chart.Name=varItem.Name;
131430
+ chart.HQChart=hqChart;
131431
+ chart.ChartBorder=frame.Frame.ChartBorder;
131432
+ chart.ChartFrame=frame.Frame;
131433
+ chart.Identify=overlayIndex.Identify;
131434
+
131435
+ chart.Data=hqChart.GetKData(); //绑定K线
131436
+ chart.AryTableData=varItem.Draw.DrawData;
131437
+ if (IFrameSplitOperator.IsNumber(varItem.Draw.RowCount)) chart.RowCount=varItem.Draw.RowCount;
131438
+ if (IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName)) chart.RowName=varItem.Draw.RowName;
131439
+
131440
+ var config=varItem.Draw.Config;
131441
+ if (config)
131442
+ {
131443
+ if (config.BGColor) chart.BGColor=config.BGColor;
131444
+ if (config.TextColor) chart.TextColor=config.TextColor;
131445
+ if (config.BorderColor) chart.BorderColor=config.BorderColor;
131446
+ if (IFrameSplitOperator.IsNumber(config.RowNamePosition)) chart.RowNamePosition=config.RowNamePosition;
131447
+ if (IFrameSplitOperator.IsNumber(config.RowHeightType)) chart.RowHeightType=config.RowHeightType;
131448
+ if (IFrameSplitOperator.IsNumber(config.Style)) chart.Style=config.Style;
131449
+
131450
+ if (config.ItemMergin)
131451
+ {
131452
+ var subItem=config.ItemMergin;
131453
+ if (IFrameSplitOperator.IsNumber(subItem.Left)) chart.ItemMergin.Left=subItem.Left;
131454
+ if (IFrameSplitOperator.IsNumber(subItem.Top)) chart.ItemMergin.Top=subItem.Top;
131455
+ if (IFrameSplitOperator.IsNumber(subItem.Bottom)) chart.ItemMergin.Bottom=subItem.Bottom;
131456
+ if (IFrameSplitOperator.IsNumber(subItem.Right)) chart.ItemMergin.Right=subItem.Right;
131457
+ if (IFrameSplitOperator.IsNumber(subItem.YOffset)) chart.ItemMergin.YOffset=subItem.YOffset;
131458
+ }
131459
+
131460
+ if (config.TextFont)
131461
+ {
131462
+ var subItem=config.TextFont;
131463
+ if (IFrameSplitOperator.IsNumber(subItem.FontMaxSize)) chart.TextFontConfig.FontMaxSize=subItem.FontMaxSize;
131464
+ if (subItem.Family) chart.TextFontConfig.Family=subItem.Family;
131465
+ }
131466
+ }
131467
+
131468
+ chart.BuildCacheData();
131469
+ frame.ChartPaint.push(chart);
131470
+
131471
+ var titleIndex=windowIndex+1;
131472
+ var titlePaint=hqChart.TitlePaint[titleIndex];
131473
+ var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);
131474
+ titleData.DataType="ChartKLineTable";
131475
+ titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;
131476
+ }
131477
+
131187
131478
 
131188
131479
  //创建通道
131189
131480
  this.CreateChannel=function(hqChart,windowIndex,varItem,id)
@@ -161653,7 +161944,7 @@ function HQChartScriptWorker()
161653
161944
 
161654
161945
 
161655
161946
 
161656
- var HQCHART_VERSION="1.1.14863";
161947
+ var HQCHART_VERSION="1.1.14873";
161657
161948
 
161658
161949
  function PrintHQChartVersion()
161659
161950
  {