hqchart 1.1.15111 → 1.1.15126

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.
@@ -6722,6 +6722,14 @@ JSChart.RegisterChartFrameClass=function(name, option)
6722
6722
  }
6723
6723
 
6724
6724
 
6725
+ //注册DOM对话框类
6726
+ //option:{ Create:创建类方法 }
6727
+ JSChart.RegisterDOMClass=function(name, option)
6728
+ {
6729
+ return g_JSDOMFactory.Add(name, option);
6730
+ }
6731
+
6732
+
6725
6733
  //一些公共函数
6726
6734
  JSChart.ToFixedPoint=function(value)
6727
6735
  {
@@ -14447,6 +14455,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
14447
14455
  if (IFrameSplitOperator.IsBool(windowItem.IsShowTitleArrow)) frame.IsShowTitleArrow=windowItem.IsShowTitleArrow;
14448
14456
  if (IFrameSplitOperator.IsNumber(windowItem.TitleArrowType)) frame.TitleArrowType=windowItem.TitleArrowType;
14449
14457
  if (IFrameSplitOperator.IsBool(windowItem.IsShowIndexName)) frame.IsShowIndexName=windowItem.IsShowIndexName;
14458
+ if (IFrameSplitOperator.IsBool(windowItem.IsSinlgeLine)) frame.IsSinlgeLine=windowItem.IsSinlgeLine;
14450
14459
  if (IFrameSplitOperator.IsBool(windowItem.IsShowOverlayIndexName)) frame.IsShowOverlayIndexName=windowItem.IsShowOverlayIndexName;
14451
14460
  if (IFrameSplitOperator.IsNumber(windowItem.IndexParamSpace)) frame.IndexParamSpace=windowItem.IndexParamSpace;
14452
14461
  if (IFrameSplitOperator.IsNumber(windowItem.IndexTitleSpace)) frame.IndexTitleSpace=windowItem.IndexTitleSpace;
@@ -14570,6 +14579,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
14570
14579
  if (IFrameSplitOperator.IsBool(option.IsShowTitleArrow)) subFrame.Frame.IsShowTitleArrow=option.IsShowTitleArrow;
14571
14580
  if (IFrameSplitOperator.IsNumber(option.TitleArrowType)) subFrame.Frame.TitleArrowType=option.TitleArrowType;
14572
14581
  if (IFrameSplitOperator.IsBool(option.IsShowIndexName)) subFrame.Frame.IsShowIndexName=option.IsShowIndexName;
14582
+ if (IFrameSplitOperator.IsBool(option.IsSinlgeLine)) subFrame.Frame.IsSinlgeLine=option.IsSinlgeLine;
14573
14583
  if (IFrameSplitOperator.IsBool(option.IsShowOverlayIndexName)) subFrame.Frame.IsShowOverlayIndexName=option.IsShowOverlayIndexName;
14574
14584
  if (IFrameSplitOperator.IsNumber(option.IndexParamSpace)) subFrame.Frame.IndexParamSpace=option.IndexParamSpace;
14575
14585
  if (IFrameSplitOperator.IsBool(option.IsShowXLine)) subFrame.Frame.IsShowXLine=option.IsShowXLine;
@@ -16655,6 +16665,36 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
16655
16665
  this.UpdateWindowIndexV2(aryUpdate);
16656
16666
  return true;
16657
16667
  }
16668
+
16669
+ this.TryClickLock=function(x,y)
16670
+ {
16671
+ if (!this.Frame || !IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame)) return false;
16672
+
16673
+ for(var i=0;i<this.Frame.SubFrame.length; ++i)
16674
+ {
16675
+ var item=this.Frame.SubFrame[i];
16676
+ var chartLock=item.Frame.LockPaint;
16677
+ if (!chartLock || !chartLock.LockRect) continue;
16678
+
16679
+ var tooltip=new TooltipData();
16680
+ if (!chartLock.GetTooltipData(x,y,tooltip)) continue;
16681
+
16682
+ tooltip.HQChart=this;
16683
+
16684
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_INDEX_LOCK);
16685
+ if (event && event.Callback)
16686
+ {
16687
+ var sendData={ FrameID:item.Frame.Identify, Data:tooltip };
16688
+ event.Callback(event,sendData,this);
16689
+ }
16690
+
16691
+
16692
+ if (tooltip.Data.Callback) tooltip.Data.Callback(tooltip);
16693
+ return true;
16694
+ }
16695
+
16696
+ return false;
16697
+ }
16658
16698
  }
