hqchart 1.1.14836 → 1.1.14843
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 +20 -13
- package/package.json +1 -1
- package/src/jscommon/umychart.NetworkFilterTest.js +40 -0
- package/src/jscommon/umychart.complier.js +70 -1
- package/src/jscommon/umychart.js +212 -2
- package/src/jscommon/umychart.testdata.js +40 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +283 -4
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +40 -0
- package/src/jscommon/umychart.vue/umychart.vue.js +283 -4
|
@@ -45587,6 +45587,199 @@ function ChartMACD()
|
|
|
45587
45587
|
}
|
|
45588
45588
|
}
|
|
45589
45589
|
|
|
45590
|
+
//基准线上下柱子
|
|
45591
|
+
function ChartBaseLineBar()
|
|
45592
|
+
{
|
|
45593
|
+
this.newMethod=IChartPainting; //派生
|
|
45594
|
+
this.newMethod();
|
|
45595
|
+
delete this.newMethod;
|
|
45596
|
+
|
|
45597
|
+
this.ClassName="ChartBaseLineBar";
|
|
45598
|
+
this.UpColor=g_JSChartResource.ChartBaseLineBar.UpColor;
|
|
45599
|
+
this.DownColor=g_JSChartResource.ChartBaseLineBar.DownColor;
|
|
45600
|
+
this.LineWidth=1;
|
|
45601
|
+
this.IsDrawFirst=true;
|
|
45602
|
+
this.AryData=[]; //{ Date, Time, Up, Down }
|
|
45603
|
+
|
|
45604
|
+
this.MaxValue;
|
|
45605
|
+
this.YBaseLine;
|
|
45606
|
+
this.BarMaxHeight; //{ Up:, Down: }
|
|
45607
|
+
|
|
45608
|
+
this.Draw=function()
|
|
45609
|
+
{
|
|
45610
|
+
this.YBaseLine=null;
|
|
45611
|
+
this.BarMaxHeight=null;
|
|
45612
|
+
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
45613
|
+
if (this.IsShowIndexTitleOnly()) return;
|
|
45614
|
+
if (this.IsHideScriptIndex()) return;
|
|
45615
|
+
if (!this.HQChart) return;
|
|
45616
|
+
if(!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
|
|
45617
|
+
if (!IFrameSplitOperator.IsNumber(this.MaxValue)) return;
|
|
45618
|
+
this.CalculateBaseLine();
|
|
45619
|
+
|
|
45620
|
+
if (!IFrameSplitOperator.IsNumber(this.YBaseLine)) return;
|
|
45621
|
+
if (!IFrameSplitOperator.IsPlusNumber(this.BarMaxHeight)) return;
|
|
45622
|
+
|
|
45623
|
+
var bHScreen=(this.ChartFrame.IsHScreen===true);
|
|
45624
|
+
var bMinute=this.IsMinuteFrame();
|
|
45625
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
45626
|
+
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
45627
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
45628
|
+
var border=this.ChartFrame.GetBorder();
|
|
45629
|
+
|
|
45630
|
+
if (bHScreen)
|
|
45631
|
+
{
|
|
45632
|
+
var chartright=border.BottomEx;
|
|
45633
|
+
var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
45634
|
+
}
|
|
45635
|
+
else
|
|
45636
|
+
{
|
|
45637
|
+
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
45638
|
+
var chartright=border.RightEx;
|
|
45639
|
+
}
|
|
45640
|
+
|
|
45641
|
+
var yCenter=this.YBaseLine;
|
|
45642
|
+
var aryUpBar=[], aryDownBar=[];
|
|
45643
|
+
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
45644
|
+
{
|
|
45645
|
+
var kItem=this.Data.Data[i];
|
|
45646
|
+
if (!kItem) continue;
|
|
45647
|
+
var key=this.BuildKey(kItem);
|
|
45648
|
+
if (!this.MapCache.has(key)) continue;
|
|
45649
|
+
|
|
45650
|
+
var item=this.MapCache.get(key);
|
|
45651
|
+
|
|
45652
|
+
if (bMinute)
|
|
45653
|
+
{
|
|
45654
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
45655
|
+
}
|
|
45656
|
+
else
|
|
45657
|
+
{
|
|
45658
|
+
var left=xOffset;
|
|
45659
|
+
var right=xOffset+dataWidth;
|
|
45660
|
+
if (right>chartright) break;
|
|
45661
|
+
var x=left+(right-left)/2;
|
|
45662
|
+
}
|
|
45663
|
+
|
|
45664
|
+
if (IFrameSplitOperator.IsNumber(item.Up))
|
|
45665
|
+
{
|
|
45666
|
+
var y=yCenter-(item.Up*this.BarMaxHeight/this.MaxValue);
|
|
45667
|
+
aryUpBar.push({ X:x, Y:y});
|
|
45668
|
+
}
|
|
45669
|
+
|
|
45670
|
+
if (IFrameSplitOperator.IsNumber(item.Down))
|
|
45671
|
+
{
|
|
45672
|
+
var y=yCenter+(Math.abs(item.Down)*this.BarMaxHeight/this.MaxValue);
|
|
45673
|
+
aryDownBar.push({X:x, Y:y});
|
|
45674
|
+
}
|
|
45675
|
+
}
|
|
45676
|
+
|
|
45677
|
+
this.DrawBars(aryUpBar, this.UpColor);
|
|
45678
|
+
this.DrawBars(aryDownBar,this.DownColor);
|
|
45679
|
+
}
|
|
45680
|
+
|
|
45681
|
+
this.CalculateBaseLine=function()
|
|
45682
|
+
{
|
|
45683
|
+
if (!this.HQChart) return;
|
|
45684
|
+
|
|
45685
|
+
var bHScreen=(this.ChartFrame.IsHScreen===true);
|
|
45686
|
+
var bMinute=this.IsMinuteFrame();
|
|
45687
|
+
var border=this.ChartFrame.GetBorder();
|
|
45688
|
+
|
|
45689
|
+
if (bMinute)
|
|
45690
|
+
{
|
|
45691
|
+
var chart=this.HQChart.ChartPaint[0];
|
|
45692
|
+
if (!chart || !IFrameSplitOperator.IsNumber(chart.YClose)) return;
|
|
45693
|
+
|
|
45694
|
+
this.YBaseLine=this.ChartFrame.GetYFromData(chart.YClose);
|
|
45695
|
+
if (bHScreen)
|
|
45696
|
+
{
|
|
45697
|
+
this.BarMaxHeight=(border.RightEx-this.YBaseLine)/3;
|
|
45698
|
+
}
|
|
45699
|
+
else
|
|
45700
|
+
{
|
|
45701
|
+
this.BarMaxHeight=(this.YBaseLine-border.TopEx)/3;
|
|
45702
|
+
}
|
|
45703
|
+
}
|
|
45704
|
+
else
|
|
45705
|
+
{
|
|
45706
|
+
//TODO:K线
|
|
45707
|
+
}
|
|
45708
|
+
}
|
|
45709
|
+
|
|
45710
|
+
this.DrawBars=function(aryBar, barColor)
|
|
45711
|
+
{
|
|
45712
|
+
var bHScreen=(this.ChartFrame.IsHScreen===true);
|
|
45713
|
+
var yCenter=this.YBaseLine;
|
|
45714
|
+
this.Canvas.strokeStyle=barColor;
|
|
45715
|
+
this.Canvas.beginPath();
|
|
45716
|
+
var barCount=0;
|
|
45717
|
+
for (var i=0;i<aryBar.length;++i)
|
|
45718
|
+
{
|
|
45719
|
+
var item=aryBar[i];
|
|
45720
|
+
var x=ToFixedPoint(item.X)
|
|
45721
|
+
if (bHScreen)
|
|
45722
|
+
{
|
|
45723
|
+
this.Canvas.moveTo(yCenter,x);
|
|
45724
|
+
this.Canvas.lineTo(item.Y,x);
|
|
45725
|
+
}
|
|
45726
|
+
else
|
|
45727
|
+
{
|
|
45728
|
+
this.Canvas.moveTo(x,yCenter);
|
|
45729
|
+
this.Canvas.lineTo(x,item.Y);
|
|
45730
|
+
}
|
|
45731
|
+
++barCount;
|
|
45732
|
+
}
|
|
45733
|
+
if (barCount>0) this.Canvas.stroke();
|
|
45734
|
+
}
|
|
45735
|
+
|
|
45736
|
+
this.BuildCacheData=function()
|
|
45737
|
+
{
|
|
45738
|
+
this.MaxValue=null;
|
|
45739
|
+
var mapData=new Map();
|
|
45740
|
+
this.MapCache=mapData;
|
|
45741
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.AryData)) return;
|
|
45742
|
+
|
|
45743
|
+
var max=null, min=null;
|
|
45744
|
+
for(var i=0;i<this.AryData.length;++i)
|
|
45745
|
+
{
|
|
45746
|
+
var item=this.AryData[i];
|
|
45747
|
+
if (!item) continue;
|
|
45748
|
+
|
|
45749
|
+
var key=this.BuildKey(item);
|
|
45750
|
+
mapData.set(key,item);
|
|
45751
|
+
|
|
45752
|
+
if (IFrameSplitOperator.IsNumber(item.Up))
|
|
45753
|
+
{
|
|
45754
|
+
if (!max) max={ Value:item.Up };
|
|
45755
|
+
else if (max.Value<item.Up) max.Value=item.Up;
|
|
45756
|
+
|
|
45757
|
+
if (!min) min={ Value:item.Up };
|
|
45758
|
+
else if (min.Value>item.Up) min.Value=item.Up;
|
|
45759
|
+
}
|
|
45760
|
+
|
|
45761
|
+
if (IFrameSplitOperator.IsNumber(item.Down))
|
|
45762
|
+
{
|
|
45763
|
+
if (!max) max={ Value:item.Down };
|
|
45764
|
+
else if (max.Value<item.Down) max.Value=item.Down;
|
|
45765
|
+
|
|
45766
|
+
if (!min) min={ Value:item.Down };
|
|
45767
|
+
else if (min.Value>item.Down) min.Value=item.Down;
|
|
45768
|
+
}
|
|
45769
|
+
}
|
|
45770
|
+
|
|
45771
|
+
if (max && min)
|
|
45772
|
+
{
|
|
45773
|
+
this.MaxValue=Math.max(Math.abs(max.Value),Math.abs(min.Value));
|
|
45774
|
+
}
|
|
45775
|
+
}
|
|
45776
|
+
|
|
45777
|
+
this.GetMaxMin=function()
|
|
45778
|
+
{
|
|
45779
|
+
return {Min:null, Max:null};
|
|
45780
|
+
}
|
|
45781
|
+
}
|
|
45782
|
+
|
|
45590
45783
|
function ChartClipColorStick()
|
|
45591
45784
|
{
|
|
45592
45785
|
this.newMethod=IChartPainting; //派生
|
|
@@ -79674,6 +79867,12 @@ function JSChartResource()
|
|
|
79674
79867
|
],
|
|
79675
79868
|
}
|
|
79676
79869
|
|
|
79870
|
+
this.ChartBaseLineBar=
|
|
79871
|
+
{
|
|
79872
|
+
UpColor:"rgb(238,21,21)",
|
|
79873
|
+
DownColor:"rgb(25,158,0)"
|
|
79874
|
+
}
|
|
79875
|
+
|
|
79677
79876
|
//手机端tooltip
|
|
79678
79877
|
this.TooltipPaint = {
|
|
79679
79878
|
BGColor:'rgba(250,250,250,0.8)', //背景色
|
|
@@ -81026,6 +81225,8 @@ function JSChartResource()
|
|
|
81026
81225
|
if (style.ChartSimpleDoughnut) this.SetChartSimpleDoughnut(style.ChartSimpleDoughnut);
|
|
81027
81226
|
|
|
81028
81227
|
if (style.ChartSimpleRadar) this.SetChartSimpleRadar(style.ChartSimpleRadar);
|
|
81228
|
+
|
|
81229
|
+
if (style.ChartBaseLineBar) this.SetChartBaseLineBar(style.ChartBaseLineBar);
|
|
81029
81230
|
|
|
81030
81231
|
if (style.DRAWICON)
|
|
81031
81232
|
{
|
|
@@ -82183,6 +82384,14 @@ function JSChartResource()
|
|
|
82183
82384
|
if (IFrameSplitOperator.IsNonEmptyArray(style.AryArea)) dest.AryArea=style.AryArea.slice();
|
|
82184
82385
|
}
|
|
82185
82386
|
|
|
82387
|
+
this.SetChartBaseLineBar=function(style)
|
|
82388
|
+
{
|
|
82389
|
+
var dest=this.ChartBaseLineBar;
|
|
82390
|
+
|
|
82391
|
+
if (style.UpColor) dest.UpColor=style.UpColor;
|
|
82392
|
+
if (style.DownColor) dest.DownColor=style.DownColor;
|
|
82393
|
+
}
|
|
82394
|
+
|
|
82186
82395
|
this.SetIndexLock=function(style)
|
|
82187
82396
|
{
|
|
82188
82397
|
var item=style;
|
|
@@ -85346,7 +85555,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
85346
85555
|
else
|
|
85347
85556
|
{
|
|
85348
85557
|
self.AutoUpdateEvent(true,'KLineChartContainer::RequestHistoryData');
|
|
85349
|
-
self.AutoUpdate();
|
|
85558
|
+
self.AutoUpdate(500);
|
|
85350
85559
|
}
|
|
85351
85560
|
});
|
|
85352
85561
|
|
|
@@ -85666,7 +85875,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
85666
85875
|
else
|
|
85667
85876
|
{
|
|
85668
85877
|
self.AutoUpdateEvent(true,'KLineChartContainer::ReqeustHistoryMinuteData');
|
|
85669
|
-
self.AutoUpdate();
|
|
85878
|
+
self.AutoUpdate(500);
|
|
85670
85879
|
}
|
|
85671
85880
|
});
|
|
85672
85881
|
|
|
@@ -90162,6 +90371,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
90162
90371
|
}
|
|
90163
90372
|
|
|
90164
90373
|
var frequency=this.AutoUpdateFrequency;
|
|
90374
|
+
if (IFrameSplitOperator.IsPlusNumber(waitTime)) frequency=waitTime;
|
|
90165
90375
|
if (marketStatus==1) //盘前
|
|
90166
90376
|
{
|
|
90167
90377
|
this.AutoUpdateTimer=setTimeout(function()
|
|
@@ -126965,7 +127175,8 @@ var SCRIPT_CHART_NAME=
|
|
|
126965
127175
|
|
|
126966
127176
|
CLIP_COLOR_STICK:"CLIP_COLOR_STICK", //上下柱子 裁剪
|
|
126967
127177
|
|
|
126968
|
-
DRAW_KLINE:"DRAWKLINE"
|
|
127178
|
+
DRAW_KLINE:"DRAWKLINE",
|
|
127179
|
+
BASELINE_BAR:"BASELINE_BAR"
|
|
126969
127180
|
}
|
|
126970
127181
|
|
|
126971
127182
|
|
|
@@ -129028,6 +129239,31 @@ function ScriptIndex(name,script,args,option)
|
|
|
129028
129239
|
hqChart.ChartPaint.push(chart);
|
|
129029
129240
|
}
|
|
129030
129241
|
|
|
129242
|
+
this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,id)
|
|
129243
|
+
{
|
|
129244
|
+
var chart=new ChartBaseLineBar();
|
|
129245
|
+
chart.Canvas=hqChart.Canvas;
|
|
129246
|
+
chart.Name=varItem.Name;
|
|
129247
|
+
chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;
|
|
129248
|
+
chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;
|
|
129249
|
+
chart.HQChart=hqChart;
|
|
129250
|
+
chart.Identify=this.Guid;
|
|
129251
|
+
|
|
129252
|
+
chart.Data=hqChart.GetKData(); //绑定K线
|
|
129253
|
+
chart.AryData=varItem.Draw.DrawData;
|
|
129254
|
+
|
|
129255
|
+
var config=varItem.Draw.Config;
|
|
129256
|
+
if (config)
|
|
129257
|
+
{
|
|
129258
|
+
if (config.UpColor) chart.UpColor=config.UpColor;
|
|
129259
|
+
if (config.DownColor) chart.DownColor=config.DownColor;
|
|
129260
|
+
}
|
|
129261
|
+
|
|
129262
|
+
chart.BuildCacheData();
|
|
129263
|
+
this.SetChartIndexName(chart);
|
|
129264
|
+
hqChart.ChartPaint.push(chart);
|
|
129265
|
+
}
|
|
129266
|
+
|
|
129031
129267
|
|
|
129032
129268
|
this.CreateClipColorStick=function(hqChart,windowIndex,varItem,id)
|
|
129033
129269
|
{
|
|
@@ -129400,6 +129636,9 @@ function ScriptIndex(name,script,args,option)
|
|
|
129400
129636
|
case SCRIPT_CHART_NAME.CLIP_COLOR_STICK:
|
|
129401
129637
|
this.CreateClipColorStick(hqChart,windowIndex,item,i);
|
|
129402
129638
|
break;
|
|
129639
|
+
case SCRIPT_CHART_NAME.BASELINE_BAR:
|
|
129640
|
+
this.CreateBaseLineBar(hqChart,windowIndex,item,i);
|
|
129641
|
+
break;
|
|
129403
129642
|
default:
|
|
129404
129643
|
{
|
|
129405
129644
|
var find=g_ScriptIndexChartFactory.Get(item.Draw.DrawType); //外部挂接
|
|
@@ -129753,6 +129992,9 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
129753
129992
|
case SCRIPT_CHART_NAME.OVERLAY_BARS:
|
|
129754
129993
|
this.CreateStackedBar(hqChart,windowIndex,item,i);
|
|
129755
129994
|
break;
|
|
129995
|
+
case SCRIPT_CHART_NAME.BASELINE_BAR:
|
|
129996
|
+
this.CreateBaseLineBar(hqChart,windowIndex,item,i);
|
|
129997
|
+
break;
|
|
129756
129998
|
case "DRAWCOLORKLINE":
|
|
129757
129999
|
this.CreateDrawColorKLine(hqChart,windowIndex,item,i);
|
|
129758
130000
|
break;
|
|
@@ -130565,6 +130807,32 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
130565
130807
|
frame.ChartPaint.push(chart);
|
|
130566
130808
|
}
|
|
130567
130809
|
|
|
130810
|
+
this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,id)
|
|
130811
|
+
{
|
|
130812
|
+
var overlayIndex=this.OverlayIndex;
|
|
130813
|
+
var frame=overlayIndex.Frame;
|
|
130814
|
+
var chart=new ChartBaseLineBar();
|
|
130815
|
+
chart.Canvas=hqChart.Canvas;
|
|
130816
|
+
chart.Name=varItem.Name;
|
|
130817
|
+
chart.HQChart=hqChart;
|
|
130818
|
+
chart.ChartBorder=frame.Frame.ChartBorder;
|
|
130819
|
+
chart.ChartFrame=frame.Frame;
|
|
130820
|
+
chart.Identify=overlayIndex.Identify;
|
|
130821
|
+
|
|
130822
|
+
chart.Data=hqChart.GetKData(); //绑定K线
|
|
130823
|
+
chart.AryData=varItem.Draw.DrawData;
|
|
130824
|
+
|
|
130825
|
+
var config=varItem.Draw.Config;
|
|
130826
|
+
if (config)
|
|
130827
|
+
{
|
|
130828
|
+
if (config.UpColor) chart.UpColor=config.UpColor;
|
|
130829
|
+
if (config.DownColor) chart.DownColor=config.DownColor;
|
|
130830
|
+
}
|
|
130831
|
+
|
|
130832
|
+
chart.BuildCacheData();
|
|
130833
|
+
frame.ChartPaint.push(chart);
|
|
130834
|
+
}
|
|
130835
|
+
|
|
130568
130836
|
|
|
130569
130837
|
//创建通道
|
|
130570
130838
|
this.CreateChannel=function(hqChart,windowIndex,varItem,id)
|
|
@@ -132474,6 +132742,17 @@ function APIScriptIndex(name,script,args,option, isOverlay)
|
|
|
132474
132742
|
if (draw.Option) outVarItem.Option=draw.Option;
|
|
132475
132743
|
result.push(outVarItem);
|
|
132476
132744
|
}
|
|
132745
|
+
else if (draw.DrawType==SCRIPT_CHART_NAME.BASELINE_BAR)
|
|
132746
|
+
{
|
|
132747
|
+
drawItem.Name=draw.Name;
|
|
132748
|
+
drawItem.Type=draw.Type;
|
|
132749
|
+
drawItem.DrawType=draw.DrawType;
|
|
132750
|
+
drawItem.DrawData=draw.DrawData;
|
|
132751
|
+
drawItem.Config=draw.Config;
|
|
132752
|
+
|
|
132753
|
+
outVarItem.Draw=drawItem;
|
|
132754
|
+
result.push(outVarItem);
|
|
132755
|
+
}
|
|
132477
132756
|
else if (draw.DrawType=='MULTI_LINE')
|
|
132478
132757
|
{
|
|
132479
132758
|
drawItem.Text=draw.Text;
|
|
@@ -160808,7 +161087,7 @@ function HQChartScriptWorker()
|
|
|
160808
161087
|
|
|
160809
161088
|
|
|
160810
161089
|
|
|
160811
|
-
var HQCHART_VERSION="1.1.
|
|
161090
|
+
var HQCHART_VERSION="1.1.14842";
|
|
160812
161091
|
|
|
160813
161092
|
function PrintHQChartVersion()
|
|
160814
161093
|
{
|