hqchart 1.1.12734 → 1.1.12748
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.NetworkFilterTest.vue.js +5 -2
- package/lib/umychart.vue.js +37 -30
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +19 -0
- package/src/jscommon/umychart.complier.js +3 -34
- package/src/jscommon/umychart.js +98 -37
- package/src/jscommon/umychart.style.js +1 -1
- package/src/jscommon/umychart.testdata.js +19 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +239 -68
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +19 -0
- package/src/jscommon/umychart.vue/umychart.vue.js +239 -68
|
@@ -4483,6 +4483,11 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4483
4483
|
{
|
|
4484
4484
|
var item=option.GlobalOption;
|
|
4485
4485
|
if (IFrameSplitOperator.IsBool(item.IsValueFullRange)) chart.GlobalOption.IsValueFullRange=item.IsValueFullRange;
|
|
4486
|
+
if (item.SelectedBorder)
|
|
4487
|
+
{
|
|
4488
|
+
var subItem=item.SelectedBorder;
|
|
4489
|
+
if (IFrameSplitOperator.IsNumber(subItem.Mode)) chart.GlobalOption.SelectedBorder.Mode=subItem.Mode;
|
|
4490
|
+
}
|
|
4486
4491
|
}
|
|
4487
4492
|
|
|
4488
4493
|
if (option.EnableYDrag)
|
|
@@ -7031,7 +7036,13 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7031
7036
|
this.IndexChartDrag; //拖拽指标图形
|
|
7032
7037
|
this.EnableIndexChartDrag=false;
|
|
7033
7038
|
|
|
7034
|
-
this.GlobalOption=
|
|
7039
|
+
this.GlobalOption=
|
|
7040
|
+
{
|
|
7041
|
+
IsValueFullRange:false ,
|
|
7042
|
+
IsDisplayLatest:false,
|
|
7043
|
+
SelectedBorder:{ Mode:0, SelFrame:0 } //边框选中模式 Mode:0=禁用 1=右侧标记选中 2=指标窗口标记选中
|
|
7044
|
+
//XDateFormat (多日分时图x轴底部日期格式)
|
|
7045
|
+
};
|
|
7035
7046
|
|
|
7036
7047
|
this.VerticalDrag; //通过X轴左右拖动数据(手势才有)
|
|
7037
7048
|
this.EnableVerticalDrag=false;
|
|
@@ -7459,6 +7470,18 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7459
7470
|
return;
|
|
7460
7471
|
}
|
|
7461
7472
|
|
|
7473
|
+
var bDrawDynamicInfo=false;
|
|
7474
|
+
if (this.GlobalOption.SelectedBorder && this.GlobalOption.SelectedBorder.Mode>=1)
|
|
7475
|
+
{
|
|
7476
|
+
var item=this.GlobalOption.SelectedBorder;
|
|
7477
|
+
var frameId=this.Frame.PtInFrame(x,y);
|
|
7478
|
+
if (frameId>=0 && frameId!=item.SelFrame)
|
|
7479
|
+
{
|
|
7480
|
+
item.SelFrame=frameId;
|
|
7481
|
+
bDrawDynamicInfo=true;
|
|
7482
|
+
}
|
|
7483
|
+
}
|
|
7484
|
+
|
|
7462
7485
|
if (this.TryClickCrossCursor(x,y, e))
|
|
7463
7486
|
{
|
|
7464
7487
|
return;
|
|
@@ -7728,12 +7751,18 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
7728
7751
|
else
|
|
7729
7752
|
this.DrawDynamicInfo();
|
|
7730
7753
|
}
|
|
7754
|
+
else if (bDrawDynamicInfo)
|
|
7755
|
+
{
|
|
7756
|
+
this.DrawDynamicInfo();
|
|
7757
|
+
}
|
|
7731
7758
|
|
|
7732
7759
|
}
|
|
7733
7760
|
}
|
|
7734
7761
|
|
|
7735
7762
|
document.onmousemove=(e)=>{ this.DocOnMouseMove(e); }
|
|
7736
7763
|
document.onmouseup=(e)=> { this.DocOnMouseUp(e); }
|
|
7764
|
+
|
|
7765
|
+
|
|
7737
7766
|
}
|
|
7738
7767
|
|
|
7739
7768
|
this.DocOnMouseMove=function(e)
|
|
@@ -9250,6 +9279,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9250
9279
|
if (this.Frame.DrawToolbar) this.Frame.DrawToolbar(this.LastMouseStatus);
|
|
9251
9280
|
this.DrawSelectedStatus();
|
|
9252
9281
|
|
|
9282
|
+
this.DrawSelectedBorder();
|
|
9283
|
+
|
|
9253
9284
|
var moveonPoint=null;
|
|
9254
9285
|
if (this.LastMouseStatus && this.LastMouseStatus.MoveOnPoint) moveonPoint=this.LastMouseStatus.MoveOnPoint;
|
|
9255
9286
|
for(var i=0;i<this.ExtendChartPaint.length;++i) //动态扩展图形
|
|
@@ -9465,6 +9496,19 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9465
9496
|
}
|
|
9466
9497
|
}
|
|
9467
9498
|
|
|
9499
|
+
this.DrawSelectedBorder=function()
|
|
9500
|
+
{
|
|
9501
|
+
if (!this.GlobalOption.SelectedBorder) return;
|
|
9502
|
+
var item=this.GlobalOption.SelectedBorder;
|
|
9503
|
+
if (!IFrameSplitOperator.IsPlusNumber(item.Mode)) return;
|
|
9504
|
+
if (!IFrameSplitOperator.IsNumber(item.SelFrame) && item.SelFrame<0) return;
|
|
9505
|
+
|
|
9506
|
+
var subFrame=this.Frame.SubFrame[item.SelFrame];
|
|
9507
|
+
if (!subFrame) return;
|
|
9508
|
+
|
|
9509
|
+
if (subFrame.Frame.DrawSelectedBorder) subFrame.Frame.DrawSelectedBorder(item);
|
|
9510
|
+
}
|
|
9511
|
+
|
|
9468
9512
|
//当前屏K线涨幅Y轴刻度
|
|
9469
9513
|
this.KLineIncreaseCustomHorizontal=function()
|
|
9470
9514
|
{
|
|
@@ -9619,6 +9663,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9619
9663
|
if (this.Frame.DrawToolbar) this.Frame.DrawToolbar(this.LastMouseStatus);
|
|
9620
9664
|
|
|
9621
9665
|
this.DrawSelectedStatus();
|
|
9666
|
+
this.DrawSelectedBorder();
|
|
9622
9667
|
|
|
9623
9668
|
var moveonPoint=null;
|
|
9624
9669
|
if (this.LastMouseStatus && this.LastMouseStatus.MoveOnPoint) moveonPoint=this.LastMouseStatus.MoveOnPoint;
|
|
@@ -12581,14 +12626,6 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
12581
12626
|
|
|
12582
12627
|
overlayFrame.Frame=frame;
|
|
12583
12628
|
|
|
12584
|
-
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_OVERLAY_FRAME);
|
|
12585
|
-
if (event && event.Callback)
|
|
12586
|
-
{
|
|
12587
|
-
var sendData={ OverlayFrame:overlayFrame, WindowIndex:dest.WindowIndex, SubFrame:subFrame };
|
|
12588
|
-
event.Callback(event, sendData, this);
|
|
12589
|
-
}
|
|
12590
|
-
|
|
12591
|
-
|
|
12592
12629
|
var scriptIndex;
|
|
12593
12630
|
if (findItem)
|
|
12594
12631
|
{
|
|
@@ -12602,6 +12639,14 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
12602
12639
|
}
|
|
12603
12640
|
|
|
12604
12641
|
overlayFrame.Script=scriptIndex;
|
|
12642
|
+
|
|
12643
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_OVERLAY_FRAME);
|
|
12644
|
+
if (event && event.Callback)
|
|
12645
|
+
{
|
|
12646
|
+
var sendData={ OverlayFrame:overlayFrame, WindowIndex:dest.WindowIndex, SubFrame:subFrame };
|
|
12647
|
+
event.Callback(event, sendData, this);
|
|
12648
|
+
}
|
|
12649
|
+
|
|
12605
12650
|
subFrame.OverlayIndex.push(overlayFrame);
|
|
12606
12651
|
|
|
12607
12652
|
var updateWindowIndex=dest.WindowIndex;
|
|
@@ -13880,7 +13925,11 @@ function AverageWidthFrame()
|
|
|
13880
13925
|
//Y轴刻度长线
|
|
13881
13926
|
this.YLineExtend; //[0]=左 [1]=右 { Width:5, Color:颜色, }
|
|
13882
13927
|
this.YTextExtend; //[0]=左 [1]=右 { Align:0=默认 1=左对齐 2=右对齐 }
|
|
13883
|
-
this.YRightTextInfo;
|
|
13928
|
+
this.YRightTextInfo;
|
|
13929
|
+
|
|
13930
|
+
//X轴延长线
|
|
13931
|
+
this.XTextExtend; //[0]=底部 { Align:0=默认(居中), 1=左对齐 }
|
|
13932
|
+
this.XLineExtend; //[0]=底部 { Mode:1, Color: } Mode=1 分割线 Mode=2短线
|
|
13884
13933
|
|
|
13885
13934
|
//画图工具刻度
|
|
13886
13935
|
|
|
@@ -14698,6 +14747,18 @@ function AverageWidthFrame()
|
|
|
14698
14747
|
//JSConsole.Chart.Log('[AverageWidthFrame.DrawVertical] bottom',bottom);
|
|
14699
14748
|
if (this.ChartBorder.Bottom<=5*GetDevicePixelRatio()) return; //高度不够 不显示
|
|
14700
14749
|
|
|
14750
|
+
var bottomTextExtend=null;
|
|
14751
|
+
if (this.XTextExtend)
|
|
14752
|
+
{
|
|
14753
|
+
bottomTextExtend=this.XTextExtend[0];
|
|
14754
|
+
}
|
|
14755
|
+
|
|
14756
|
+
var bottomLineExtend=null;
|
|
14757
|
+
if (this.XLineExtend)
|
|
14758
|
+
{
|
|
14759
|
+
bottomLineExtend=this.XLineExtend[0];
|
|
14760
|
+
}
|
|
14761
|
+
|
|
14701
14762
|
var xPrev=null; //上一个坐标x的值
|
|
14702
14763
|
var textRightPrev=null; //上一次刻度输出右边x坐标
|
|
14703
14764
|
for(var i=0; i<this.VerticalInfo.length; ++i)
|
|
@@ -14762,31 +14823,39 @@ function AverageWidthFrame()
|
|
|
14762
14823
|
|
|
14763
14824
|
if (this.VerticalInfo[i].Message[0]!=null)
|
|
14764
14825
|
{
|
|
14765
|
-
if (this.VerticalInfo[i].Font
|
|
14766
|
-
|
|
14767
|
-
|
|
14826
|
+
if (this.VerticalInfo[i].Font) this.Canvas.font=this.VerticalInfo[i].Font;
|
|
14827
|
+
|
|
14768
14828
|
var textLeft=0;
|
|
14769
14829
|
|
|
14770
14830
|
this.Canvas.strokeStyle=item.TextColor;
|
|
14771
14831
|
var testWidth=this.Canvas.measureText(this.VerticalInfo[i].Message[0]).width;
|
|
14772
14832
|
var textHeight=this.Canvas.measureText("擎").width;
|
|
14773
|
-
if (
|
|
14833
|
+
if (bottomTextExtend && bottomTextExtend.Align==1)
|
|
14774
14834
|
{
|
|
14775
14835
|
this.Canvas.textAlign="left";
|
|
14776
14836
|
this.Canvas.textBaseline="top";
|
|
14777
14837
|
textLeft=x;
|
|
14778
14838
|
}
|
|
14779
|
-
else if ((x + testWidth / 2) >= this.ChartBorder.GetChartWidth())
|
|
14780
|
-
{
|
|
14781
|
-
this.Canvas.textAlign = "right";
|
|
14782
|
-
this.Canvas.textBaseline="top";
|
|
14783
|
-
textLeft=x-testWidth;
|
|
14784
|
-
}
|
|
14785
14839
|
else
|
|
14786
14840
|
{
|
|
14787
|
-
|
|
14788
|
-
|
|
14789
|
-
|
|
14841
|
+
if (x<testWidth/2)
|
|
14842
|
+
{
|
|
14843
|
+
this.Canvas.textAlign="left";
|
|
14844
|
+
this.Canvas.textBaseline="top";
|
|
14845
|
+
textLeft=x;
|
|
14846
|
+
}
|
|
14847
|
+
else if ((x + testWidth / 2) >= this.ChartBorder.GetChartWidth())
|
|
14848
|
+
{
|
|
14849
|
+
this.Canvas.textAlign = "right";
|
|
14850
|
+
this.Canvas.textBaseline="top";
|
|
14851
|
+
textLeft=x-testWidth;
|
|
14852
|
+
}
|
|
14853
|
+
else
|
|
14854
|
+
{
|
|
14855
|
+
this.Canvas.textAlign="center";
|
|
14856
|
+
this.Canvas.textBaseline="top";
|
|
14857
|
+
textLeft=x-(testWidth/2);
|
|
14858
|
+
}
|
|
14790
14859
|
}
|
|
14791
14860
|
|
|
14792
14861
|
if (textRightPrev==null || textLeft>textRightPrev)
|
|
@@ -14803,6 +14872,36 @@ function AverageWidthFrame()
|
|
|
14803
14872
|
yText+=lineLength+2*pixelRatio;
|
|
14804
14873
|
}
|
|
14805
14874
|
|
|
14875
|
+
if (bottomLineExtend)
|
|
14876
|
+
{
|
|
14877
|
+
if (bottomLineExtend.Mode===1)
|
|
14878
|
+
{
|
|
14879
|
+
if (item.Value>1)
|
|
14880
|
+
{
|
|
14881
|
+
if (bottomLineExtend.Color) this.Canvas.strokeStyle=bottomLineExtend.Color;
|
|
14882
|
+
this.Canvas.beginPath();
|
|
14883
|
+
this.Canvas.moveTo(xFixed,bottom);
|
|
14884
|
+
this.Canvas.lineTo(xFixed,border.ChartHeight);
|
|
14885
|
+
this.Canvas.stroke();
|
|
14886
|
+
x+=1;
|
|
14887
|
+
}
|
|
14888
|
+
}
|
|
14889
|
+
else if (bottomLineExtend.Mode===2)
|
|
14890
|
+
{
|
|
14891
|
+
if (bottomLineExtend.Width>=1)
|
|
14892
|
+
{
|
|
14893
|
+
var lineLength=bottomLineExtend.Width;
|
|
14894
|
+
if (bottomLineExtend.Color) this.Canvas.strokeStyle=bottomLineExtend.Color;
|
|
14895
|
+
this.Canvas.beginPath();
|
|
14896
|
+
this.Canvas.moveTo(xFixed,yText);
|
|
14897
|
+
this.Canvas.lineTo(xFixed,yText+lineLength);
|
|
14898
|
+
this.Canvas.stroke();
|
|
14899
|
+
|
|
14900
|
+
yText+=lineLength+2;
|
|
14901
|
+
}
|
|
14902
|
+
}
|
|
14903
|
+
}
|
|
14904
|
+
|
|
14806
14905
|
//item.TextBGColor="rgb(0,255,0)";
|
|
14807
14906
|
if (item.TextBGColor) //文字背景色
|
|
14808
14907
|
{
|
|
@@ -17792,6 +17891,8 @@ function KLineFrame()
|
|
|
17792
17891
|
this.TitleWindow=g_JSChartResource.KLineToolbar.TitleWindow;
|
|
17793
17892
|
this.ExportData=g_JSChartResource.KLineToolbar.ExportData; //是否显示'导出数据'菜单
|
|
17794
17893
|
|
|
17894
|
+
this.SelBorderColor=g_JSChartResource.SelFrameBorderColor;
|
|
17895
|
+
|
|
17795
17896
|
this.ModifyIndexEvent; //改参数 点击事件
|
|
17796
17897
|
this.ChangeIndexEvent; //换指标 点击事件
|
|
17797
17898
|
this.ToolbarRect=null; //保存工具条的位置
|
|
@@ -18971,6 +19072,31 @@ function KLineFrame()
|
|
|
18971
19072
|
}
|
|
18972
19073
|
}
|
|
18973
19074
|
|
|
19075
|
+
this.DrawSelectedBorder=function(option)
|
|
19076
|
+
{
|
|
19077
|
+
if (this.Identify===0) return;
|
|
19078
|
+
|
|
19079
|
+
var border=this.IsHScreen==true?this.ChartBorder.GetHScreenBorder():this.ChartBorder.GetBorder();
|
|
19080
|
+
|
|
19081
|
+
var left=ToFixedPoint(border.Left);
|
|
19082
|
+
var top=ToFixedPoint(border.Top);
|
|
19083
|
+
var right=ToFixedPoint(border.Right);
|
|
19084
|
+
var bottom=ToFixedPoint(border.Bottom);
|
|
19085
|
+
var height=bottom-top;
|
|
19086
|
+
|
|
19087
|
+
this.Canvas.strokeStyle=this.SelBorderColor;
|
|
19088
|
+
|
|
19089
|
+
if (option.Mode==1)
|
|
19090
|
+
{
|
|
19091
|
+
var xRight=ToFixedPoint(border.ChartWidth);
|
|
19092
|
+
this.Canvas.strokeRect(right,top,xRight-right-1,height); //少一个像素让边框显示出来
|
|
19093
|
+
}
|
|
19094
|
+
else
|
|
19095
|
+
{
|
|
19096
|
+
this.Canvas.strokeRect(left,top,right-left-1,height); //少一个像素让边框显示出来
|
|
19097
|
+
}
|
|
19098
|
+
}
|
|
19099
|
+
|
|
18974
19100
|
//是否在X轴坐标上
|
|
18975
19101
|
//this.PtInVertical=function(x,y) { return false; }
|
|
18976
19102
|
}
|
|
@@ -19005,6 +19131,7 @@ function OverlayKLineFrame()
|
|
|
19005
19131
|
|
|
19006
19132
|
this.CloseButton=CloneData(g_JSChartResource.Buttons.CloseOverlayIndex);
|
|
19007
19133
|
this.ModifyIndexParamButton=CloneData(g_JSChartResource.Buttons.ModifyIndexParam);
|
|
19134
|
+
this.DrawSelectedBorder=null;
|
|
19008
19135
|
|
|
19009
19136
|
this.KLineFrame_ReloadResource=this.ReloadResource;
|
|
19010
19137
|
this.ReloadResource=function(resource)
|
|
@@ -19733,6 +19860,8 @@ function KLineHScreenFrame()
|
|
|
19733
19860
|
this.ClassName='KLineHScreenFrame';
|
|
19734
19861
|
this.IsHScreen=true; //是否是横屏
|
|
19735
19862
|
|
|
19863
|
+
this.DrawSelectedBorder=null;
|
|
19864
|
+
|
|
19736
19865
|
//画标题背景色
|
|
19737
19866
|
this.DrawTitleBG=function()
|
|
19738
19867
|
{
|
|
@@ -40580,7 +40709,7 @@ function ChartDrawSVG()
|
|
|
40580
40709
|
x=this.ChartFrame.GetXFromIndex(index);
|
|
40581
40710
|
if (item.Value=="Top") y=top;
|
|
40582
40711
|
else if (item.Value=="Bottom") y=bottom;
|
|
40583
|
-
else y=this.ChartFrame.GetYFromData(item.Value);
|
|
40712
|
+
else y=this.ChartFrame.GetYFromData(item.Value, false);
|
|
40584
40713
|
if (IFrameSplitOperator.IsNumber(item.YOffset)) y+=item.YOffset; //Y轴偏移
|
|
40585
40714
|
|
|
40586
40715
|
var svgItem=item.SVG;
|
|
@@ -65987,8 +66116,9 @@ function JSChartResource()
|
|
|
65987
66116
|
this.FrameSplitTextColor="rgb(117,125,129)"; //刻度文字颜色
|
|
65988
66117
|
this.FrameSplitTextFont=14*GetDevicePixelRatio() +"px 微软雅黑"; //坐标刻度文字字体
|
|
65989
66118
|
this.FrameTitleBGColor="rgb(246,251,253)"; //标题栏背景色
|
|
66119
|
+
this.SelFrameBorderColor='rgb(130, 130, 130)';
|
|
65990
66120
|
this.Frame={
|
|
65991
|
-
XBottomOffset:
|
|
66121
|
+
XBottomOffset:2*GetDevicePixelRatio(), //X轴文字向下偏移
|
|
65992
66122
|
YTopOffset:2*GetDevicePixelRatio(), //Y轴顶部文字向下偏移
|
|
65993
66123
|
YTextPadding:[2,2]
|
|
65994
66124
|
};
|
|
@@ -67044,6 +67174,7 @@ function JSChartResource()
|
|
|
67044
67174
|
if (style.FrameSplitTextColor) this.FrameSplitTextColor = style.FrameSplitTextColor;
|
|
67045
67175
|
if (style.FrameSplitTextFont) this.FrameSplitTextFont = style.FrameSplitTextFont;
|
|
67046
67176
|
if (style.FrameTitleBGColor) this.FrameTitleBGColor = style.FrameTitleBGColor;
|
|
67177
|
+
if (style.SelFrameBorderColor) this.SelFrameBorderColor=style.SelFrameBorderColor;
|
|
67047
67178
|
if (IFrameSplitOperator.IsNumber(style.IndexTitleMerginLeft)) this.IndexTitleMerginLeft = style.IndexTitleMerginLeft;
|
|
67048
67179
|
|
|
67049
67180
|
if (style.Frame)
|
|
@@ -73017,13 +73148,6 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
73017
73148
|
|
|
73018
73149
|
overlayFrame.Frame=frame;
|
|
73019
73150
|
|
|
73020
|
-
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_OVERLAY_FRAME);
|
|
73021
|
-
if (event && event.Callback)
|
|
73022
|
-
{
|
|
73023
|
-
var sendData={ OverlayFrame:overlayFrame, WindowIndex:windowIndex, SubFrame:subFrame };
|
|
73024
|
-
event.Callback(event, sendData, this);
|
|
73025
|
-
}
|
|
73026
|
-
|
|
73027
73151
|
if (apiItem)
|
|
73028
73152
|
{
|
|
73029
73153
|
var apiIndex=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,obj, true);
|
|
@@ -73058,6 +73182,13 @@ function KLineChartContainer(uielement,OffscreenElement)
|
|
|
73058
73182
|
overlayFrame.Script=scriptIndex;
|
|
73059
73183
|
}
|
|
73060
73184
|
|
|
73185
|
+
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_OVERLAY_FRAME);
|
|
73186
|
+
if (event && event.Callback)
|
|
73187
|
+
{
|
|
73188
|
+
var sendData={ OverlayFrame:overlayFrame, WindowIndex:windowIndex, SubFrame:subFrame };
|
|
73189
|
+
event.Callback(event, sendData, this);
|
|
73190
|
+
}
|
|
73191
|
+
|
|
73061
73192
|
subFrame.OverlayIndex.push(overlayFrame);
|
|
73062
73193
|
return overlayFrame;
|
|
73063
73194
|
}
|
|
@@ -95932,7 +96063,7 @@ function Node(ErrorHandler)
|
|
|
95932
96063
|
"CAPITAL","TOTALCAPITAL","EXCHANGE",
|
|
95933
96064
|
"HYBLOCK","DYBLOCK","GNBLOCK","FGBLOCK","ZSBLOCK","ZHBLOCK","ZDBLOCK","HYZSCODE",
|
|
95934
96065
|
"GNBLOCKNUM","FGBLOCKNUM","ZSBLOCKNUM","ZHBLOCKNUM","ZDBLOCKNUM",
|
|
95935
|
-
"HYSYL","HYSJL"
|
|
96066
|
+
"HYSYL","HYSJL","FROMOPEN"
|
|
95936
96067
|
]);
|
|
95937
96068
|
|
|
95938
96069
|
if (setVariantName.has(varName))
|
|
@@ -95943,12 +96074,6 @@ function Node(ErrorHandler)
|
|
|
95943
96074
|
return;
|
|
95944
96075
|
}
|
|
95945
96076
|
|
|
95946
|
-
if (varName=='FROMOPEN')
|
|
95947
|
-
{
|
|
95948
|
-
this.IsNeedLatestIndexData=true;
|
|
95949
|
-
return;
|
|
95950
|
-
}
|
|
95951
|
-
|
|
95952
96077
|
if (varName=='ADVANCE' || varName=="DECLINE")
|
|
95953
96078
|
{
|
|
95954
96079
|
var item={ ID:JS_EXECUTE_JOB_ID.JOB_DOWNLOAD_INDEX_INCREASE_DATA, IsSelfSymbol:true, FunctionName:varName };
|
|
@@ -106473,31 +106598,6 @@ function JSSymbolData(ast,option,jsExecute)
|
|
|
106473
106598
|
JSConsole.Complier.Log('[JSSymbolData::RecvLatestIndexData]', this.LatestIndexData);
|
|
106474
106599
|
}
|
|
106475
106600
|
|
|
106476
|
-
this.GetLatestIndexCacheData=function(dataname)
|
|
106477
|
-
{
|
|
106478
|
-
if (!this.LatestIndexData) return null;
|
|
106479
|
-
|
|
106480
|
-
switch(dataname)
|
|
106481
|
-
{
|
|
106482
|
-
case 'FROMOPEN':
|
|
106483
|
-
{
|
|
106484
|
-
var value=parseInt(this.LatestIndexData.Time/100);
|
|
106485
|
-
var time=parseInt(value/100)*60+(value%100); //转化为分钟个数
|
|
106486
|
-
var index=0;
|
|
106487
|
-
if(time <= 9 * 60 + 25) index=0;
|
|
106488
|
-
else if(time < 9 * 60 + 30) index=1;
|
|
106489
|
-
else if(time <= 11 * 60 + 30) index=(time - (9 * 60 + 30) + 1);
|
|
106490
|
-
else if(time < 13 * 60) index=121;
|
|
106491
|
-
else if(time <= 15 * 60) index=(122 + time - 13 * 60);
|
|
106492
|
-
else index=242;
|
|
106493
|
-
return index;
|
|
106494
|
-
}
|
|
106495
|
-
default:
|
|
106496
|
-
return null;
|
|
106497
|
-
}
|
|
106498
|
-
}
|
|
106499
|
-
|
|
106500
|
-
|
|
106501
106601
|
this.GetVolRateData=function(job,node)
|
|
106502
106602
|
{
|
|
106503
106603
|
var volrKey=job.ID.toString()+'-VolRate-'+this.Symbol;
|
|
@@ -111562,6 +111662,8 @@ function JSExecute(ast,option)
|
|
|
111562
111662
|
|
|
111563
111663
|
case "HYSYL":
|
|
111564
111664
|
case "HYSJL":
|
|
111665
|
+
|
|
111666
|
+
case 'FROMOPEN':
|
|
111565
111667
|
return this.SymbolData.GetStockCacheData({ VariantName:name, Node:node });
|
|
111566
111668
|
case 'SETCODE':
|
|
111567
111669
|
return this.SymbolData.SETCODE();
|
|
@@ -111589,8 +111691,6 @@ function JSExecute(ast,option)
|
|
|
111589
111691
|
return this.SymbolData.DAY();
|
|
111590
111692
|
case 'PERIOD':
|
|
111591
111693
|
return this.SymbolData.PERIOD();
|
|
111592
|
-
case 'FROMOPEN':
|
|
111593
|
-
return this.SymbolData.GetLatestIndexCacheData('FROMOPEN');
|
|
111594
111694
|
|
|
111595
111695
|
case "HOUR":
|
|
111596
111696
|
return this.SymbolData.HOUR();
|
|
@@ -116462,6 +116562,9 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
116462
116562
|
case 'DRAWICON':
|
|
116463
116563
|
this.CreateIcon(hqChart,windowIndex,item,i);
|
|
116464
116564
|
break;
|
|
116565
|
+
case "TIPICON":
|
|
116566
|
+
this.CreateTipIcon(hqChart,windowIndex,item,i);
|
|
116567
|
+
break;
|
|
116465
116568
|
case 'DRAWCHANNEL':
|
|
116466
116569
|
this.CreateChannel(hqChart,windowIndex,item,i);
|
|
116467
116570
|
break;
|
|
@@ -117174,6 +117277,74 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
117174
117277
|
frame.ChartPaint.push(chart);
|
|
117175
117278
|
}
|
|
117176
117279
|
|
|
117280
|
+
this.CreateTipIcon=function(hqChart,windowIndex,varItem,id)
|
|
117281
|
+
{
|
|
117282
|
+
var overlayIndex=this.OverlayIndex;
|
|
117283
|
+
var frame=overlayIndex.Frame;
|
|
117284
|
+
var chart=new ChartDrawSVG();
|
|
117285
|
+
chart.Canvas=hqChart.Canvas;
|
|
117286
|
+
|
|
117287
|
+
chart.Name=varItem.Name;
|
|
117288
|
+
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
117289
|
+
chart.ChartFrame=frame.Frame;
|
|
117290
|
+
chart.Identify=overlayIndex.Identify;
|
|
117291
|
+
|
|
117292
|
+
if (hqChart.ChartPaint[0].IsMinuteFrame())
|
|
117293
|
+
chart.Data=hqChart.SourceData;
|
|
117294
|
+
else
|
|
117295
|
+
chart.Data=hqChart.ChartPaint[0].Data; //绑定K线
|
|
117296
|
+
|
|
117297
|
+
chart.Family=varItem.Draw.Icon.Family;
|
|
117298
|
+
chart.TextFont=g_JSChartResource.TIPICON.TextFont;
|
|
117299
|
+
|
|
117300
|
+
var svgSize=g_JSChartResource.TIPICON.Size;
|
|
117301
|
+
var svgColor=g_JSChartResource.TIPICON.Color;
|
|
117302
|
+
var svgYOffset=0;
|
|
117303
|
+
var svgVAlign=2; //上下对齐方式
|
|
117304
|
+
if (IFrameSplitOperator.IsNumber(varItem.YOffset)) svgYOffset=varItem.YOffset;
|
|
117305
|
+
if (varItem.Color) svgColor=this.GetColor(varItem.Color);
|
|
117306
|
+
if (varItem.DrawFontSize>0) svgSize=varItem.DrawFontSize;
|
|
117307
|
+
if (varItem.DrawVAlign>=0) svgVAlign=varItem.DrawVAlign;
|
|
117308
|
+
|
|
117309
|
+
if (varItem.Draw && IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.DrawData) && varItem.Draw.Icon)
|
|
117310
|
+
{
|
|
117311
|
+
var drawData=varItem.Draw.DrawData;
|
|
117312
|
+
var aryData=[];
|
|
117313
|
+
var isArrayTip=Array.isArray(varItem.Draw.Text);
|
|
117314
|
+
var singleTip=null;
|
|
117315
|
+
if (!isArrayTip && varItem.Draw.Text) singleTip={ Text:varItem.Draw.Text };
|
|
117316
|
+
|
|
117317
|
+
for(var j=0;j<drawData.length;++j)
|
|
117318
|
+
{
|
|
117319
|
+
var item=drawData[j];
|
|
117320
|
+
if (!IFrameSplitOperator.IsNumber(item)) continue;
|
|
117321
|
+
|
|
117322
|
+
var svgItem=
|
|
117323
|
+
{
|
|
117324
|
+
Index:j, Value:item,
|
|
117325
|
+
SVG:{ Symbol:varItem.Draw.Icon.Symbol, Size:svgSize, Color:svgColor, YOffset:svgYOffset, VAlign:svgVAlign }
|
|
117326
|
+
};
|
|
117327
|
+
|
|
117328
|
+
if (isArrayTip)
|
|
117329
|
+
{
|
|
117330
|
+
var text=varItem.Draw.Text[j];
|
|
117331
|
+
if (text) svgItem.Tooltip={ Text:text };
|
|
117332
|
+
}
|
|
117333
|
+
else
|
|
117334
|
+
{
|
|
117335
|
+
svgItem.Tooltip=singleTip;
|
|
117336
|
+
}
|
|
117337
|
+
|
|
117338
|
+
aryData.push(svgItem);
|
|
117339
|
+
}
|
|
117340
|
+
|
|
117341
|
+
chart.Texts= aryData;
|
|
117342
|
+
}
|
|
117343
|
+
|
|
117344
|
+
frame.ChartPaint.push(chart);
|
|
117345
|
+
}
|
|
117346
|
+
|
|
117347
|
+
|
|
117177
117348
|
//创建通道
|
|
117178
117349
|
this.CreateChannel=function(hqChart,windowIndex,varItem,id)
|
|
117179
117350
|
{
|
|
@@ -120305,7 +120476,7 @@ function GetBlackStyle()
|
|
|
120305
120476
|
|
|
120306
120477
|
Frame:
|
|
120307
120478
|
{
|
|
120308
|
-
XBottomOffset:
|
|
120479
|
+
XBottomOffset:2*GetDevicePixelRatio(), //X轴文字向下偏移
|
|
120309
120480
|
|
|
120310
120481
|
PercentageText: //百分比坐标文字颜色
|
|
120311
120482
|
{
|
|
@@ -131192,7 +131363,7 @@ function HQChartScriptWorker()
|
|
|
131192
131363
|
|
|
131193
131364
|
|
|
131194
131365
|
|
|
131195
|
-
var HQCHART_VERSION="1.1.
|
|
131366
|
+
var HQCHART_VERSION="1.1.12747";
|
|
131196
131367
|
|
|
131197
131368
|
function PrintHQChartVersion()
|
|
131198
131369
|
{
|