16659
16699
 
16660
16700
  function GetDevicePixelRatio()
@@ -17309,6 +17349,7 @@ function IChartFramePainting()
17309
17349
  this.IsShowBorder = true; //是否显示边框
17310
17350
  this.IsShowTitleArrow=g_JSChartResource.IndexTitle.EnableIndexArrow; //是否显示指标信息上涨下跌箭头
17311
17351
  this.TitleArrowType=g_JSChartResource.IndexTitle.ArrowType; //指标信息上涨下跌箭头类型 0=独立颜色 1=跟指标名字颜色一致
17352
+ this.IsSinlgeLine=g_JSChartResource.IndexTitle.IsSinlgeLine;
17312
17353
  this.IsShowIndexName=true; //是否显示指标名字
17313
17354
  this.IsShowOverlayIndexName=true; //是否显示叠加指标名字
17314
17355
  //this.OverlayIndexType= { Position:0, LineSpace:5 };
@@ -20410,7 +20451,7 @@ function AverageWidthFrame()
20410
20451
 
20411
20452
  if (this.ClassName=="MinuteFrame" || this.ClassName=="KLineFrame")
20412
20453
  {
20413
- this.DivFrameToolbar=new JSDivFrameToolbar();
20454
+ this.DivFrameToolbar=g_JSDOMFactory.Create('JSDivFrameToolbar');//new JSDivFrameToolbar();
20414
20455
  this.DivFrameToolbar.HQChart=hqchart;
20415
20456
  this.DivFrameToolbar.DivHQChart=divHQChart;
20416
20457
  this.DivFrameToolbar.FrameID=frameID;
@@ -30955,9 +30996,20 @@ function IChartPainting()
30955
30996
  var x=left+width/2;
30956
30997
  var y=top+height/2;
30957
30998
 
30999
+ var bHScreen=this.ChartFrame.IsHScreen;
31000
+ if (bHScreen)
31001
+ {
31002
+ this.Canvas.save();
31003
+ this.Canvas.translate(x, y);
31004
+ this.Canvas.rotate(90 * Math.PI / 180);
31005
+ x=0,y=0;
31006
+ }
31007
+
30958
31008
  this.Canvas.textAlign="center";
30959
31009
  this.Canvas.textBaseline="middle";
30960
31010
  this.Canvas.fillText(this.NotSupportMessage,x,y);
31011
+
31012
+ if (bHScreen) this.Canvas.restore();
30961
31013
  }
30962
31014
 
30963
31015
  this.GetTooltipData=function(x,y,tooltip)
@@ -51999,6 +52051,8 @@ function ChartLock()
51999
52051
  this.IndexName; //指标名字
52000
52052
  this.IndexID; //指标ID
52001
52053
 
52054
+ this.MinWidthText=" 付费指标 "
52055
+
52002
52056
  this.SetData=function(aryData)
52003
52057
  {
52004
52058
  this.AryData=aryData;
@@ -52126,11 +52180,27 @@ function ChartLock()
52126
52180
  }
52127
52181
  }
52128
52182
 
52183
+ this.Canvas.font=this.Font;
52184
+ var minWidth=this.Canvas.measureText(this.MinWidthText).width;
52185
+
52186
+ var aryText=null;
52187
+ if (Array.isArray(this.Title)) aryText=this.Title;
52188
+ else aryText=[{Text:this.Title}];
52189
+
52190
+ var outSize={ };
52191
+ if (!this.CalculateTextSize(aryText, this.Font, outSize)) outSize=null;
52192
+ if (outSize && outSize.Width+8>minWidth) minWidth=outSize.Width+8; //确保文字可以显示
52193
+
52129
52194
  if (bHScreen)
