hqchart 1.1.14425 → 1.1.14432
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 +42 -46
- package/package.json +1 -1
- package/src/jscommon/umychart.PopKeyboard.js +12 -2
- package/src/jscommon/umychart.PopMinuteChart.js +8 -1
- package/src/jscommon/umychart.js +183 -267
- package/src/jscommon/umychart.resource/css/tools.css +2 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +184 -268
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +204 -271
package/src/jscommon/umychart.js
CHANGED
|
@@ -5945,6 +5945,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
5945
5945
|
for(var i=0;i<this.ExtendChartPaint.length;++i)
|
|
5946
5946
|
{
|
|
5947
5947
|
var item=this.ExtendChartPaint[i];
|
|
5948
|
+
|
|
5948
5949
|
if (item.IsCallbackDraw)
|
|
5949
5950
|
{
|
|
5950
5951
|
if (["KLineYAxisBGPaint","DepthMapPaint","BackgroundPaint","MinuteBackgroundPaint", "SessionBreaksPaint"].includes(item.ClassName))
|
|
@@ -44446,6 +44447,25 @@ function IExtendChartPainting()
|
|
|
44446
44447
|
{
|
|
44447
44448
|
return GetFontHeight(this.Canvas, font, "擎");
|
|
44448
44449
|
}
|
|
44450
|
+
|
|
44451
|
+
this.SetFillStyle=function(color, x0, y0, x1, y1)
|
|
44452
|
+
{
|
|
44453
|
+
if (Array.isArray(color))
|
|
44454
|
+
{
|
|
44455
|
+
let gradient = this.Canvas.createLinearGradient(x0, y0, x1, y1);
|
|
44456
|
+
var offset=1/(color.length-1);
|
|
44457
|
+
for(var i=0; i<color.length; ++i)
|
|
44458
|
+
{
|
|
44459
|
+
var value=i*offset;
|
|
44460
|
+
gradient.addColorStop(value, color[i]);
|
|
44461
|
+
}
|
|
44462
|
+
this.Canvas.fillStyle=gradient;
|
|
44463
|
+
}
|
|
44464
|
+
else
|
|
44465
|
+
{
|
|
44466
|
+
this.Canvas.fillStyle=color;
|
|
44467
|
+
}
|
|
44468
|
+
}
|
|
44449
44469
|
}
|
|
44450
44470
|
|
|
44451
44471
|
//K线Tooltip, 显示在左边或右边
|
|
@@ -48615,7 +48635,7 @@ function KLineYAxisBGPaint()
|
|
|
48615
48635
|
}
|
|
48616
48636
|
|
|
48617
48637
|
|
|
48618
|
-
//背景图 支持横屏
|
|
48638
|
+
//背景图 支持横屏 新版本
|
|
48619
48639
|
function BackgroundPaint()
|
|
48620
48640
|
{
|
|
48621
48641
|
this.newMethod=IExtendChartPainting; //派生
|
|
@@ -48627,327 +48647,210 @@ function BackgroundPaint()
|
|
|
48627
48647
|
this.IsDynamic=false;
|
|
48628
48648
|
this.IsCallbackDraw=true; //在回调函数里绘制, 不在Draw()中绘制
|
|
48629
48649
|
|
|
48650
|
+
this.IsDrawAllFrame=false; //全部的指标框都画
|
|
48651
|
+
this.SetDrawFrameID=new Set([0]); //指定几个指标框画
|
|
48652
|
+
|
|
48630
48653
|
this.FrameID=0;
|
|
48631
|
-
this.Data;
|
|
48654
|
+
this.Data; //背景数据[ { Start:{ Date:, Time: }, End:{ Date:, Time }, Color:['rgb(44,55,255)','rgb(200,55,255)'] }]
|
|
48655
|
+
this.IsShow=true;
|
|
48656
|
+
this.SubFrame=null;
|
|
48657
|
+
|
|
48632
48658
|
this.ID=Guid(); //唯一的ID
|
|
48633
|
-
|
|
48634
|
-
/*
|
|
48635
|
-
this.Data=
|
|
48636
|
-
[
|
|
48637
|
-
{ Start:{ Date:20181201 }, End:{ Date:20181230 }, Color:'rgb(44,55,44)' } ,
|
|
48638
|
-
{ Start:{ Date:20190308 }, End:{ Date:20190404 }, Color:['rgb(44,55,255)','rgb(200,55,255)'] }
|
|
48639
|
-
]
|
|
48640
|
-
*/
|
|
48641
|
-
|
|
48642
|
-
this.ChartSubFrame;
|
|
48643
|
-
this.ChartBorder;
|
|
48644
|
-
this.KData;
|
|
48645
|
-
this.Period;
|
|
48646
|
-
this.XPointCount=0;
|
|
48659
|
+
this.HQChart;
|
|
48647
48660
|
|
|
48648
48661
|
this.SetOption=function(option) //设置
|
|
48649
48662
|
{
|
|
48650
|
-
if (option
|
|
48663
|
+
if (!option) return;
|
|
48664
|
+
|
|
48665
|
+
if (IFrameSplitOperator.IsNumber(option.FrameID)) this.FrameID=option.FrameID;
|
|
48651
48666
|
if (IFrameSplitOperator.IsObjectExist(option.ID)) this.ID=option.ID;
|
|
48667
|
+
if (IFrameSplitOperator.IsBool(option.IsDrawAllFrame)) this.IsDrawAllFrame=option.IsDrawAllFrame;
|
|
48668
|
+
if (IFrameSplitOperator.IsNonEmptyArray(option.AryFrameID)) this.SetDrawFrameID=new Set(option.AryFrameID);
|
|
48652
48669
|
}
|
|
48653
48670
|
|
|
48654
48671
|
this.Draw=function()
|
|
48655
48672
|
{
|
|
48656
|
-
|
|
48657
|
-
|
|
48658
|
-
|
|
48659
|
-
if (!
|
|
48660
|
-
|
|
48661
|
-
this.
|
|
48662
|
-
|
|
48663
|
-
this.
|
|
48664
|
-
this.
|
|
48665
|
-
if (!this.
|
|
48666
|
-
|
|
48667
|
-
var
|
|
48668
|
-
|
|
48669
|
-
|
|
48670
|
-
|
|
48671
|
-
|
|
48672
|
-
var
|
|
48673
|
-
|
|
48674
|
-
var
|
|
48675
|
-
var
|
|
48676
|
-
|
|
48677
|
-
|
|
48678
|
-
|
|
48679
|
-
var bottom=this.ChartBorder.GetBottomEx();
|
|
48680
|
-
var top=this.ChartBorder.GetTopEx();
|
|
48681
|
-
var height=this.ChartBorder.GetHeightEx();
|
|
48682
|
-
if (isHScreen)
|
|
48673
|
+
this.SubFrame=null;
|
|
48674
|
+
|
|
48675
|
+
if (this.FrameID<0) return;
|
|
48676
|
+
if (!this.HQChart) return;
|
|
48677
|
+
if (!this.ChartFrame || !IFrameSplitOperator.IsNonEmptyArray(this.ChartFrame.SubFrame)) return;
|
|
48678
|
+
if (!this.IsShow) return;
|
|
48679
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Data)) return;
|
|
48680
|
+
if (!this.ChartFrame.SubFrame[this.FrameID]) return;
|
|
48681
|
+
this.SubFrame=this.ChartFrame.SubFrame[this.FrameID].Frame;
|
|
48682
|
+
if (!this.SubFrame) return;
|
|
48683
|
+
|
|
48684
|
+
var kData=this.HQChart.GetKData();
|
|
48685
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return;
|
|
48686
|
+
|
|
48687
|
+
var bHScreen=(this.SubFrame.IsHScreen===true);
|
|
48688
|
+
this.IsHScreen=bHScreen;
|
|
48689
|
+
var isMinute=this.SubFrame.IsMinuteFrame();
|
|
48690
|
+
var dataWidth=this.SubFrame.DataWidth;
|
|
48691
|
+
var distanceWidth=this.SubFrame.DistanceWidth;
|
|
48692
|
+
var xPointCount=this.SubFrame.XPointCount;
|
|
48693
|
+
|
|
48694
|
+
var border=this.SubFrame.GetBorder();
|
|
48695
|
+
if (bHScreen)
|
|
48683
48696
|
{
|
|
48684
|
-
|
|
48685
|
-
|
|
48686
|
-
|
|
48697
|
+
var chartright=border.BottomEx;
|
|
48698
|
+
var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
48699
|
+
}
|
|
48700
|
+
else
|
|
48701
|
+
{
|
|
48702
|
+
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
48703
|
+
var chartright=border.RightEx;
|
|
48687
48704
|
}
|
|
48688
48705
|
|
|
48689
|
-
|
|
48706
|
+
var mapBG=new Map(); //key= index, Value={ Start:{Left, Center, Right, Item:}, End:{ Left, Center, Right, Item:} }
|
|
48707
|
+
var startIndex=kData.DataOffset;
|
|
48708
|
+
for(var i=startIndex,j=0;i<kData.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
48690
48709
|
{
|
|
48691
|
-
var
|
|
48692
|
-
var
|
|
48693
|
-
if (!
|
|
48710
|
+
var kItem=kData.Data[i];
|
|
48711
|
+
var aryFind=this.FindMatchData(kItem);
|
|
48712
|
+
if (!aryFind) continue;
|
|
48694
48713
|
|
|
48695
|
-
if (
|
|
48714
|
+
if (isMinute)
|
|
48696
48715
|
{
|
|
48697
|
-
var
|
|
48698
|
-
|
|
48699
|
-
|
|
48700
|
-
var offset=1/item.Color.length;
|
|
48701
|
-
for(var i in item.Color)
|
|
48702
|
-
{
|
|
48703
|
-
gradient.addColorStop(i*offset, item.Color[i]);
|
|
48704
|
-
}
|
|
48705
|
-
this.Canvas.fillStyle=gradient;
|
|
48716
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
48717
|
+
var left=x;
|
|
48718
|
+
var right=x;
|
|
48706
48719
|
}
|
|
48707
48720
|
else
|
|
48708
48721
|
{
|
|
48709
|
-
|
|
48722
|
+
var left=xOffset;
|
|
48723
|
+
var right=xOffset+dataWidth;
|
|
48724
|
+
var x=left+(right-left)/2;
|
|
48725
|
+
}
|
|
48726
|
+
|
|
48727
|
+
for(var k=0;k<aryFind.length;++k)
|
|
48728
|
+
{
|
|
48729
|
+
var findItem=aryFind[k];
|
|
48730
|
+
if (mapBG.has(findItem.Index))
|
|
48731
|
+
{
|
|
48732
|
+
var bgItem=mapBG.get(findItem.Index);
|
|
48733
|
+
bgItem.End.Left=left;
|
|
48734
|
+
bgItem.End.Right=right;
|
|
48735
|
+
bgItem.End.Item=findItem.Item;
|
|
48736
|
+
}
|
|
48737
|
+
else
|
|
48738
|
+
{
|
|
48739
|
+
mapBG.set(findItem.Index, { Item:findItem.Item, Start:{ Left:left, Right:right, Item:findItem.Item }, End:{ Left:left, Right:right, Item:findItem.Item }})
|
|
48740
|
+
}
|
|
48710
48741
|
}
|
|
48742
|
+
}
|
|
48711
48743
|
|
|
48712
|
-
|
|
48713
|
-
|
|
48744
|
+
if (mapBG.size>0)
|
|
48745
|
+
{
|
|
48746
|
+
this.Canvas.save();
|
|
48747
|
+
//this.ClipClient(bHScreen);
|
|
48748
|
+
|
|
48749
|
+
this.DrawBG(mapBG);
|
|
48750
|
+
|
|
48751
|
+
this.Canvas.restore();
|
|
48714
48752
|
}
|
|
48715
48753
|
}
|
|
48716
48754
|
|
|
48717
|
-
this.
|
|
48755
|
+
this.FindMatchData=function(kItem)
|
|
48718
48756
|
{
|
|
48719
|
-
|
|
48720
|
-
|
|
48721
|
-
var aryData=[];
|
|
48757
|
+
var aryFind=[];
|
|
48722
48758
|
for(var i=0;i<this.Data.length;++i)
|
|
48723
48759
|
{
|
|
48724
48760
|
var item=this.Data[i];
|
|
48725
|
-
var
|
|
48726
|
-
|
|
48727
|
-
|
|
48728
|
-
|
|
48729
|
-
if (item.Start.Date<first.Date && item.End.Date>end.Date)
|
|
48761
|
+
var start=item.Start;
|
|
48762
|
+
var end=item.End;
|
|
48763
|
+
var bMatch=false;
|
|
48764
|
+
if (IFrameSplitOperator.IsNumber(kItem.Date) && IFrameSplitOperator.IsNumber(kItem.Time))
|
|
48730
48765
|
{
|
|
48731
|
-
|
|
48732
|
-
|
|
48766
|
+
if (kItem.Date>start.Date && kItem.Date<end.Date)
|
|
48767
|
+
{
|
|
48768
|
+
bMatch=true;
|
|
48769
|
+
}
|
|
48770
|
+
else if (kItem.Date==start.Date && kItem.Date==end.Date)
|
|
48771
|
+
{
|
|
48772
|
+
if (kItem.Time>=start.Time && kItem.Time<=end.Time)bMatch=true;
|
|
48773
|
+
}
|
|
48774
|
+
else if (kItem.Date==start.Date)
|
|
48775
|
+
{
|
|
48776
|
+
if (kItem.Time>=start.Time) bMatch=true;
|
|
48777
|
+
}
|
|
48778
|
+
else if (kItem.Date==end.Date)
|
|
48779
|
+
{
|
|
48780
|
+
if ((kItem.Time<=end.Time)) bMatch=true;
|
|
48781
|
+
}
|
|
48733
48782
|
}
|
|
48734
|
-
|
|
48735
|
-
|
|
48736
|
-
if (showItem.Start || showItem.End)
|
|
48783
|
+
else if (IFrameSplitOperator.IsNumber(kItem.Date) && !IFrameSplitOperator.IsNumber(kItem.Time))
|
|
48737
48784
|
{
|
|
48738
|
-
|
|
48739
|
-
aryData.push(showItem);
|
|
48785
|
+
if (kItem.Date>=start.Date && kItem.Date<=end.Date) bMatch=true;
|
|
48740
48786
|
}
|
|
48787
|
+
|
|
48788
|
+
if (bMatch) aryFind.push({ Index:i, Item:item });
|
|
48741
48789
|
}
|
|
48742
48790
|
|
|
48743
|
-
|
|
48744
|
-
|
|
48791
|
+
if (aryFind.Length<=0) return null;
|
|
48792
|
+
|
|
48793
|
+
return aryFind;
|
|
48745
48794
|
}
|
|
48746
48795
|
|
|
48747
|
-
this.
|
|
48796
|
+
this.DrawBG=function(mapBG)
|
|
48748
48797
|
{
|
|
48749
|
-
var
|
|
48750
|
-
var dataWidth=this.ChartSubFrame.DataWidth;
|
|
48751
|
-
var distanceWidth=this.ChartSubFrame.DistanceWidth;
|
|
48752
|
-
var xOffset=this.ChartBorder.GetLeft()+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
48753
|
-
if (isHScreen) xOffset=this.ChartBorder.GetTop()+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
48754
|
-
var chartright=this.ChartBorder.GetRight();
|
|
48755
|
-
if (isHScreen) chartright=this.ChartBorder.GetBottom();
|
|
48756
|
-
|
|
48757
|
-
var mapKLine={ Data:new Map() ,Start:null, End:null } ; //Key: date / date time, Value:索引
|
|
48758
|
-
for(var i=this.KData.DataOffset,j=0; i<this.KData.Data.length && j<this.XPointCount; ++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
48798
|
+
for(var mapItem of mapBG)
|
|
48759
48799
|
{
|
|
48760
|
-
var
|
|
48761
|
-
|
|
48762
|
-
|
|
48763
|
-
|
|
48764
|
-
var x=left+(right-left)/2;
|
|
48765
|
-
|
|
48766
|
-
if (j==0) mapKLine.XLeft=left;
|
|
48767
|
-
mapKLine.XRight=right;
|
|
48768
|
-
|
|
48769
|
-
var value={ Index:i, ShowIndex:j , X:x, Right:right, Left:left, Date:kItem.Date };
|
|
48770
|
-
if (ChartData.IsMinutePeriod(this.Period,true))
|
|
48771
|
-
{
|
|
48772
|
-
var key=`Date:${kItem.Date} Time:${kItem.Time}`;
|
|
48773
|
-
value.Time=kItem.Time;
|
|
48774
|
-
}
|
|
48775
|
-
else
|
|
48800
|
+
var bgItem=mapItem[1];
|
|
48801
|
+
//this.DrawBGItem(this.SubFrame, bgItem);
|
|
48802
|
+
|
|
48803
|
+
for(var i=0;i<this.ChartFrame.SubFrame.length;++i)
|
|
48776
48804
|
{
|
|
48777
|
-
var
|
|
48805
|
+
var subFrame=this.ChartFrame.SubFrame[i].Frame;
|
|
48806
|
+
if (this.IsDrawAllFrame || this.SetDrawFrameID.has(i))
|
|
48807
|
+
{
|
|
48808
|
+
this.DrawBGItem(subFrame, bgItem);
|
|
48809
|
+
}
|
|
48778
48810
|
}
|
|
48779
|
-
|
|
48780
|
-
mapKLine.Data.set(key,value);
|
|
48781
|
-
|
|
48782
|
-
//保存下起始和结束位置
|
|
48783
|
-
if (j==0) mapKLine.Start=value;
|
|
48784
|
-
mapKLine.End=value;
|
|
48785
48811
|
}
|
|
48786
|
-
|
|
48787
|
-
return mapKLine;
|
|
48788
48812
|
}
|
|
48789
48813
|
|
|
48790
|
-
this.
|
|
48814
|
+
this.DrawBGItem=function(frame, bgItem)
|
|
48791
48815
|
{
|
|
48792
|
-
var
|
|
48793
|
-
|
|
48794
|
-
var bSingleDate=false;
|
|
48795
|
-
//JSConsole.Chart.Log('[BackgroundPaint::GetBGCoordinate] item ', item);
|
|
48796
|
-
if (isMinutePeriod)
|
|
48797
|
-
{
|
|
48798
|
-
if (item.Start && item.End && item.Start.Date==item.End.Date && item.Start.Time==item.End.Time) bSingleDate=true;
|
|
48799
|
-
}
|
|
48800
|
-
else
|
|
48801
|
-
{
|
|
48802
|
-
if (item.Start && item.End && item.Start.Date==item.End.Date) bSingleDate=true;
|
|
48803
|
-
}
|
|
48804
|
-
|
|
48805
|
-
if (bSingleDate)
|
|
48806
|
-
{
|
|
48807
|
-
if (isMinutePeriod)
|
|
48808
|
-
var key=`Date:${item.Start.Date} Time:${item.Start.Time}`;
|
|
48809
|
-
else
|
|
48810
|
-
var key=`Date:${item.Start.Date}`;
|
|
48811
|
-
|
|
48812
|
-
if (!kLineMap.Data.has(key)) return null;
|
|
48813
|
-
var findItem=kLineMap.Data.get(key);
|
|
48814
|
-
xLeft=findItem.Left;
|
|
48815
|
-
xRight=findItem.Right;
|
|
48816
|
-
return { Left:xLeft, Right:xRight, Width:xRight-xLeft };
|
|
48817
|
-
}
|
|
48818
|
-
|
|
48819
|
-
if (item.Start)
|
|
48816
|
+
var border=frame.GetBorder();
|
|
48817
|
+
if (this.IsHScreen)
|
|
48820
48818
|
{
|
|
48821
|
-
|
|
48822
|
-
|
|
48823
|
-
|
|
48824
|
-
var key=`Date:${item.Start.Date}`;
|
|
48825
|
-
|
|
48826
|
-
if (kLineMap.Data.has(key))
|
|
48827
|
-
{
|
|
48828
|
-
var findItem=kLineMap.Data.get(key);
|
|
48829
|
-
xLeft=findItem.Left;
|
|
48830
|
-
}
|
|
48831
|
-
else
|
|
48832
|
-
{
|
|
48833
|
-
if (isMinutePeriod)
|
|
48834
|
-
{
|
|
48835
|
-
if (item.Start.Date<kLineMap.Start.Date || (item.Start.Date==kLineMap.Start.Date && item.Start.Time<=kLineMap.Start.Time) )
|
|
48836
|
-
{
|
|
48837
|
-
xLeft=kLineMap.Start.Left;
|
|
48838
|
-
}
|
|
48839
|
-
else
|
|
48840
|
-
{
|
|
48841
|
-
for(var kItem of kLineMap.Data)
|
|
48842
|
-
{
|
|
48843
|
-
var value=kItem[1];
|
|
48844
|
-
if (value.Date>item.Start.Date || (value.Date==item.Start.Date && value.Time>item.Start.Time))
|
|
48845
|
-
{
|
|
48846
|
-
xLeft=value.Left;
|
|
48847
|
-
break;
|
|
48848
|
-
}
|
|
48849
|
-
}
|
|
48850
|
-
}
|
|
48851
|
-
}
|
|
48852
|
-
else
|
|
48853
|
-
{
|
|
48854
|
-
if (item.Start.Date<=kLineMap.Start.Date)
|
|
48855
|
-
{
|
|
48856
|
-
xLeft=kLineMap.Start.Left;
|
|
48857
|
-
}
|
|
48858
|
-
else
|
|
48859
|
-
{
|
|
48860
|
-
for(var kItem of kLineMap.Data)
|
|
48861
|
-
{
|
|
48862
|
-
var value=kItem[1];
|
|
48863
|
-
if (value.Date>item.Start.Date)
|
|
48864
|
-
{
|
|
48865
|
-
xLeft=value.Left;
|
|
48866
|
-
break;
|
|
48867
|
-
}
|
|
48868
|
-
}
|
|
48869
|
-
}
|
|
48870
|
-
}
|
|
48871
|
-
}
|
|
48819
|
+
var top=border.RightEx;
|
|
48820
|
+
var bottom=border.LeftEx;
|
|
48821
|
+
var left=border.Top;
|
|
48872
48822
|
}
|
|
48873
48823
|
else
|
|
48874
48824
|
{
|
|
48875
|
-
|
|
48825
|
+
var top=border.TopEx;
|
|
48826
|
+
var bottom=border.BottomEx;
|
|
48827
|
+
var left=border.Left;
|
|
48876
48828
|
}
|
|
48877
48829
|
|
|
48878
|
-
if (
|
|
48830
|
+
if (this.IsHScreen)
|
|
48879
48831
|
{
|
|
48880
|
-
|
|
48881
|
-
|
|
48882
|
-
|
|
48883
|
-
|
|
48884
|
-
|
|
48885
|
-
|
|
48886
|
-
|
|
48887
|
-
var findItem=kLineMap.Data.get(key);
|
|
48888
|
-
xRight=findItem.Right;
|
|
48889
|
-
}
|
|
48890
|
-
else
|
|
48891
|
-
{
|
|
48892
|
-
if (isMinutePeriod)
|
|
48893
|
-
{
|
|
48894
|
-
if (item.End.Date<kLineMap.Start.Date || (item.End.Date==kLineMap.Start.Date && item.End.Time<kLineMap.Start.Time)) return null;
|
|
48895
|
-
|
|
48896
|
-
if (item.End.Date<kLineMap.End.Date || (item.End.Date==kLineMap.End.Date && item.End.Time>=kLineMap.End.Time) )
|
|
48897
|
-
{
|
|
48898
|
-
xRight=kLineMap.End.Right;
|
|
48899
|
-
}
|
|
48900
|
-
else
|
|
48901
|
-
{
|
|
48902
|
-
var previousX=null;
|
|
48903
|
-
for(var kItem of kLineMap.Data)
|
|
48904
|
-
{
|
|
48905
|
-
var value=kItem[1];
|
|
48906
|
-
if (value.Date>item.End.Date || (value.Date==item.End.Date && value.Time>item.End.Time) )
|
|
48907
|
-
{
|
|
48908
|
-
xRight=previousX;
|
|
48909
|
-
break;
|
|
48910
|
-
}
|
|
48911
|
-
previousX=value.Right;
|
|
48912
|
-
}
|
|
48913
|
-
}
|
|
48914
|
-
}
|
|
48915
|
-
else
|
|
48916
|
-
{
|
|
48917
|
-
if (item.End.Date<kLineMap.Start.Date) return null;
|
|
48918
|
-
|
|
48919
|
-
if (item.End.Date<=kLineMap.End.Date)
|
|
48920
|
-
{
|
|
48921
|
-
xRight=kLineMap.End.Right;
|
|
48922
|
-
}
|
|
48923
|
-
else
|
|
48924
|
-
{
|
|
48925
|
-
var previousX=null;
|
|
48926
|
-
for(var kItem of kLineMap.Data)
|
|
48927
|
-
{
|
|
48928
|
-
var value=kItem[1];
|
|
48929
|
-
if (value.Date>item.End.Date)
|
|
48930
|
-
{
|
|
48931
|
-
xRight=previousX;
|
|
48932
|
-
break;
|
|
48933
|
-
}
|
|
48934
|
-
previousX=value.Right;
|
|
48935
|
-
}
|
|
48936
|
-
}
|
|
48937
|
-
}
|
|
48938
|
-
}
|
|
48832
|
+
this.SetFillStyle(bgItem.Item.Color,top,left,bottom,left);
|
|
48833
|
+
var start=bgItem.Start;
|
|
48834
|
+
var end=bgItem.End;
|
|
48835
|
+
var rtBG={ Left:bottom, Right:top, Top:start.Left, Bottom:end.Right };
|
|
48836
|
+
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
48837
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
48838
|
+
this.Canvas.fillRect(ToFixedRect(rtBG.Left),ToFixedRect(rtBG.Top),ToFixedRect(rtBG.Width),ToFixedRect(rtBG.Height));
|
|
48939
48839
|
}
|
|
48940
48840
|
else
|
|
48941
48841
|
{
|
|
48942
|
-
|
|
48842
|
+
this.SetFillStyle(bgItem.Item.Color, left,top, left,bottom);
|
|
48843
|
+
var start=bgItem.Start;
|
|
48844
|
+
var end=bgItem.End;
|
|
48845
|
+
var rtBG={ Left:start.Left, Right:end.Right, Top:top, Bottom:bottom };
|
|
48846
|
+
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
48847
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
48848
|
+
this.Canvas.fillRect(ToFixedRect(rtBG.Left),ToFixedRect(rtBG.Top),ToFixedRect(rtBG.Width),ToFixedRect(rtBG.Height));
|
|
48943
48849
|
}
|
|
48944
|
-
|
|
48945
|
-
if (xLeft==null || xRight==null) return null;
|
|
48946
|
-
|
|
48947
|
-
return { Left:xLeft, Right:xRight, Width:xRight-xLeft };
|
|
48948
48850
|
}
|
|
48949
48851
|
}
|
|
48950
48852
|
|
|
48853
|
+
|
|
48951
48854
|
function MinuteBackgroundPaint()
|
|
48952
48855
|
{
|
|
48953
48856
|
this.newMethod=IExtendChartPainting; //派生
|
|
@@ -58547,7 +58450,7 @@ function DynamicChartTitlePainting()
|
|
|
58547
58450
|
var left=positionInfo.Left;
|
|
58548
58451
|
var right=positionInfo.Right;
|
|
58549
58452
|
var bottom=positionInfo.Bottom;
|
|
58550
|
-
|
|
58453
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
58551
58454
|
for(var i=0; i<this.Data.length; ++i)
|
|
58552
58455
|
{
|
|
58553
58456
|
var item=this.Data[i];
|
|
@@ -58566,7 +58469,9 @@ function DynamicChartTitlePainting()
|
|
|
58566
58469
|
if (titleItem.Name) text=titleItem.Name+":"+titleItem.Text;
|
|
58567
58470
|
else text=titleItem.Text;
|
|
58568
58471
|
|
|
58569
|
-
|
|
58472
|
+
if (IFrameSplitOperator.IsNumber(titleItem.LeftSpace)) left+=titleItem.LeftSpace*pixelRatio;
|
|
58473
|
+
|
|
58474
|
+
var space=this.ParamSpace*pixelRatio;
|
|
58570
58475
|
var indexTextWidth=this.Canvas.measureText(text).width; //标题+数值长度
|
|
58571
58476
|
var textWidth=indexTextWidth;
|
|
58572
58477
|
|
|
@@ -58642,7 +58547,7 @@ function DynamicChartTitlePainting()
|
|
|
58642
58547
|
if (dyTitle) text=dyTitle+":"+valueText;
|
|
58643
58548
|
else text=item.Name+":"+valueText;
|
|
58644
58549
|
}
|
|
58645
|
-
var space=this.ParamSpace*
|
|
58550
|
+
var space=this.ParamSpace*pixelRatio;
|
|
58646
58551
|
var textWidth=this.Canvas.measureText(text).width+space;
|
|
58647
58552
|
if ((left+textWidth)>right) break;
|
|
58648
58553
|
|
|
@@ -76218,12 +76123,14 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
76218
76123
|
var item=option.PopMinuteChart;
|
|
76219
76124
|
this.PopMinuteChart=new JSPopMinuteChart();
|
|
76220
76125
|
this.PopMinuteChart.Inital(this, item);
|
|
76126
|
+
this.PopMinuteChart.Create();
|
|
76221
76127
|
return true;
|
|
76222
76128
|
}
|
|
76223
76129
|
else if (option.KLine && option.KLine.KLineDoubleClick===true) //旧的格式 不要使用了
|
|
76224
76130
|
{
|
|
76225
76131
|
this.PopMinuteChart=new JSPopMinuteChart();
|
|
76226
76132
|
this.PopMinuteChart.Inital(this);
|
|
76133
|
+
this.PopMinuteChart.Create();
|
|
76227
76134
|
return true;
|
|
76228
76135
|
}
|
|
76229
76136
|
|
|
@@ -88405,6 +88312,15 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
88405
88312
|
chart.SetOption(option);
|
|
88406
88313
|
this.ExtendChartPaint.push(chart);
|
|
88407
88314
|
return chart;
|
|
88315
|
+
case "背景图":
|
|
88316
|
+
chart=new BackgroundPaint();
|
|
88317
|
+
chart.Canvas=this.Canvas;
|
|
88318
|
+
chart.ChartBorder=this.Frame.ChartBorder;
|
|
88319
|
+
chart.ChartFrame=this.Frame;
|
|
88320
|
+
chart.HQChart=this;
|
|
88321
|
+
chart.SetOption(option);
|
|
88322
|
+
this.ExtendChartPaint.push(chart);
|
|
88323
|
+
return chart;
|
|
88408
88324
|
default:
|
|
88409
88325
|
chart=g_ExtendChartPaintFactory.Create(name);
|
|
88410
88326
|
if (!chart) return null;
|