hqchart 1.1.14280 → 1.1.14283

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.
@@ -35426,6 +35426,225 @@ function ChartKLineTable()
35426
35426
  }
35427
35427
  }
35428
35428
 
35429
+ //表格
35430
+ function ChartSimpleTable()
35431
+ {
35432
+ this.newMethod=IChartPainting; //派生
35433
+ this.newMethod();
35434
+ delete this.newMethod;
35435
+
35436
+ this.ClassName='ChartSimpleTable'; //类名
35437
+ //this.Data;
35438
+
35439
+ this.TextFontConfig=CloneData(g_JSChartResource.ChartSimpleTable.TextFont);
35440
+ this.ItemMargin=CloneData(g_JSChartResource.ChartSimpleTable.ItemMargin);
35441
+ this.TextColor=g_JSChartResource.ChartSimpleTable.TextColor; //默认颜色
35442
+ this.BGColor=g_JSChartResource.ChartSimpleTable.BGColor; //背景色
35443
+ this.BorderColor=g_JSChartResource.ChartSimpleTable.BorderColor; //边框颜色
35444
+ this.Offset={ X:-3, Y:0 }, //位置偏移
35445
+
35446
+
35447
+ this.DefaultCellWidth=30;
35448
+
35449
+ this.RectClient={ };
35450
+ this.AryColumnCache=[]; //列缓存
35451
+ this.TextFontHeight;
35452
+ this.TextFont;
35453
+ this.RowHeight; //行高
35454
+
35455
+ this.ReloadResource=function(resource)
35456
+ {
35457
+ this.TextFontConfig=CloneData(g_JSChartResource.ChartSimpleTable.TextFont);
35458
+ this.ItemMargin=CloneData(g_JSChartResource.ChartSimpleTable.ItemMargin);
35459
+ this.TextColor=g_JSChartResource.ChartSimpleTable.TextColor; //默认颜色
35460
+ this.BGColor=g_JSChartResource.ChartSimpleTable.BGColor; //背景色
35461
+ this.BorderColor=g_JSChartResource.ChartSimpleTable.BorderColor; //边框颜色
35462
+ }
35463
+
35464
+ this.CalculateSize=function()
35465
+ {
35466
+ this.AryColumnCache=[];
35467
+
35468
+ var pixelRatio=GetDevicePixelRatio();
35469
+ this.TextFont=`${this.TextFontConfig.Size*pixelRatio}px ${ this.TextFontConfig.Name}`;
35470
+ this.TextFontHeight=this.GetFontHeight(this.TextFont,"擎");
35471
+ this.RowHeight=this.TextFontHeight+this.ItemMargin.Top+this.ItemMargin.Bottom;
35472
+
35473
+ var rowCount=this.Data.Data.length;
35474
+ for(var i=0, j=0;i<rowCount;++i)
35475
+ {
35476
+ var rowItem=this.Data.Data[i];
35477
+ for(j=0;j<rowItem.AryCell.length;++j)
35478
+ {
35479
+ if (!this.AryColumnCache[j]) this.AryColumnCache[j]={ Width:this.DefaultCellWidth };
35480
+ var colItem=this.AryColumnCache[j];
35481
+
35482
+ var cellItem=rowItem.AryCell[j];
35483
+ var textWidth=this.Canvas.measureText(cellItem.Text).width;
35484
+ if (colItem.Width<textWidth) colItem.Width=textWidth;
35485
+ }
35486
+ }
35487
+
35488
+ var tableWidth=0;
35489
+ for(var i=0;i<this.AryColumnCache.length;++i)
35490
+ {
35491
+ var item=this.AryColumnCache[i];
35492
+ item.Width+=(this.ItemMargin.Left+this.ItemMargin.Right); //增加左右间距
35493
+
35494
+ tableWidth+=item.Width;
35495
+ }
35496
+
35497
+ this.RectClient={ Width:tableWidth, Height:this.RowHeight*rowCount };
35498
+
35499
+ var border=this.ChartFrame.GetBorder();
35500
+ this.RectClient.Right=border.Right+this.Offset.X;
35501
+ this.RectClient.Top=border.TopEx+this.Offset.Y;
35502
+ this.RectClient.Left=this.RectClient.Right-this.RectClient.Width;
35503
+ this.RectClient.Bottom=this.RectClient.Top+this.RectClient.Height;
35504
+ }
35505
+
35506
+ this.Draw=function()
35507
+ {
35508
+ if (!this.IsShow || this.ChartFrame.IsMinSize) return;
35509
+ if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
35510
+
35511
+ var isHScreen=(this.ChartFrame.IsHScreen===true);
35512
+ if (isHScreen) return;
35513
+
35514
+ this.CalculateSize();
35515
+
35516
+ if (this.BGColor)
35517
+ {
35518
+ this.Canvas.fillStyle=this.BGColor;
35519
+ this.Canvas.fillRect(this.RectClient.Left, this.RectClient.Top, this.RectClient.Width, this.RectClient.Height);
35520
+ }
35521
+
35522
+ var itemHeight=this.RowHeight;
35523
+ this.Canvas.font=this.TextFont;
35524
+ this.Canvas.textBaseline='bottom';
35525
+ this.Canvas.textAlign='left';
35526
+ var rtRow={ Left:this.RectClient.Left, Top:this.RectClient.Top, Width:this.RectClient.Width, Height:itemHeight };
35527
+ rtRow.Right=rtRow.Left+rtRow.Width;
35528
+ rtRow.Bottom=rtRow.Top+rtRow.Height;
35529
+ var rowCount=this.Data.Data.length;
35530
+ for(var i=0;i<rowCount;++i)
35531
+ {
35532
+ var rowItem=this.Data.Data[i];
35533
+ this.DrawRow(rowItem, rtRow);
35534
+
35535
+ rtRow.Top+=itemHeight;
35536
+ rtRow.Bottom+=itemHeight;
35537
+ }
35538
+
35539
+ this.DrawBorder();
35540
+ }
35541
+
35542
+ this.DrawBorder=function()
35543
+ {
35544
+ if (!this.BorderColor) return;
35545
+
35546
+ var rowCount=this.Data.Data.length;
35547
+ var colCount=this.AryColumnCache.length;
35548
+ this.Canvas.strokeStyle=this.BorderColor;
35549
+ this.Canvas.beginPath();
35550
+
35551
+ //横线
35552
+ var rowTop=this.RectClient.Top;
35553
+ var left=this.RectClient.Left, right=this.RectClient.Right;
35554
+ var bottom=this.RectClient.Bottom, top=this.RectClient.Top;
35555
+ for(var i=0;i<rowCount;++i)
35556
+ {
35557
+ if (i==0)
35558
+ {
35559
+ var drawTop=ToFixedPoint(rowTop);
35560
+ this.Canvas.moveTo(left,drawTop);
35561
+ this.Canvas.lineTo(right,drawTop);
35562
+ }
35563
+
35564
+ var drawTop=ToFixedPoint(rowTop+this.RowHeight);
35565
+ this.Canvas.moveTo(left,drawTop);
35566
+ this.Canvas.lineTo(right,drawTop);
35567
+
35568
+ rowTop+=this.RowHeight;
35569
+ }
35570
+
35571
+ //竖线
35572
+ var columnLeft=this.RectClient.Left;
35573
+ for(var i=0;i<colCount; ++i)
35574
+ {
35575
+ var item=this.AryColumnCache[i];
35576
+
35577
+ if (i==0)
35578
+ {
35579
+ var drawLeft=ToFixedPoint(columnLeft);
35580
+ this.Canvas.moveTo(drawLeft,top);
35581
+ this.Canvas.lineTo(drawLeft,bottom);
35582
+ }
35583
+
35584
+ var drawLeft=ToFixedPoint(columnLeft+item.Width);
35585
+ this.Canvas.moveTo(drawLeft,top);
35586
+ this.Canvas.lineTo(drawLeft,bottom);
35587
+
35588
+ columnLeft+=item.Width;
35589
+ }
35590
+
35591
+ this.Canvas.stroke();
35592
+ }
35593
+
35594
+ this.DrawRow=function(data, rtRow)
35595
+ {
35596
+ if (!IFrameSplitOperator.IsNonEmptyArray(data.AryCell)) return;
35597
+
35598
+ var x=rtRow.Left,y=rtRow.Top, width=rtRow.Width;
35599
+ for(var i=0;i<data.AryCell.length;++i)
35600
+ {
35601
+ var item=data.AryCell[i];
35602
+ var colItem=this.AryColumnCache[i];
35603
+
35604
+ var rtBG={Left:x, Top:rtRow.Top, Bottom:rtRow.Bottom, Height:this.RowHeight, Width:colItem.Width };
35605
+ rtBG.Right=rtBG.Top+rtBG.Height;
35606
+
35607
+ if (item)
35608
+ {
35609
+ if (item.BGColor)
35610
+ {
35611
+ this.Canvas.fillStyle=item.BGColor;
35612
+ this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
35613
+ }
35614
+
35615
+ if (item.Text && rtBG.Width>10)
35616
+ {
35617
+ if (item.Color) this.Canvas.fillStyle=item.Color;
35618
+ else this.Canvas.fillStyle=this.TextColor
35619
+
35620
+ var xText=x+this.ItemMargin.Left;
35621
+ var yText=rtBG.Bottom-this.ItemMargin.Bottom;
35622
+
35623
+ if (item.TextAlign=='right')
35624
+ {
35625
+ var textWidth=this.Canvas.measureText(item.Text).width;
35626
+ xText=rtBG.Right-this.ItemMargin.Right-textWidth;
35627
+ }
35628
+ else if (item.TextAlign=='center')
35629
+ {
35630
+ var textWidth=this.Canvas.measureText(item.Text).width;
35631
+ xText=rtBG.Left+rtBG.Width/2-textWidth/2;
35632
+ }
35633
+
35634
+ this.Canvas.fillText(item.Text,xText,yText);
35635
+ }
35636
+ }
35637
+
35638
+ x+=rtBG.Width;
35639
+ }
35640
+ }
35641
+
35642
+ this.GetMaxMin=function()
35643
+ {
35644
+ return { Min:null, Max:null };
35645
+ }
35646
+ }
35647
+
35429
35648
  //分钟成交量 支持横屏