52130
52195
  {
52131
52196
  var rtBG={ Left:border.Left, Right:border.RightEx, Top:left, Bottom:border.Bottom };
52132
52197
  rtBG.Width=rtBG.Right-rtBG.Left;
52133
52198
  rtBG.Height=rtBG.Bottom-rtBG.Top;
52199
+ if (rtBG.Height<minWidth)
52200
+ {
52201
+ rtBG.Height=minWidth;
52202
+ rtBG.Top=rtBG.Bottom-rtBG.Height;
52203
+ }
52134
52204
  this.LockRect=rtBG; //保存上锁区域
52135
52205
 
52136
52206
  if (bDraw)
@@ -52145,6 +52215,11 @@ function ChartLock()
52145
52215
  var rtBG={ Left:left, Right:border.RightEx, Top:border.TopTitle, Bottom:border.Bottom };
52146
52216
  rtBG.Width=rtBG.Right-rtBG.Left;
52147
52217
  rtBG.Height=rtBG.Bottom-rtBG.Top;
52218
+ if (rtBG.Width<minWidth)
52219
+ {
52220
+ rtBG.Width=minWidth;
52221
+ rtBG.Left=rtBG.Right-rtBG.Width;
52222
+ }
52148
52223
  this.LockRect=rtBG; //保存上锁区域
52149
52224
 
52150
52225
  if (bDraw)
@@ -52157,13 +52232,7 @@ function ChartLock()
52157
52232
  }
52158
52233
 
52159
52234
  if (!bDraw) return;
52160
-
52161
- var aryText=null;
52162
- if (Array.isArray(this.Title)) aryText=this.Title;
52163
- else aryText=[{Text:this.Title}];
52164
-
52165
- var outSize={ };
52166
- if (!this.CalculateTextSize(aryText, this.Font, outSize)) return;
52235
+ if (!outSize) return;
52167
52236
 
52168
52237
  this.Canvas.textAlign='left';
52169
52238
  this.Canvas.textBaseline='bottom';
@@ -66674,6 +66743,7 @@ function DynamicChartTitlePainting()
66674
66743
  this.IsShowIndexName=true; //是否显示指标名字
66675
66744
  this.IsShowIndexTitle=true; //是否显示指标标题信息
66676
66745
  this.IsShowNameArrow=false;
66746
+ this.IsSinlgeLine=false; //主图指标标题是否单行显示
66677
66747
  this.NameArrowConfig=CloneData(g_JSChartResource.IndexTitle.NameArrow);
66678
66748
  this.CustomLocation; //自定义位置 { IsShow:, Top:, TitleHeight: }
66679
66749
 
@@ -67412,6 +67482,7 @@ function DynamicChartTitlePainting()
67412
67482
  this.IsShowUpDownArrow=this.Frame.IsShowTitleArrow;
67413
67483
  this.TitleArrowType=this.Frame.TitleArrowType;
67414
67484
  this.IsShowIndexName=this.Frame.IsShowIndexName;
67485
+ this.IsSinlgeLine=this.Frame.IsSinlgeLine;
67415
67486
  this.IsShowOverlayIndexName=this.Frame.IsShowOverlayIndexName;
67416
67487
  this.OverlayIndexType.Position=this.Frame.OverlayIndexType.Position;
67417
67488
  this.OverlayIndexType.LineSpace=this.Frame.OverlayIndexType.LineSpace;
@@ -67818,6 +67889,7 @@ function DynamicChartTitlePainting()
67818
67889
 
67819
67890
  if ((left+textWidth+space)>right)
