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.
- package/lib/umychart.vue.js +46 -31
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogSearchIndex.js +111 -11
- package/src/jscommon/umychart.NetworkFilterTest.js +125 -1
- package/src/jscommon/umychart.js +128 -67
- package/src/jscommon/umychart.testdata.js +125 -1
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +132 -68
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +125 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +243 -79
package/src/jscommon/umychart.js
CHANGED
|
@@ -2626,6 +2626,14 @@ JSChart.RegisterChartFrameClass=function(name, option)
|
|
|
2626
2626
|
}
|
|
2627
2627
|
|
|
2628
2628
|
|
|
2629
|
+
//注册DOM对话框类
|
|
2630
|
+
//option:{ Create:创建类方法 }
|
|
2631
|
+
JSChart.RegisterDOMClass=function(name, option)
|
|
2632
|
+
{
|
|
2633
|
+
return g_JSDOMFactory.Add(name, option);
|
|
2634
|
+
}
|
|
2635
|
+
|
|
2636
|
+
|
|
2629
2637
|
//一些公共函数
|
|
2630
2638
|
JSChart.ToFixedPoint=function(value)
|
|
2631
2639
|
{
|
|
@@ -10351,6 +10359,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10351
10359
|
if (IFrameSplitOperator.IsBool(windowItem.IsShowTitleArrow)) frame.IsShowTitleArrow=windowItem.IsShowTitleArrow;
|
|
10352
10360
|
if (IFrameSplitOperator.IsNumber(windowItem.TitleArrowType)) frame.TitleArrowType=windowItem.TitleArrowType;
|
|
10353
10361
|
if (IFrameSplitOperator.IsBool(windowItem.IsShowIndexName)) frame.IsShowIndexName=windowItem.IsShowIndexName;
|
|
10362
|
+
if (IFrameSplitOperator.IsBool(windowItem.IsSinlgeLine)) frame.IsSinlgeLine=windowItem.IsSinlgeLine;
|
|
10354
10363
|
if (IFrameSplitOperator.IsBool(windowItem.IsShowOverlayIndexName)) frame.IsShowOverlayIndexName=windowItem.IsShowOverlayIndexName;
|
|
10355
10364
|
if (IFrameSplitOperator.IsNumber(windowItem.IndexParamSpace)) frame.IndexParamSpace=windowItem.IndexParamSpace;
|
|
10356
10365
|
if (IFrameSplitOperator.IsNumber(windowItem.IndexTitleSpace)) frame.IndexTitleSpace=windowItem.IndexTitleSpace;
|
|
@@ -10474,6 +10483,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
10474
10483
|
if (IFrameSplitOperator.IsBool(option.IsShowTitleArrow)) subFrame.Frame.IsShowTitleArrow=option.IsShowTitleArrow;
|
|
10475
10484
|
if (IFrameSplitOperator.IsNumber(option.TitleArrowType)) subFrame.Frame.TitleArrowType=option.TitleArrowType;
|
|
10476
10485
|
if (IFrameSplitOperator.IsBool(option.IsShowIndexName)) subFrame.Frame.IsShowIndexName=option.IsShowIndexName;
|
|
10486
|
+
if (IFrameSplitOperator.IsBool(option.IsSinlgeLine)) subFrame.Frame.IsSinlgeLine=option.IsSinlgeLine;
|
|
10477
10487
|
if (IFrameSplitOperator.IsBool(option.IsShowOverlayIndexName)) subFrame.Frame.IsShowOverlayIndexName=option.IsShowOverlayIndexName;
|
|
10478
10488
|
if (IFrameSplitOperator.IsNumber(option.IndexParamSpace)) subFrame.Frame.IndexParamSpace=option.IndexParamSpace;
|
|
10479
10489
|
if (IFrameSplitOperator.IsBool(option.IsShowXLine)) subFrame.Frame.IsShowXLine=option.IsShowXLine;
|
|
@@ -12559,6 +12569,36 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
12559
12569
|
this.UpdateWindowIndexV2(aryUpdate);
|
|
12560
12570
|
return true;
|
|
12561
12571
|
}
|
|
12572
|
+
|
|
12573
|
+
this.TryClickLock=function(x,y)
|
|
12574
|
+
{
|
|
12575
|
+
if (!this.Frame || !IFrameSplitOperator.IsNonEmptyArray(this.Frame.SubFrame)) return false;
|
|
12576
|
+
|
|
12577
|
+
for(var i=0;i<this.Frame.SubFrame.length; ++i)
|
|
12578
|
+
{
|
|
12579
|
+
var item=this.Frame.SubFrame[i];
|
|
12580
|
+
var chartLock=item.Frame.LockPaint;
|
|
12581
|
+
if (!chartLock || !chartLock.LockRect) continue;
|
|
12582
|
+
|
|
12583
|
+
var tooltip=new TooltipData();
|
|
12584
|
+
if (!chartLock.GetTooltipData(x,y,tooltip)) continue;
|
|
12585
|
+
|
|
12586
|
+
tooltip.HQChart=this;
|
|
12587
|
+
|
|
12588
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_INDEX_LOCK);
|
|
12589
|
+
if (event && event.Callback)
|
|
12590
|
+
{
|
|
12591
|
+
var sendData={ FrameID:item.Frame.Identify, Data:tooltip };
|
|
12592
|
+
event.Callback(event,sendData,this);
|
|
12593
|
+
}
|
|
12594
|
+
|
|
12595
|
+
|
|
12596
|
+
if (tooltip.Data.Callback) tooltip.Data.Callback(tooltip);
|
|
12597
|
+
return true;
|
|
12598
|
+
}
|
|
12599
|
+
|
|
12600
|
+
return false;
|
|
12601
|
+
}
|
|
12562
12602
|
}
|
|
12563
12603
|
|
|
12564
12604
|
function GetDevicePixelRatio()
|
|
@@ -13213,6 +13253,7 @@ function IChartFramePainting()
|
|
|
13213
13253
|
this.IsShowBorder = true; //是否显示边框
|
|
13214
13254
|
this.IsShowTitleArrow=g_JSChartResource.IndexTitle.EnableIndexArrow; //是否显示指标信息上涨下跌箭头
|
|
13215
13255
|
this.TitleArrowType=g_JSChartResource.IndexTitle.ArrowType; //指标信息上涨下跌箭头类型 0=独立颜色 1=跟指标名字颜色一致
|
|
13256
|
+
this.IsSinlgeLine=g_JSChartResource.IndexTitle.IsSinlgeLine;
|
|
13216
13257
|
this.IsShowIndexName=true; //是否显示指标名字
|
|
13217
13258
|
this.IsShowOverlayIndexName=true; //是否显示叠加指标名字
|
|
13218
13259
|
//this.OverlayIndexType= { Position:0, LineSpace:5 };
|
|
@@ -16314,7 +16355,7 @@ function AverageWidthFrame()
|
|
|
16314
16355
|
|
|
16315
16356
|
if (this.ClassName=="MinuteFrame" || this.ClassName=="KLineFrame")
|
|
16316
16357
|
{
|
|
16317
|
-
this.DivFrameToolbar=new JSDivFrameToolbar();
|
|
16358
|
+
this.DivFrameToolbar=g_JSDOMFactory.Create('JSDivFrameToolbar');//new JSDivFrameToolbar();
|
|
16318
16359
|
this.DivFrameToolbar.HQChart=hqchart;
|
|
16319
16360
|
this.DivFrameToolbar.DivHQChart=divHQChart;
|
|
16320
16361
|
this.DivFrameToolbar.FrameID=frameID;
|
|
@@ -26859,9 +26900,20 @@ function IChartPainting()
|
|
|
26859
26900
|
var x=left+width/2;
|
|
26860
26901
|
var y=top+height/2;
|
|
26861
26902
|
|
|
26903
|
+
var bHScreen=this.ChartFrame.IsHScreen;
|
|
26904
|
+
if (bHScreen)
|
|
26905
|
+
{
|
|
26906
|
+
this.Canvas.save();
|
|
26907
|
+
this.Canvas.translate(x, y);
|
|
26908
|
+
this.Canvas.rotate(90 * Math.PI / 180);
|
|
26909
|
+
x=0,y=0;
|
|
26910
|
+
}
|
|
26911
|
+
|
|
26862
26912
|
this.Canvas.textAlign="center";
|
|
26863
26913
|
this.Canvas.textBaseline="middle";
|
|
26864
26914
|
this.Canvas.fillText(this.NotSupportMessage,x,y);
|
|
26915
|
+
|
|
26916
|
+
if (bHScreen) this.Canvas.restore();
|
|
26865
26917
|
}
|
|
26866
26918
|
|
|
26867
26919
|
this.GetTooltipData=function(x,y,tooltip)
|
|
@@ -47903,6 +47955,8 @@ function ChartLock()
|
|
|
47903
47955
|
this.IndexName; //指标名字
|
|
47904
47956
|
this.IndexID; //指标ID
|
|
47905
47957
|
|
|
47958
|
+
this.MinWidthText=" 付费指标 "
|
|
47959
|
+
|
|
47906
47960
|
this.SetData=function(aryData)
|
|
47907
47961
|
{
|
|
47908
47962
|
this.AryData=aryData;
|
|
@@ -48030,11 +48084,27 @@ function ChartLock()
|
|
|
48030
48084
|
}
|
|
48031
48085
|
}
|
|
48032
48086
|
|
|
48087
|
+
this.Canvas.font=this.Font;
|
|
48088
|
+
var minWidth=this.Canvas.measureText(this.MinWidthText).width;
|
|
48089
|
+
|
|
48090
|
+
var aryText=null;
|
|
48091
|
+
if (Array.isArray(this.Title)) aryText=this.Title;
|
|
48092
|
+
else aryText=[{Text:this.Title}];
|
|
48093
|
+
|
|
48094
|
+
var outSize={ };
|
|
48095
|
+
if (!this.CalculateTextSize(aryText, this.Font, outSize)) outSize=null;
|
|
48096
|
+
if (outSize && outSize.Width+8>minWidth) minWidth=outSize.Width+8; //确保文字可以显示
|
|
48097
|
+
|
|
48033
48098
|
if (bHScreen)
|
|
48034
48099
|
{
|
|
48035
48100
|
var rtBG={ Left:border.Left, Right:border.RightEx, Top:left, Bottom:border.Bottom };
|
|
48036
48101
|
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
48037
48102
|
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
48103
|
+
if (rtBG.Height<minWidth)
|
|
48104
|
+
{
|
|
48105
|
+
rtBG.Height=minWidth;
|
|
48106
|
+
rtBG.Top=rtBG.Bottom-rtBG.Height;
|
|
48107
|
+
}
|
|
48038
48108
|
this.LockRect=rtBG; //保存上锁区域
|
|
48039
48109
|
|
|
48040
48110
|
if (bDraw)
|
|
@@ -48049,6 +48119,11 @@ function ChartLock()
|
|
|
48049
48119
|
var rtBG={ Left:left, Right:border.RightEx, Top:border.TopTitle, Bottom:border.Bottom };
|
|
48050
48120
|
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
48051
48121
|
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
48122
|
+
if (rtBG.Width<minWidth)
|
|
48123
|
+
{
|
|
48124
|
+
rtBG.Width=minWidth;
|
|
48125
|
+
rtBG.Left=rtBG.Right-rtBG.Width;
|
|
48126
|
+
}
|
|
48052
48127
|
this.LockRect=rtBG; //保存上锁区域
|
|
48053
48128
|
|
|
48054
48129
|
if (bDraw)
|
|
@@ -48061,13 +48136,7 @@ function ChartLock()
|
|
|
48061
48136
|
}
|
|
48062
48137
|
|
|
48063
48138
|
if (!bDraw) return;
|
|
48064
|
-
|
|
48065
|
-
var aryText=null;
|
|
48066
|
-
if (Array.isArray(this.Title)) aryText=this.Title;
|
|
48067
|
-
else aryText=[{Text:this.Title}];
|
|
48068
|
-
|
|
48069
|
-
var outSize={ };
|
|
48070
|
-
if (!this.CalculateTextSize(aryText, this.Font, outSize)) return;
|
|
48139
|
+
if (!outSize) return;
|
|
48071
48140
|
|
|
48072
48141
|
this.Canvas.textAlign='left';
|
|
48073
48142
|
this.Canvas.textBaseline='bottom';
|
|
@@ -62578,6 +62647,7 @@ function DynamicChartTitlePainting()
|
|
|
62578
62647
|
this.IsShowIndexName=true; //是否显示指标名字
|
|
62579
62648
|
this.IsShowIndexTitle=true; //是否显示指标标题信息
|
|
62580
62649
|
this.IsShowNameArrow=false;
|
|
62650
|
+
this.IsSinlgeLine=false; //主图指标标题是否单行显示
|
|
62581
62651
|
this.NameArrowConfig=CloneData(g_JSChartResource.IndexTitle.NameArrow);
|
|
62582
62652
|
this.CustomLocation; //自定义位置 { IsShow:, Top:, TitleHeight: }
|
|
62583
62653
|
|
|
@@ -63316,6 +63386,7 @@ function DynamicChartTitlePainting()
|
|
|
63316
63386
|
this.IsShowUpDownArrow=this.Frame.IsShowTitleArrow;
|
|
63317
63387
|
this.TitleArrowType=this.Frame.TitleArrowType;
|
|
63318
63388
|
this.IsShowIndexName=this.Frame.IsShowIndexName;
|
|
63389
|
+
this.IsSinlgeLine=this.Frame.IsSinlgeLine;
|
|
63319
63390
|
this.IsShowOverlayIndexName=this.Frame.IsShowOverlayIndexName;
|
|
63320
63391
|
this.OverlayIndexType.Position=this.Frame.OverlayIndexType.Position;
|
|
63321
63392
|
this.OverlayIndexType.LineSpace=this.Frame.OverlayIndexType.LineSpace;
|
|
@@ -63722,6 +63793,7 @@ function DynamicChartTitlePainting()
|
|
|
63722
63793
|
|
|
63723
63794
|
if ((left+textWidth+space)>right)
|
|
63724
63795
|
{
|
|
63796
|
+
if (this.IsSinlgeLine) break;
|
|
63725
63797
|
left=newLineLeft;
|
|
63726
63798
|
bottom+=lineHeight;
|
|
63727
63799
|
right=this.Frame.ChartBorder.GetRight(); //第2行以后 右侧边框
|
|
@@ -63786,6 +63858,7 @@ function DynamicChartTitlePainting()
|
|
|
63786
63858
|
var textWidth=this.Canvas.measureText(text).width+space;
|
|
63787
63859
|
if ((left+textWidth)>right) //换行
|
|
63788
63860
|
{
|
|
63861
|
+
if (this.IsSinlgeLine) break;
|
|
63789
63862
|
left=newLineLeft;
|
|
63790
63863
|
bottom+=lineHeight;
|
|
63791
63864
|
right=this.Frame.ChartBorder.GetRight(); //第2行以后 右侧边框
|
|
@@ -77273,6 +77346,8 @@ function JSChartResource()
|
|
|
77273
77346
|
EnableIndexArrow:true, //指标数值是否带上涨下跌箭头
|
|
77274
77347
|
|
|
77275
77348
|
NameArrow:{ Color:"rgb(43,54,69)", Space:2, Symbol:'▼' },
|
|
77349
|
+
|
|
77350
|
+
IsSinlgeLine:false, //主图指标是否单行显示 false=多行显示
|
|
77276
77351
|
}
|
|
77277
77352
|
|
|
77278
77353
|
this.Title={
|
|
@@ -78958,6 +79033,7 @@ function JSChartResource()
|
|
|
78958
79033
|
|
|
78959
79034
|
if (IFrameSplitOperator.IsNumber(item.ArrowType)) this.IndexTitle.ArrowType=item.ArrowType;
|
|
78960
79035
|
if (IFrameSplitOperator.IsBool(item.EnableIndexArrow)) this.IndexTitle.EnableIndexArrow=item.EnableIndexArrow;
|
|
79036
|
+
if (IFrameSplitOperator.IsBool(item.IsSinlgeLine)) this.IndexTitle.IsSinlgeLine=item.IsSinlgeLine;
|
|
78961
79037
|
|
|
78962
79038
|
if (item.NameArrow)
|
|
78963
79039
|
{
|
|
@@ -86722,32 +86798,6 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
86722
86798
|
}
|
|
86723
86799
|
}
|
|
86724
86800
|
|
|
86725
|
-
this.TryClickLock=function(x,y)
|
|
86726
|
-
{
|
|
86727
|
-
for(var i=0;i<this.Frame.SubFrame.length; ++i)
|
|
86728
|
-
{
|
|
86729
|
-
var item=this.Frame.SubFrame[i];
|
|
86730
|
-
var chartLock=item.Frame.LockPaint;
|
|
86731
|
-
if (!chartLock || !chartLock.LockRect) continue;
|
|
86732
|
-
|
|
86733
|
-
var tooltip=new TooltipData();
|
|
86734
|
-
if (!chartLock.GetTooltipData(x,y,tooltip)) continue;
|
|
86735
|
-
|
|
86736
|
-
tooltip.HQChart=this;
|
|
86737
|
-
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_INDEX_LOCK);
|
|
86738
|
-
if (event && event.Callback)
|
|
86739
|
-
{
|
|
86740
|
-
var sendData={ FrameID:item.Frame.Identify, Data:tooltip };
|
|
86741
|
-
event.Callback(event,sendData,this);
|
|
86742
|
-
}
|
|
86743
|
-
|
|
86744
|
-
if (tooltip.Data.Callback) tooltip.Data.Callback(tooltip);
|
|
86745
|
-
return true;
|
|
86746
|
-
}
|
|
86747
|
-
|
|
86748
|
-
return false;
|
|
86749
|
-
}
|
|
86750
|
-
|
|
86751
86801
|
this.TryClickIndexTitle=function(x,y)
|
|
86752
86802
|
{
|
|
86753
86803
|
for(var i in this.TitlePaint)
|
|
@@ -96554,34 +96604,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
96554
96604
|
|
|
96555
96605
|
return false;
|
|
96556
96606
|
}
|
|
96557
|
-
|
|
96558
|
-
this.TryClickLock=function(x,y)
|
|
96559
|
-
{
|
|
96560
|
-
for(var i=0;i<this.Frame.SubFrame.length; ++i)
|
|
96561
|
-
{
|
|
96562
|
-
var item=this.Frame.SubFrame[i];
|
|
96563
|
-
var chartLock=item.Frame.LockPaint;
|
|
96564
|
-
if (!chartLock || !chartLock.LockRect) continue;
|
|
96565
|
-
|
|
96566
|
-
var tooltip=new TooltipData();
|
|
96567
|
-
if (!chartLock.GetTooltipData(x,y,tooltip)) continue;
|
|
96568
|
-
|
|
96569
|
-
tooltip.HQChart=this;
|
|
96570
|
-
|
|
96571
|
-
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK_INDEX_LOCK);
|
|
96572
|
-
if (event && event.Callback)
|
|
96573
|
-
{
|
|
96574
|
-
var sendData={ FrameID:item.Frame.Identify, Data:tooltip };
|
|
96575
|
-
event.Callback(event,sendData,this);
|
|
96576
|
-
}
|
|
96577
|
-
|
|
96578
|
-
|
|
96579
|
-
if (tooltip.Data.Callback) tooltip.Data.Callback(tooltip);
|
|
96580
|
-
return true;
|
|
96581
|
-
}
|
|
96582
|
-
|
|
96583
|
-
return false;
|
|
96584
|
-
}
|
|
96585
96607
|
}
|
|
96586
96608
|
|
|
96587
96609
|
//盘前数据
|
|
@@ -98533,6 +98555,7 @@ function KLineChartHScreenContainer(uielement)
|
|
|
98533
98555
|
frame.RightSpaceCount=this.RightSpaceCount; //右边
|
|
98534
98556
|
frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); };
|
|
98535
98557
|
frame.GlobalOption=this.GlobalOption;
|
|
98558
|
+
frame.CreateLockPaint();
|
|
98536
98559
|
|
|
98537
98560
|
frame.HorizontalMax=20;
|
|
98538
98561
|
frame.HorizontalMin=10;
|
|
@@ -98721,6 +98744,7 @@ function MinuteChartHScreenContainer(uielement)
|
|
|
98721
98744
|
frame.XPointCount=243;
|
|
98722
98745
|
frame.HQChart=this;
|
|
98723
98746
|
frame.GetEventCallback=(id)=> { return this.GetEventCallback(id); }
|
|
98747
|
+
frame.CreateLockPaint();
|
|
98724
98748
|
|
|
98725
98749
|
var DEFAULT_HORIZONTAL=[9,8,7,6,5,4,3,2,1];
|
|
98726
98750
|
frame.HorizontalMax=DEFAULT_HORIZONTAL[0];
|
|
@@ -105407,7 +105431,7 @@ function JSDivFrameToolbar()
|
|
|
105407
105431
|
{
|
|
105408
105432
|
var item=aryButton[i];
|
|
105409
105433
|
if (!item.ID || !item.ClassName) continue;
|
|
105410
|
-
var newItem={ ID:item.ID, ClassName:item.ClassName, Span:null,Div:null, TooltipSpan:null };
|
|
105434
|
+
var newItem={ ID:item.ID, ClassName:item.ClassName, Span:null,Div:null, TooltipSpan:null, SpanText:item.SpanText };
|
|
105411
105435
|
if (item.Tooltip && item.Tooltip.Text) newItem.Tooltip={ Text:item.Tooltip.Text };
|
|
105412
105436
|
|
|
105413
105437
|
this.AryButton.push(newItem);
|
|
@@ -105438,7 +105462,7 @@ function JSDivFrameToolbar()
|
|
|
105438
105462
|
if (!frame && this.FrameID>=0 && this.FrameID<this.HQChart.Frame.SubFrame.length)
|
|
105439
105463
|
frame=this.HQChart.Frame.SubFrame[this.FrameID].Frame;
|
|
105440
105464
|
|
|
105441
|
-
var aryDefaultButton=JSDivFrameToolbar.GetDfaultButtons();
|
|
105465
|
+
var aryDefaultButton=JSDivFrameToolbar.GetDfaultButtons(frame);
|
|
105442
105466
|
var aryButton=[];
|
|
105443
105467
|
for(var i=0;i<aryDefaultButton.length; i++)
|
|
105444
105468
|
{
|
|
@@ -105496,8 +105520,6 @@ function JSDivFrameToolbar()
|
|
|
105496
105520
|
this.SetToolbar(aryButton); //重新设置按钮
|
|
105497
105521
|
}
|
|
105498
105522
|
|
|
105499
|
-
|
|
105500
|
-
|
|
105501
105523
|
this.Destroy=function()
|
|
105502
105524
|
{
|
|
105503
105525
|
if (this.DivToolbar)
|
|
@@ -105565,6 +105587,7 @@ function JSDivFrameToolbar()
|
|
|
105565
105587
|
var spanDom=document.createElement("span");
|
|
105566
105588
|
spanDom.className=item.ClassName;
|
|
105567
105589
|
spanDom.onmousedown=(e)=>{ this.OnClickButton(e, item); };
|
|
105590
|
+
if (item.SpanText) spanDom.innerText=item.SpanText;
|
|
105568
105591
|
item.Span=spanDom;
|
|
105569
105592
|
btnDiv.appendChild(spanDom);
|
|
105570
105593
|
|
|
@@ -105649,7 +105672,7 @@ function JSDivFrameToolbar()
|
|
|
105649
105672
|
}
|
|
105650
105673
|
}
|
|
105651
105674
|
|
|
105652
|
-
JSDivFrameToolbar.GetDfaultButtons=function()
|
|
105675
|
+
JSDivFrameToolbar.GetDfaultButtons=function(frame)
|
|
105653
105676
|
{
|
|
105654
105677
|
var aryButton=
|
|
105655
105678
|
[
|
|
@@ -105673,12 +105696,50 @@ JSDivFrameToolbar.GetDfaultButtons=function()
|
|
|
105673
105696
|
ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-close", Tooltip:{ Text:"关闭窗口"},
|
|
105674
105697
|
Span:null,Div:null, TooltipSpan:null
|
|
105675
105698
|
},
|
|
105699
|
+
|
|
105700
|
+
/*
|
|
105701
|
+
{
|
|
105702
|
+
ID:"TEST_8889", ClassName:"UMyChart_FrameToolbar_Span_Text", Tooltip:{ Text:"测试按钮提示"}, SpanText:"测试按钮",
|
|
105703
|
+
Span:null, Div:null, TooltipSpan:null
|
|
105704
|
+
},
|
|
105705
|
+
*/
|
|
105676
105706
|
];
|
|
105677
105707
|
|
|
105678
105708
|
return aryButton
|
|
105679
105709
|
}
|
|
105680
105710
|
|
|
105681
105711
|
|
|
105712
|
+
|
|
105713
|
+
//DOM工厂类
|
|
105714
|
+
function JSDOMFactory()
|
|
105715
|
+
{
|
|
105716
|
+
//[key:name, { Create:function(divElement) { return new class(divElement); }} ]
|
|
105717
|
+
this.DataMap=new Map(
|
|
105718
|
+
[
|
|
105719
|
+
["JSDivFrameToolbar", { Create:function(option) { return new JSDivFrameToolbar(option); } }],
|
|
105720
|
+
]);
|
|
105721
|
+
|
|
105722
|
+
this.Create=function(name, option)
|
|
105723
|
+
{
|
|
105724
|
+
if (!this.DataMap.has(name))
|
|
105725
|
+
{
|
|
105726
|
+
JSConsole.Chart.Warn(`[JSDOMFactory::Create] can't find class=${name}.`);
|
|
105727
|
+
return null;
|
|
105728
|
+
}
|
|
105729
|
+
|
|
105730
|
+
var item=this.DataMap.get(name);
|
|
105731
|
+
return item.Create(option);
|
|
105732
|
+
}
|
|
105733
|
+
|
|
105734
|
+
this.Add=function(name, option)
|
|
105735
|
+
{
|
|
105736
|
+
this.DataMap.set(name, { Create:option.Create } );
|
|
105737
|
+
}
|
|
105738
|
+
}
|
|
105739
|
+
|
|
105740
|
+
var g_JSDOMFactory=new JSDOMFactory();
|
|
105741
|
+
|
|
105742
|
+
|
|
105682
105743
|
function JSToolbarTooltip()
|
|
105683
105744
|
{
|
|
105684
105745
|
this.DivTooltip=null;
|
|
@@ -351,7 +351,7 @@ HQData.Minute_RequestMinuteData=function(data, callback)
|
|
|
351
351
|
}
|
|
352
352
|
|
|
353
353
|
//盘中
|
|
354
|
-
stockItem.minute.length=50;
|
|
354
|
+
//stockItem.minute.length=50;
|
|
355
355
|
//测试用 这里可以修改数据
|
|
356
356
|
//var lastItem=srcStock.minute[srcStock.minute.length-1];
|
|
357
357
|
//lastItem.price+=Math.ceil(Math.random()*10)/1000*lastItem.price;
|
|
@@ -1967,6 +1967,9 @@ HQData.Report_RequestStockData=function(data, callback)
|
|
|
1967
1967
|
var testDate=new Date();
|
|
1968
1968
|
testDate.setHours(testDate.getHours() + i*2)
|
|
1969
1969
|
newItem[401]={ DateTime:testDate } ;
|
|
1970
|
+
|
|
1971
|
+
|
|
1972
|
+
newItem[JSCHART_DATA_FIELD_ID.REPORT_EXTENDDATA]={ Value:"ddddd" };
|
|
1970
1973
|
|
|
1971
1974
|
|
|
1972
1975
|
item.Data=newItem;
|
|
@@ -2684,6 +2687,8 @@ HQData.Report_APIIndex=function(data, callback)
|
|
|
2684
2687
|
HQData.APIIndex_SCATTER_PLOT_V2(data, callback);
|
|
2685
2688
|
else if (request.Data.indexname=="API_KLINE_TABLE")
|
|
2686
2689
|
HQData.APIIndex_KLINE_TABLE(data, callback);
|
|
2690
|
+
else if (request.Data.indexname=="API_MINUTE_TABLE")
|
|
2691
|
+
HQData.APIIndex_MINUTE_TABLE(data, callback);
|
|
2687
2692
|
else if (request.Data.indexname=="API_DRAWSVG")
|
|
2688
2693
|
HQData.APIIndex_DRAWSVG(data, callback);
|
|
2689
2694
|
else if (request.Data.indexname=="API_BASELINE_BAR")
|
|
@@ -2691,6 +2696,9 @@ HQData.Report_APIIndex=function(data, callback)
|
|
|
2691
2696
|
else if (request.Data.indexname=="API_VERTLINE")
|
|
2692
2697
|
HQData.APIIndex_VERTLINE(data, callback);
|
|
2693
2698
|
|
|
2699
|
+
else if (request.Data.indexname=="API_ERRORMESSAGE")
|
|
2700
|
+
HQData.APIIndex_ErrorMessage(data, callback);
|
|
2701
|
+
|
|
2694
2702
|
|
|
2695
2703
|
//付费图形
|
|
2696
2704
|
else if (request.Data.indexname=="API_MARK_AREA_V2")
|
|
@@ -3886,6 +3894,114 @@ HQData.APIIndex_KLINE_TABLE=function(data, callback)
|
|
|
3886
3894
|
}
|
|
3887
3895
|
|
|
3888
3896
|
|
|
3897
|
+
HQData.APIIndex_MINUTE_TABLE=function(data, callback)
|
|
3898
|
+
{
|
|
3899
|
+
data.PreventDefault=true;
|
|
3900
|
+
var hqchart=data.HQChart;
|
|
3901
|
+
var kData=data.HQChart.GetKData(); //hqchart图形的分钟数据
|
|
3902
|
+
|
|
3903
|
+
var tableData=
|
|
3904
|
+
{
|
|
3905
|
+
name:'JS_CHART_MINUTETABLE_9DFC', type:1,
|
|
3906
|
+
Draw:
|
|
3907
|
+
{
|
|
3908
|
+
DrawType:'JS_CHART_MINUTETABLE_9DFC',
|
|
3909
|
+
DrawData:[ ] , //数据 [ [ { Text, Color: BGColor }, ...... ], [],]
|
|
3910
|
+
|
|
3911
|
+
Config:
|
|
3912
|
+
{
|
|
3913
|
+
//BGColor:"rgba(238,232,205,0.5)",
|
|
3914
|
+
//BorderColor:"rgb(220,220,220)",
|
|
3915
|
+
TextColor:"rgb(250,250,250)",
|
|
3916
|
+
ItemMergin:{ Left:1, Right:1, Top:0, Bottom:0, YOffset:0 },
|
|
3917
|
+
TextFont:{ Family:'微软雅黑' , FontMaxSize:14*GetDevicePixelRatio(), },
|
|
3918
|
+
Style:1,
|
|
3919
|
+
CellWidth:18*GetDevicePixelRatio(),
|
|
3920
|
+
CellHeight:14*GetDevicePixelRatio(),
|
|
3921
|
+
RowCount:2,
|
|
3922
|
+
LineColor:"rgb(5,105,225)",
|
|
3923
|
+
LineDash:[5*GetDevicePixelRatio(),5*GetDevicePixelRatio()],
|
|
3924
|
+
}
|
|
3925
|
+
},
|
|
3926
|
+
|
|
3927
|
+
};
|
|
3928
|
+
|
|
3929
|
+
for(var i=0;i<kData.Data.length;++i)
|
|
3930
|
+
{
|
|
3931
|
+
var kItem=kData.Data[i];
|
|
3932
|
+
|
|
3933
|
+
//一列数据
|
|
3934
|
+
var colItem={ Date:kItem.Date, Time:kItem.Time, Data:[ ] };
|
|
3935
|
+
|
|
3936
|
+
if (kItem.Time==1030 || kItem.Time==1035)
|
|
3937
|
+
{
|
|
3938
|
+
colItem.Data[0]=
|
|
3939
|
+
{
|
|
3940
|
+
Text:"多", Color:"rgb(250,250,250)", BGColor:'rgb(250,0,0)', TextAlign:"center",
|
|
3941
|
+
Tooltip:
|
|
3942
|
+
{
|
|
3943
|
+
AryText:
|
|
3944
|
+
[
|
|
3945
|
+
{Title:"日期", Text:`${kItem.Date} ${kItem.Time}`},
|
|
3946
|
+
{Title:"买入价", Text:`${kItem.Close.toFixed(2)}`, TextColor:"rgb(250,0,0)"},
|
|
3947
|
+
{Title:"数量", Text:`${HQData.GetRandomTestData(100,400).toFixed(0)}`,TextColor:"rgb(255,165,0)" },
|
|
3948
|
+
]
|
|
3949
|
+
}
|
|
3950
|
+
};
|
|
3951
|
+
}
|
|
3952
|
+
else if (kItem.Time==1033 || kItem.Time==1025)
|
|
3953
|
+
{
|
|
3954
|
+
colItem.Data[0]=
|
|
3955
|
+
{
|
|
3956
|
+
Text:"空", Color:"rgb(250,250,250)", BGColor:'rgb(0,128,0)', TextAlign:"center",
|
|
3957
|
+
Tooltip:
|
|
3958
|
+
{
|
|
3959
|
+
AryText:
|
|
3960
|
+
[
|
|
3961
|
+
{Title:"日期", Text:`${kItem.Date} ${kItem.Time}`},
|
|
3962
|
+
{Title:"买入价", Text:`${kItem.Close.toFixed(2)}`, TextColor:"rgb(250,0,0)"},
|
|
3963
|
+
{Title:"数量", Text:`${HQData.GetRandomTestData(100,400).toFixed(0)}`,TextColor:"rgb(255,165,0)" },
|
|
3964
|
+
]
|
|
3965
|
+
}
|
|
3966
|
+
};
|
|
3967
|
+
}
|
|
3968
|
+
else if (kItem.Time==1028 || kItem.Time==1032 || kItem.Time==1034 )
|
|
3969
|
+
{
|
|
3970
|
+
colItem.Data[1]=
|
|
3971
|
+
{
|
|
3972
|
+
Text:"平", Color:"rgb(250,250,250)", BGColor:'rgb(255,165,0)', TextAlign:"center",
|
|
3973
|
+
Tooltip:
|
|
3974
|
+
{
|
|
3975
|
+
AryText:
|
|
3976
|
+
[
|
|
3977
|
+
{Title:"日期", Text:`${kItem.Date} ${kItem.Time}`},
|
|
3978
|
+
{Title:"卖入价", Text:`${kItem.Close.toFixed(2)}`, TextColor:"rgb(34,139,34)"},
|
|
3979
|
+
{Title:"数量", Text:`${HQData.GetRandomTestData(100,400).toFixed(0)}`,TextColor:"rgb(255,165,0)" },
|
|
3980
|
+
]
|
|
3981
|
+
}
|
|
3982
|
+
};
|
|
3983
|
+
}
|
|
3984
|
+
else
|
|
3985
|
+
{
|
|
3986
|
+
continue;
|
|
3987
|
+
}
|
|
3988
|
+
|
|
3989
|
+
|
|
3990
|
+
tableData.Draw.DrawData.push(colItem);
|
|
3991
|
+
}
|
|
3992
|
+
|
|
3993
|
+
var apiData=
|
|
3994
|
+
{
|
|
3995
|
+
code:0,
|
|
3996
|
+
stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
|
|
3997
|
+
outdata: { date:kData.GetDate(), time:kData.GetTime(), outvar:[tableData] }
|
|
3998
|
+
};
|
|
3999
|
+
|
|
4000
|
+
console.log('[KLineChart::APIIndex_KLINE_TABLE2] apiData ', apiData);
|
|
4001
|
+
callback(apiData);
|
|
4002
|
+
}
|
|
4003
|
+
|
|
4004
|
+
|
|
3889
4005
|
HQData.APIIndex_DRAWSVG=function(data, callback)
|
|
3890
4006
|
{
|
|
3891
4007
|
data.PreventDefault=true;
|
|
@@ -4274,3 +4390,11 @@ HQData.API_CHART_AREA_TEXT=function(data, callback)
|
|
|
4274
4390
|
}
|
|
4275
4391
|
|
|
4276
4392
|
|
|
4393
|
+
HQData.APIIndex_ErrorMessage=function(data, callback)
|
|
4394
|
+
{
|
|
4395
|
+
var hqchartData={ outdata:{ date:null, time:null, outvar:[] } , code:0};
|
|
4396
|
+
hqchartData.error={ message:"错误提示信息" };
|
|
4397
|
+
callback(hqchartData);
|
|
4398
|
+
}
|
|
4399
|
+
|
|
4400
|
+
|