35430
35649
  function ChartMinuteVolumBar()
35431
35650
  {
@@ -74022,6 +74241,15 @@ function JSChartResource()
74022
74241
  ItemMergin:{ Left:5, Right:5, Top:4, Bottom:2 },
74023
74242
  };
74024
74243
 
74244
+ this.ChartSimpleTable=
74245
+ {
74246
+ TextFont:{ Family:'微软雅黑' , Size:14 },
74247
+ ItemMargin:{ Left:5, Right:5, Top:4, Bottom:2 },
74248
+ TextColor:"rgb(0,0,0)",
74249
+ BGColor:"rgba(255,255,255,0.95)",
74250
+ BorderColor:"rgb(217,217,217)",
74251
+ }
74252
+
74025
74253
  //手机端tooltip
74026
74254
  this.TooltipPaint = {
74027
74255
  BGColor:'rgba(250,250,250,0.8)', //背景色
@@ -75250,6 +75478,8 @@ function JSChartResource()
75250
75478
  if (style.Title.PositionColor) this.Title.PositionColor=style.Title.PositionColor;
75251
75479
  }
75252
75480
 
75481
+ if (style.ChartSimpleTable) this.SetChartSimpleTable(style.ChartSimpleTable);
75482
+
75253
75483
  if (style.DRAWICON)