67820
67891
  {
67892
+ if (this.IsSinlgeLine) break;
67821
67893
  left=newLineLeft;
67822
67894
  bottom+=lineHeight;
67823
67895
  right=this.Frame.ChartBorder.GetRight(); //第2行以后 右侧边框
@@ -67882,6 +67954,7 @@ function DynamicChartTitlePainting()
67882
67954
  var textWidth=this.Canvas.measureText(text).width+space;
67883
67955
  if ((left+textWidth)>right) //换行
67884
67956
  {
67957
+ if (this.IsSinlgeLine) break;
67885
67958
  left=newLineLeft;
67886
67959
  bottom+=lineHeight;
67887
67960
  right=this.Frame.ChartBorder.GetRight(); //第2行以后 右侧边框
@@ -81369,6 +81442,8 @@ function JSChartResource()
81369
81442
  EnableIndexArrow:true, //指标数值是否带上涨下跌箭头
81370
81443
 
81371
81444
  NameArrow:{ Color:"rgb(43,54,69)", Space:2, Symbol:'▼' },
81445
+
81446
+ IsSinlgeLine:false, //主图指标是否单行显示 false=多行显示
81372
81447
  }
81373
81448
 
81374
81449
  this.Title={
@@ -83054,6 +83129,7 @@ function JSChartResource()
83054
83129
 
83055
83130
  if (IFrameSplitOperator.IsNumber(item.ArrowType)) this.IndexTitle.ArrowType=item.ArrowType;
83056
83131
  if (IFrameSplitOperator.IsBool(item.EnableIndexArrow)) this.IndexTitle.EnableIndexArrow=item.EnableIndexArrow;
83132
+ if (IFrameSplitOperator.IsBool(item.IsSinlgeLine)) this.IndexTitle.IsSinlgeLine=item.IsSinlgeLine;
83057
83133
 
83058
83134
  if (item.NameArrow)
83059
83135
  {
@@ -90818,32 +90894,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
90818
90894
  }
90819
90895
  }
90820
90896
 
90821
- this.TryClickLock=function(x,y)
90822
- {
90823
- for(var i=0;i<this.Frame.SubFrame.length; ++i)
90824
- {
90825
- var item=this.Frame.SubFrame[i];
90826
- var chartLock=item.Frame.LockPaint;
90827
- if (!chartLock || !chartLock.LockRect) continue;
90828
-
90829
- var tooltip=new TooltipData();
90830
- if (!chartLock.GetTooltipData(x,y,tooltip)) continue;
90831
-
90832
- tooltip.HQChart=this;
90833
- var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_INDEX_LOCK);
90834
- if (event && event.Callback)
90835
- {
90836
- var sendData={ FrameID:item.Frame.Identify, Data:tooltip };
90837
- event.Callback(event,sendData,this);
90838
- }
90839
-
90840
- if (tooltip.Data.Callback) tooltip.Data.Callback(tooltip);
90841
- return true;
90842
- }
90843
-
90844
- return false;
90845
- }
90846
-
90847
90897
  this.TryClickIndexTitle=function(x,y)
90848
90898
  {
90849
90899
  for(var i in this.TitlePaint)
@@ -100650,34 +100700,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
100650
100700
 
100651
100701
  return false;
100652
100702
  }
100653
-
100654
- this.TryClickLock=function(x,y)
100655
- {
100656
- for(var i=0;i<this.Frame.SubFrame.length; ++i)
100657
- {
100658
- var item=this.Frame.SubFrame[i];
100659
- var chartLock=item.Frame.LockPaint;
100660
- if (!chartLock || !chartLock.LockRect) continue;
100661
-
100662
- var tooltip=new TooltipData();
100663
- if (!chartLock.GetTooltipData(x,y,tooltip)) continue;
100664
-
100665
- tooltip.HQChart=this;
100666
-
100667
- var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_INDEX_LOCK);
100668
- if (event && event.Callback)
100669
- {
100670
- var sendData={ FrameID:item.Frame.Identify, Data:tooltip };
100671
- event.Callback(event,sendData,this);
100672
- }
100673
-
100674
-
100675
- if (tooltip.Data.Callback) tooltip.Data.Callback(tooltip);
100676
- return true;
100677
- }
100678
-
100679
- return false;
100680
- }
100681
100703
  }