75254
75484
  {
75255
75485
  if (style.DRAWICON.Icon)
@@ -75509,7 +75739,7 @@ function JSChartResource()
75509
75739
  {
75510
75740
  var mergin=header.Mergin;
75511
75741
  if (IFrameSplitOperator.IsNumber(mergin.Left)) this.DealList.Header.Mergin.Left=mergin.Left;
75512
- if (IFrameSplitOperator.IsNumber(mergin.Right)) this.DealList.Header.Mergin.Left=mergin.Right;
75742
+ if (IFrameSplitOperator.IsNumber(mergin.Right)) this.DealList.Header.Mergin.Right=mergin.Right;
75513
75743
  if (IFrameSplitOperator.IsNumber(mergin.Top)) this.DealList.Header.Mergin.Top=mergin.Top;
75514
75744
  if (IFrameSplitOperator.IsNumber(mergin.Bottom)) this.DealList.Header.Mergin.Bottom=mergin.Bottom;
75515
75745
  }
@@ -76295,6 +76525,32 @@ function JSChartResource()
76295
76525
  if (IFrameSplitOperator.IsBool(style.AddIndexWindow)) dest.AddIndexWindow=style.AddIndexWindow;
76296
76526
  }
76297
76527
 
76528
+
76529
+ this.SetChartSimpleTable=function(style)
76530
+ {
76531
+ var dest=this.ChartSimpleTable;
76532
+
76533
+ if (style.TextColor) dest.TextColor=style.TextColor;
76534
+ if (style.BGColor) dest.BGColor=style.BGColor;
76535
+ if (style.BorderColor) dest.BorderColor=style.BorderColor;
76536
+
76537
+ if (style.TextFont)
76538
+ {
76539
+ var item=style.TextFont;
76540
+ if (item.Name) dest.TextFont.Name=item.Name;
76541
+ if (IFrameSplitOperator.IsNumber(item.Size)) dest.TextFont.Size=item.Size;
76542
+ }
76543
+
76544
+ if (style.ItemMargin)
76545
+ {
76546
+ var margin=style.ItemMargin;
76547
+ if (IFrameSplitOperator.IsNumber(margin.Left)) dest.ItemMargin.Left=margin.Left;
76548
+ if (IFrameSplitOperator.IsNumber(margin.Right)) dest.ItemMargin.Right=margin.Right;
76549
+ if (IFrameSplitOperator.IsNumber(margin.Top)) dest.ItemMargin.Top=margin.Top;
76550
+ if (IFrameSplitOperator.IsNumber(margin.Bottom)) dest.ItemMargin.Bottom=margin.Bottom;
76551
+ }
76552
+ }
76553
+
76298
76554
  }