100682
100704
 
100683
100705
  //盘前数据
@@ -102629,6 +102651,7 @@ function KLineChartHScreenContainer(uielement)
102629
102651
  frame.RightSpaceCount=this.RightSpaceCount; //右边
102630
102652
  frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
102631
102653
  frame.GlobalOption=this.GlobalOption;
102654
+ frame.CreateLockPaint();
102632
102655
 
102633
102656
  frame.HorizontalMax=20;
102634
102657
  frame.HorizontalMin=10;
@@ -102817,6 +102840,7 @@ function MinuteChartHScreenContainer(uielement)
102817
102840
  frame.XPointCount=243;
102818
102841
  frame.HQChart=this;
102819
102842
  frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
102843
+ frame.CreateLockPaint();
102820
102844
 
102821
102845
  var DEFAULT_HORIZONTAL=[9,8,7,6,5,4,3,2,1];
102822
102846
  frame.HorizontalMax=DEFAULT_HORIZONTAL[0];
@@ -109503,7 +109527,7 @@ function JSDivFrameToolbar()
109503
109527
  {
109504
109528
  var item=aryButton[i];
109505
109529
  if (!item.ID || !item.ClassName) continue;
109506
- var newItem={ ID:item.ID, ClassName:item.ClassName, Span:null,Div:null, TooltipSpan:null };
109530
+ var newItem={ ID:item.ID, ClassName:item.ClassName, Span:null,Div:null, TooltipSpan:null, SpanText:item.SpanText };
109507
109531
  if (item.Tooltip && item.Tooltip.Text) newItem.Tooltip={ Text:item.Tooltip.Text };
109508
109532
 
109509
109533
  this.AryButton.push(newItem);
@@ -109534,7 +109558,7 @@ function JSDivFrameToolbar()
109534
109558
  if (!frame && this.FrameID>=0 && this.FrameID<this.HQChart.Frame.SubFrame.length)
109535
109559
  frame=this.HQChart.Frame.SubFrame[this.FrameID].Frame;
109536
109560
 
109537
- var aryDefaultButton=JSDivFrameToolbar.GetDfaultButtons();
109561
+ var aryDefaultButton=JSDivFrameToolbar.GetDfaultButtons(frame);
109538
109562
  var aryButton=[];
109539
109563
  for(var i=0;i<aryDefaultButton.length; i++)
109540
109564
  {
@@ -109592,8 +109616,6 @@ function JSDivFrameToolbar()
109592
109616
  this.SetToolbar(aryButton); //重新设置按钮
109593
109617
  }
109594
109618
 
109595
-
109596
-
109597
109619
  this.Destroy=function()
109598
109620
  {
109599
109621
  if (this.DivToolbar)
@@ -109661,6 +109683,7 @@ function JSDivFrameToolbar()
109661
109683
  var spanDom=document.createElement("span");
109662
109684
  spanDom.className=item.ClassName;
109663
109685
  spanDom.onmousedown=(e)=>{ this.OnClickButton(e, item); };
109686
+ if (item.SpanText) spanDom.innerText=item.SpanText;
109664
109687
  item.Span=spanDom;
109665
109688
  btnDiv.appendChild(spanDom);
109666
109689
 
@@ -109745,7 +109768,7 @@ function JSDivFrameToolbar()
109745
109768
  }
109746
109769
  }
109747
109770
 