76299
76555
 
76300
76556
  var g_JSChartResource=new JSChartResource();
@@ -121169,6 +121425,29 @@ function ScriptIndex(name,script,args,option)
121169
121425
  hqChart.ChartPaint.push(chart);
121170
121426
  }
121171
121427
 
121428
+ this.CreateSimpleTable=function(hqChart,windowIndex,varItem,id)
121429
+ {
121430
+ var chart=new ChartSimpleTable();
121431
+ chart.Canvas=hqChart.Canvas;
121432
+ chart.Name=varItem.Name;
121433
+ chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;
121434
+ chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;
121435
+
121436
+ if (varItem.Draw && varItem.Draw.DrawData)
121437
+ {
121438
+ var drawData=varItem.Draw.DrawData;
121439
+ if (drawData.TableData) chart.Data.Data=drawData.TableData;
121440
+ if (drawData.BGColor) chart.BGColor=drawData.BGColor;
121441
+ if (drawData.BorderColor) chart.BorderColor=drawData.BorderColor;
121442
+ if (drawData.TextFont) chart.TextFontConfig=drawData.TextFont;
121443
+ if (drawData.TextColor) chart.TextColor=drawData.TextColor;
121444
+ if (IFrameSplitOperator.IsNumber(drawData.XOffset)) chart.Offset.X=drawData.XOffset;
121445
+ if (IFrameSplitOperator.IsNumber(drawData.YOffset)) chart.Offset.Y=drawData.YOffset;
121446
+ }
121447
+
121448
+ hqChart.ChartPaint.push(chart);
121449
+ }
121450
+
121172
121451
  this.CreateTradeIcon=function(hqChart,windowIndex,varItem,id)
121173
121452
  {
121174
121453
  var chart=new ChartTradeIcon();
@@ -122034,6 +122313,9 @@ function ScriptIndex(name,script,args,option)
122034
122313
  case "MULTI_POINT_LINE":
122035
122314
  this.CreateLineMultiData(hqChart,windowIndex,item,i);
122036
122315
  break;
122316
+ case "DRAW_SIMPLE_TABLE":
122317
+ this.CreateSimpleTable(hqChart,windowIndex,item,i);
122318
+ break;
122037
122319
  case "BUY":
122038
122320
  case "SELL":
122039
122321
  case "SELLSHORT":
@@ -122381,6 +122663,10 @@ function OverlayScriptIndex(name,script,args,option)
122381
122663
  this.CreateMulitHtmlDom(hqChart,windowIndex,item,i);
122382
122664
  break;
122383
122665
 
122666
+ case "DRAW_SIMPLE_TABLE":
122667
+ this.CreateSimpleTable(hqChart,windowIndex,item,i);
122668
+ break;
122669
+
122384
122670
  case "KLINE_BG":
122385
122671
  this.CreateBackgroud(hqChart,windowIndex,item,i);
122386
122672
  break;
@@ -123390,6 +123676,33 @@ function OverlayScriptIndex(name,script,args,option)
123390
123676
  frame.ChartPaint.push(chart);
123391
123677
  }