109748
- JSDivFrameToolbar.GetDfaultButtons=function()
109771
+ JSDivFrameToolbar.GetDfaultButtons=function(frame)
109749
109772
  {
109750
109773
  var aryButton=
109751
109774
  [
@@ -109769,12 +109792,50 @@ JSDivFrameToolbar.GetDfaultButtons=function()
109769
109792
  ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-close", Tooltip:{ Text:"关闭窗口"},
109770
109793
  Span:null,Div:null, TooltipSpan:null
109771
109794
  },
109795
+
109796
+ /*
109797
+ {
109798
+ ID:"TEST_8889", ClassName:"UMyChart_FrameToolbar_Span_Text", Tooltip:{ Text:"测试按钮提示"}, SpanText:"测试按钮",
109799
+ Span:null, Div:null, TooltipSpan:null
109800
+ },
109801
+ */
109772
109802
  ];
109773
109803
 
109774
109804
  return aryButton
109775
109805
  }
109776
109806
 
109777
109807
 
109808
+
109809
+ //DOM工厂类
109810
+ function JSDOMFactory()
109811
+ {
109812
+ //[key:name, { Create:function(divElement) { return new class(divElement); }} ]
109813
+ this.DataMap=new Map(
109814
+ [
109815
+ ["JSDivFrameToolbar", { Create:function(option) { return new JSDivFrameToolbar(option); } }],
109816
+ ]);
109817
+
109818
+ this.Create=function(name, option)
109819
+ {
109820
+ if (!this.DataMap.has(name))
109821
+ {
109822
+ JSConsole.Chart.Warn(`[JSDOMFactory::Create] can't find class=${name}.`);
109823
+ return null;
109824
+ }
109825
+
109826
+ var item=this.DataMap.get(name);
109827
+ return item.Create(option);
109828
+ }
109829
+
109830
+ this.Add=function(name, option)
109831
+ {
109832
+ this.DataMap.set(name, { Create:option.Create } );
109833
+ }
109834
+ }
109835
+
109836
+ var g_JSDOMFactory=new JSDOMFactory();
109837
+
109838
+
109778
109839
  function JSToolbarTooltip()
109779
109840
  {
109780
109841
  this.DivTooltip=null;
@@ -153832,7 +153893,7 @@ function ScrollBarBGChart()
153832
153893
 
153833
153894
 
153834
153895
 
153835
- var HQCHART_VERSION="1.1.15110";
153896
+ var HQCHART_VERSION="1.1.15125";
153836
153897
 
153837
153898
  function PrintHQChartVersion()
153838
153899
  {
@@ -153944,6 +154005,8 @@ export default {
153944
154005
  IChartDrawPicture:IChartDrawPicture, //画图工具
153945
154006
  DynamicTitleData:DynamicTitleData, //指标标题数据
153946
154007
 
154008
+ JSDivFrameToolbar:JSDivFrameToolbar, //div指标工具条
154009
+
153947
154010
  //成交明细
153948
154011
  JSDealChart:JSDealChart,
153949
154012
  DEAL_COLUMN_ID:DEAL_COLUMN_ID,
@@ -153988,6 +154051,7 @@ export default {
153988
154051
  JSCHART_MENU_ID:JSCHART_MENU_ID,
153989
154052
  JSCHART_TRADE_STATUS_ID:JSCHART_TRADE_STATUS_ID, //交易状态
153990
154053
  JSCHART_CORSSCURSOR_STATUS_ID:JSCHART_CORSSCURSOR_STATUS_ID, //十字光标状态
154054
+ CONDITION_PERIOD:CONDITION_PERIOD, //指标周期条件枚举
153991
154055
  },
153992
154056
  }
153993
154057
 
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.15110";
8
+ var HQCHART_VERSION="1.1.15125";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -55883,7 +55883,7 @@ HQData.Minute_RequestMinuteData=function(data, callback)
55883
55883
  }
55884
55884
 
55885
55885
  //盘中
55886
- stockItem.minute.length=50;
55886
+ //stockItem.minute.length=50;
55887
55887
  //测试用 这里可以修改数据
55888
55888
  //var lastItem=srcStock.minute[srcStock.minute.length-1];
55889
55889
  //lastItem.price+=Math.ceil(Math.random()*10)/1000*lastItem.price;
@@ -57499,6 +57499,9 @@ HQData.Report_RequestStockData=function(data, callback)
57499
57499
  var testDate=new Date();
57500
57500
  testDate.setHours(testDate.getHours() + i*2)
57501
57501
  newItem[401]={ DateTime:testDate } ;
57502
+
57503
+
57504
+ newItem[JSCHART_DATA_FIELD_ID.REPORT_EXTENDDATA]={ Value:"ddddd" };
57502
57505
 
57503
57506
 
57504
57507
  item.Data=newItem;
@@ -58216,6 +58219,8 @@ HQData.Report_APIIndex=function(data, callback)
58216
58219
  HQData.APIIndex_SCATTER_PLOT_V2(data, callback);
58217
58220
  else if (request.Data.indexname=="API_KLINE_TABLE")
58218
58221
  HQData.APIIndex_KLINE_TABLE(data, callback);
58222
+ else if (request.Data.indexname=="API_MINUTE_TABLE")
58223
+ HQData.APIIndex_MINUTE_TABLE(data, callback);
58219
58224
  else if (request.Data.indexname=="API_DRAWSVG")
58220
58225
  HQData.APIIndex_DRAWSVG(data, callback);
58221
58226
  else if (request.Data.indexname=="API_BASELINE_BAR")
@@ -58223,6 +58228,9 @@ HQData.Report_APIIndex=function(data, callback)
58223
58228
  else if (request.Data.indexname=="API_VERTLINE")
58224
58229
  HQData.APIIndex_VERTLINE(data, callback);
58225
58230
 
58231
+ else if (request.Data.indexname=="API_ERRORMESSAGE")
58232
+ HQData.APIIndex_ErrorMessage(data, callback);
58233
+
58226
58234
 
58227
58235
  //付费图形
58228
58236
  else if (request.Data.indexname=="API_MARK_AREA_V2")
@@ -59418,6 +59426,114 @@ HQData.APIIndex_KLINE_TABLE=function(data, callback)
59418
59426
  }
59419
59427
 
59420
59428
 
59429
+ HQData.APIIndex_MINUTE_TABLE=function(data, callback)
59430
+ {
59431
+ data.PreventDefault=true;
59432
+ var hqchart=data.HQChart;
59433
+ var kData=data.HQChart.GetKData(); //hqchart图形的分钟数据
59434
+
59435
+ var tableData=
59436
+ {
59437
+ name:'JS_CHART_MINUTETABLE_9DFC', type:1,
59438
+ Draw:
59439
+ {
59440
+ DrawType:'JS_CHART_MINUTETABLE_9DFC',
59441
+ DrawData:[ ] , //数据 [ [ { Text, Color: BGColor }, ...... ], [],]
59442
+
59443
+ Config:
59444
+ {
59445
+ //BGColor:"rgba(238,232,205,0.5)",
59446
+ //BorderColor:"rgb(220,220,220)",
59447
+ TextColor:"rgb(250,250,250)",
59448
+ ItemMergin:{ Left:1, Right:1, Top:0, Bottom:0, YOffset:0 },
59449
+ TextFont:{ Family:'微软雅黑' , FontMaxSize:14*GetDevicePixelRatio(), },
59450
+ Style:1,
59451
+ CellWidth:18*GetDevicePixelRatio(),
59452
+ CellHeight:14*GetDevicePixelRatio(),
59453
+ RowCount:2,
59454
+ LineColor:"rgb(5,105,225)",
59455
+ LineDash:[5*GetDevicePixelRatio(),5*GetDevicePixelRatio()],
59456
+ }
59457
+ },
59458
+
59459
+ };
59460
+
59461
+ for(var i=0;i<kData.Data.length;++i)
59462
+ {
59463
+ var kItem=kData.Data[i];
59464
+
59465
+ //一列数据
59466
+ var colItem={ Date:kItem.Date, Time:kItem.Time, Data:[ ] };
59467
+
59468
+ if (kItem.Time==1030 || kItem.Time==1035)
59469
+ {
59470
+ colItem.Data[0]=
59471
+ {
59472
+ Text:"多", Color:"rgb(250,250,250)", BGColor:'rgb(250,0,0)', TextAlign:"center",
59473
+ Tooltip:
59474
+ {
59475
+ AryText:
59476
+ [
59477
+ {Title:"日期", Text:`${kItem.Date} ${kItem.Time}`},
59478
+ {Title:"买入价", Text:`${kItem.Close.toFixed(2)}`, TextColor:"rgb(250,0,0)"},
59479
+ {Title:"数量", Text:`${HQData.GetRandomTestData(100,400).toFixed(0)}`,TextColor:"rgb(255,165,0)" },
59480
+ ]
59481
+ }
59482
+ };
59483
+ }
59484
+ else if (kItem.Time==1033 || kItem.Time==1025)
59485
+ {
59486
+ colItem.Data[0]=
59487
+ {
59488
+ Text:"空", Color:"rgb(250,250,250)", BGColor:'rgb(0,128,0)', TextAlign:"center",
59489
+ Tooltip:
59490
+ {
59491
+ AryText:
59492
+ [
59493
+ {Title:"日期", Text:`${kItem.Date} ${kItem.Time}`},
59494
+ {Title:"买入价", Text:`${kItem.Close.toFixed(2)}`, TextColor:"rgb(250,0,0)"},
59495
+ {Title:"数量", Text:`${HQData.GetRandomTestData(100,400).toFixed(0)}`,TextColor:"rgb(255,165,0)" },
59496
+ ]
59497
+ }
59498
+ };
59499
+ }
59500
+ else if (kItem.Time==1028 || kItem.Time==1032 || kItem.Time==1034 )
59501
+ {
59502
+ colItem.Data[1]=
59503
+ {
59504
+ Text:"平", Color:"rgb(250,250,250)", BGColor:'rgb(255,165,0)', TextAlign:"center",
59505
+ Tooltip:
59506
+ {
59507
+ AryText:
59508
+ [
59509
+ {Title:"日期", Text:`${kItem.Date} ${kItem.Time}`},
59510
+ {Title:"卖入价", Text:`${kItem.Close.toFixed(2)}`, TextColor:"rgb(34,139,34)"},
59511
+ {Title:"数量", Text:`${HQData.GetRandomTestData(100,400).toFixed(0)}`,TextColor:"rgb(255,165,0)" },
59512
+ ]
59513
+ }
59514
+ };
59515
+ }
59516
+ else
59517
+ {
59518
+ continue;
59519
+ }
59520
+
59521
+
59522
+ tableData.Draw.DrawData.push(colItem);
59523
+ }
59524
+
59525
+ var apiData=
59526
+ {
59527
+ code:0,
59528
+ stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
59529
+ outdata: { date:kData.GetDate(), time:kData.GetTime(), outvar:[tableData] }
59530
+ };
59531
+
59532
+ console.log('[KLineChart::APIIndex_KLINE_TABLE2] apiData ', apiData);
59533
+ callback(apiData);
59534
+ }
59535
+
59536
+
59421
59537
  HQData.APIIndex_DRAWSVG=function(data, callback)
59422
59538
  {
59423
59539
  data.PreventDefault=true;
@@ -59806,6 +59922,14 @@ HQData.API_CHART_AREA_TEXT=function(data, callback)
59806
59922
  }
59807
59923
 
59808
59924
 
59925
+ HQData.APIIndex_ErrorMessage=function(data, callback)
59926
+ {
59927
+ var hqchartData={ outdata:{ date:null, time:null, outvar:[] } , code:0};
59928
+ hqchartData.error={ message:"错误提示信息" };
59929
+ callback(hqchartData);
59930
+ }
59931
+
59932
+
59809
59933
 
59810
59934
 
59811
59935
  /*暴露外部用的方法*/