123392
123678
 
123679
+ this.CreateSimpleTable=function(hqChart,windowIndex,varItem,i)
123680
+ {
123681
+ var overlayIndex=this.OverlayIndex;
123682
+ var frame=overlayIndex.Frame;
123683
+ var chart=new ChartSimpleTable();
123684
+ chart.Canvas=hqChart.Canvas;
123685
+ chart.Name=varItem.Name;
123686
+ chart.ChartBorder=frame.Frame.ChartBorder;
123687
+ chart.ChartFrame=frame.Frame;
123688
+ chart.Identify=overlayIndex.Identify;
123689
+ chart.HQChart=hqChart;
123690
+
123691
+ if (varItem.Draw && varItem.Draw.DrawData)
123692
+ {
123693
+ var drawData=varItem.Draw.DrawData;
123694
+ if (drawData.TableData) chart.Data.Data=drawData.TableData;
123695
+ if (drawData.BGColor) chart.BGColor=drawData.BGColor;
123696
+ if (drawData.BorderColor) chart.BorderColor=drawData.BorderColor;
123697
+ if (drawData.TextFont) chart.TextFontConfig=drawData.TextFont;
123698
+ if (drawData.TextColor) chart.TextColor=drawData.TextColor;
123699
+ if (IFrameSplitOperator.IsNumber(drawData.XOffset)) chart.Offset.X=drawData.XOffset;
123700
+ if (IFrameSplitOperator.IsNumber(drawData.YOffset)) chart.Offset.Y=drawData.YOffset;
123701
+ }
123702
+
123703
+ frame.ChartPaint.push(chart);
123704
+ }
123705
+
123393
123706
  this.CreateChartVericaltLine=function(hqChart,windowIndex,varItem,id)
123394
123707
  {
123395
123708
  var overlayIndex=this.OverlayIndex;
@@ -124581,6 +124894,17 @@ function APIScriptIndex(name,script,args,option, isOverlay)
124581
124894
 
124582
124895
  result.push(outVarItem);
124583
124896
  }
124897
+ else if (draw.DrawType=="DRAW_SIMPLE_TABLE")
124898
+ {
124899
+ drawItem.Name=draw.Name;
124900
+ drawItem.Type=draw.Type;
124901
+
124902
+ drawItem.DrawType=draw.DrawType;
124903
+ drawItem.DrawData=draw.DrawData; //{ TableData:[ [ {AryCell:[{Text:, Color: }]}, ], ], BGColor:, TextFont:{ Size:, Name: } };
124904
+
124905
+ outVarItem.Draw=drawItem;
124906
+ result.push(outVarItem);
124907
+ }
124584
124908
  else
124585
124909
  {
124586
124910
  var find=g_ScriptIndexChartFactory.Get(draw.DrawType); //外部挂接
@@ -126185,6 +126509,13 @@ function GetBlackStyle()
126185
126509
  }
126186
126510
  },
126187
126511
 
126512
+ ChartSimpleTable:
126513
+ {
126514
+ TextColor:"rgb(250,250,250)",
126515
+ BGColor:"rgba(0,0,0,0.85)",
126516
+ BorderColor:"rgb(90,90,90)",
126517
+ },
126518
+
126188
126519
  ChartDrawVolProfile:
126189
126520
  {
126190
126521
  BGColor:"rgba(244,250,254,0.3)",
@@ -140720,7 +141051,7 @@ function ScrollBarBGChart()
140720
141051
 
140721
141052
 
140722
141053
 
140723
- var HQCHART_VERSION="1.1.14279";
141054
+ var HQCHART_VERSION="1.1.14282";
140724
141055
 
140725
141056
  function PrintHQChartVersion()
140726
141057
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.14279";
8
+ var HQCHART_VERSION="1.1.14282";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {