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
|
@@ -9870,6 +9870,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9870
9870
|
for(var i=0;i<this.ExtendChartPaint.length;++i)
|
|
9871
9871
|
{
|
|
9872
9872
|
var item=this.ExtendChartPaint[i];
|
|
9873
|
+
|
|
9873
9874
|
if (item.IsCallbackDraw)
|
|
9874
9875
|
{
|
|
9875
9876
|
if (["KLineYAxisBGPaint","DepthMapPaint","BackgroundPaint","MinuteBackgroundPaint", "SessionBreaksPaint"].includes(item.ClassName))
|
|
@@ -48371,6 +48372,25 @@ function IExtendChartPainting()
|
|
|
48371
48372
|
{
|
|
48372
48373
|
return GetFontHeight(this.Canvas, font, "擎");
|
|
48373
48374
|
}
|
|
48375
|
+
|
|
48376
|
+
this.SetFillStyle=function(color, x0, y0, x1, y1)
|
|
48377
|
+
{
|
|
48378
|
+
if (Array.isArray(color))
|
|
48379
|
+
{
|
|
48380
|
+
let gradient = this.Canvas.createLinearGradient(x0, y0, x1, y1);
|
|
48381
|
+
var offset=1/(color.length-1);
|
|
48382
|
+
for(var i=0; i<color.length; ++i)
|
|
48383
|
+
{
|
|
48384
|
+
var value=i*offset;
|
|
48385
|
+
gradient.addColorStop(value, color[i]);
|
|
48386
|
+
}
|
|
48387
|
+
this.Canvas.fillStyle=gradient;
|
|
48388
|
+
}
|
|
48389
|
+
else
|
|
48390
|
+
{
|
|
48391
|
+
this.Canvas.fillStyle=color;
|
|
48392
|
+
}
|
|
48393
|
+
}
|
|
48374
48394
|
}
|
|
48375
48395
|
|
|
48376
48396
|
//K线Tooltip, 显示在左边或右边
|
|
@@ -52540,7 +52560,7 @@ function KLineYAxisBGPaint()
|
|
|
52540
52560
|
}
|
|
52541
52561
|
|
|
52542
52562
|
|
|
52543
|
-
//背景图 支持横屏
|
|
52563
|
+
//背景图 支持横屏 新版本
|
|
52544
52564
|
function BackgroundPaint()
|
|
52545
52565
|
{
|
|
52546
52566
|
this.newMethod=IExtendChartPainting; //派生
|
|
@@ -52552,327 +52572,210 @@ function BackgroundPaint()
|
|
|
52552
52572
|
this.IsDynamic=false;
|
|
52553
52573
|
this.IsCallbackDraw=true; //在回调函数里绘制, 不在Draw()中绘制
|
|
52554
52574
|
|
|
52575
|
+
this.IsDrawAllFrame=false; //全部的指标框都画
|
|
52576
|
+
this.SetDrawFrameID=new Set([0]); //指定几个指标框画
|
|
52577
|
+
|
|
52555
52578
|
this.FrameID=0;
|
|
52556
|
-
this.Data;
|
|
52579
|
+
this.Data; //背景数据[ { Start:{ Date:, Time: }, End:{ Date:, Time }, Color:['rgb(44,55,255)','rgb(200,55,255)'] }]
|
|
52580
|
+
this.IsShow=true;
|
|
52581
|
+
this.SubFrame=null;
|
|
52582
|
+
|
|
52557
52583
|
this.ID=Guid(); //唯一的ID
|
|
52558
|
-
|
|
52559
|
-
/*
|
|
52560
|
-
this.Data=
|
|
52561
|
-
[
|
|
52562
|
-
{ Start:{ Date:20181201 }, End:{ Date:20181230 }, Color:'rgb(44,55,44)' } ,
|
|
52563
|
-
{ Start:{ Date:20190308 }, End:{ Date:20190404 }, Color:['rgb(44,55,255)','rgb(200,55,255)'] }
|
|
52564
|
-
]
|
|
52565
|
-
*/
|
|
52566
|
-
|
|
52567
|
-
this.ChartSubFrame;
|
|
52568
|
-
this.ChartBorder;
|
|
52569
|
-
this.KData;
|
|
52570
|
-
this.Period;
|
|
52571
|
-
this.XPointCount=0;
|
|
52584
|
+
this.HQChart;
|
|
52572
52585
|
|
|
52573
52586
|
this.SetOption=function(option) //设置
|
|
52574
52587
|
{
|
|
52575
|
-
if (option
|
|
52588
|
+
if (!option) return;
|
|
52589
|
+
|
|
52590
|
+
if (IFrameSplitOperator.IsNumber(option.FrameID)) this.FrameID=option.FrameID;
|
|
52576
52591
|
if (IFrameSplitOperator.IsObjectExist(option.ID)) this.ID=option.ID;
|
|
52592
|
+
if (IFrameSplitOperator.IsBool(option.IsDrawAllFrame)) this.IsDrawAllFrame=option.IsDrawAllFrame;
|
|
52593
|
+
if (IFrameSplitOperator.IsNonEmptyArray(option.AryFrameID)) this.SetDrawFrameID=new Set(option.AryFrameID);
|
|
52577
52594
|
}
|
|
52578
52595
|
|
|
52579
52596
|
this.Draw=function()
|
|
52580
52597
|
{
|
|
52581
|
-
|
|
52582
|
-
|
|
52583
|
-
|
|
52584
|
-
if (!
|
|
52585
|
-
|
|
52586
|
-
this.
|
|
52587
|
-
|
|
52588
|
-
this.
|
|
52589
|
-
this.
|
|
52590
|
-
if (!this.
|
|
52591
|
-
|
|
52592
|
-
var
|
|
52593
|
-
|
|
52594
|
-
|
|
52595
|
-
|
|
52596
|
-
|
|
52597
|
-
var
|
|
52598
|
-
|
|
52599
|
-
var
|
|
52600
|
-
var
|
|
52601
|
-
|
|
52602
|
-
|
|
52603
|
-
|
|
52604
|
-
var bottom=this.ChartBorder.GetBottomEx();
|
|
52605
|
-
var top=this.ChartBorder.GetTopEx();
|
|
52606
|
-
var height=this.ChartBorder.GetHeightEx();
|
|
52607
|
-
if (isHScreen)
|
|
52598
|
+
this.SubFrame=null;
|
|
52599
|
+
|
|
52600
|
+
if (this.FrameID<0) return;
|
|
52601
|
+
if (!this.HQChart) return;
|
|
52602
|
+
if (!this.ChartFrame || !IFrameSplitOperator.IsNonEmptyArray(this.ChartFrame.SubFrame)) return;
|
|
52603
|
+
if (!this.IsShow) return;
|
|
52604
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.Data)) return;
|
|
52605
|
+
if (!this.ChartFrame.SubFrame[this.FrameID]) return;
|
|
52606
|
+
this.SubFrame=this.ChartFrame.SubFrame[this.FrameID].Frame;
|
|
52607
|
+
if (!this.SubFrame) return;
|
|
52608
|
+
|
|
52609
|
+
var kData=this.HQChart.GetKData();
|
|
52610
|
+
if (!kData || !IFrameSplitOperator.IsNonEmptyArray(kData.Data)) return;
|
|
52611
|
+
|
|
52612
|
+
var bHScreen=(this.SubFrame.IsHScreen===true);
|
|
52613
|
+
this.IsHScreen=bHScreen;
|
|
52614
|
+
var isMinute=this.SubFrame.IsMinuteFrame();
|
|
52615
|
+
var dataWidth=this.SubFrame.DataWidth;
|
|
52616
|
+
var distanceWidth=this.SubFrame.DistanceWidth;
|
|
52617
|
+
var xPointCount=this.SubFrame.XPointCount;
|
|
52618
|
+
|
|
52619
|
+
var border=this.SubFrame.GetBorder();
|
|
52620
|
+
if (bHScreen)
|
|
52608
52621
|
{
|
|
52609
|
-
|
|
52610
|
-
|
|
52611
|
-
|
|
52622
|
+
var chartright=border.BottomEx;
|
|
52623
|
+
var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
52624
|
+
}
|
|
52625
|
+
else
|
|
52626
|
+
{
|
|
52627
|
+
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
52628
|
+
var chartright=border.RightEx;
|
|
52612
52629
|
}
|
|
52613
52630
|
|
|
52614
|
-
|
|
52631
|
+
var mapBG=new Map(); //key= index, Value={ Start:{Left, Center, Right, Item:}, End:{ Left, Center, Right, Item:} }
|
|
52632
|
+
var startIndex=kData.DataOffset;
|
|
52633
|
+
for(var i=startIndex,j=0;i<kData.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
52615
52634
|
{
|
|
52616
|
-
var
|
|
52617
|
-
var
|
|
52618
|
-
if (!
|
|
52635
|
+
var kItem=kData.Data[i];
|
|
52636
|
+
var aryFind=this.FindMatchData(kItem);
|
|
52637
|
+
if (!aryFind) continue;
|
|
52619
52638
|
|
|
52620
|
-
if (
|
|
52639
|
+
if (isMinute)
|
|
52621
52640
|
{
|
|
52622
|
-
var
|
|
52623
|
-
|
|
52624
|
-
|
|
52625
|
-
var offset=1/item.Color.length;
|
|
52626
|
-
for(var i in item.Color)
|
|
52627
|
-
{
|
|
52628
|
-
gradient.addColorStop(i*offset, item.Color[i]);
|
|
52629
|
-
}
|
|
52630
|
-
this.Canvas.fillStyle=gradient;
|
|
52641
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
52642
|
+
var left=x;
|
|
52643
|
+
var right=x;
|
|
52631
52644
|
}
|
|
52632
52645
|
else
|
|
52633
52646
|
{
|
|
52634
|
-
|
|
52647
|
+
var left=xOffset;
|
|
52648
|
+
var right=xOffset+dataWidth;
|
|
52649
|
+
var x=left+(right-left)/2;
|
|
52650
|
+
}
|
|
52651
|
+
|
|
52652
|
+
for(var k=0;k<aryFind.length;++k)
|
|
52653
|
+
{
|
|
52654
|
+
var findItem=aryFind[k];
|
|
52655
|
+
if (mapBG.has(findItem.Index))
|
|
52656
|
+
{
|
|
52657
|
+
var bgItem=mapBG.get(findItem.Index);
|
|
52658
|
+
bgItem.End.Left=left;
|
|
52659
|
+
bgItem.End.Right=right;
|
|
52660
|
+
bgItem.End.Item=findItem.Item;
|
|
52661
|
+
}
|
|
52662
|
+
else
|
|
52663
|
+
{
|
|
52664
|
+
mapBG.set(findItem.Index, { Item:findItem.Item, Start:{ Left:left, Right:right, Item:findItem.Item }, End:{ Left:left, Right:right, Item:findItem.Item }})
|
|
52665
|
+
}
|
|
52635
52666
|
}
|
|
52667
|
+
}
|
|
52636
52668
|
|
|
52637
|
-
|
|
52638
|
-
|
|
52669
|
+
if (mapBG.size>0)
|
|
52670
|
+
{
|
|
52671
|
+
this.Canvas.save();
|
|
52672
|
+
//this.ClipClient(bHScreen);
|
|
52673
|
+
|
|
52674
|
+
this.DrawBG(mapBG);
|
|
52675
|
+
|
|
52676
|
+
this.Canvas.restore();
|
|
52639
52677
|
}
|
|
52640
52678
|
}
|
|
52641
52679
|
|
|
52642
|
-
this.
|
|
52680
|
+
this.FindMatchData=function(kItem)
|
|
52643
52681
|
{
|
|
52644
|
-
|
|
52645
|
-
|
|
52646
|
-
var aryData=[];
|
|
52682
|
+
var aryFind=[];
|
|
52647
52683
|
for(var i=0;i<this.Data.length;++i)
|
|
52648
52684
|
{
|
|
52649
52685
|
var item=this.Data[i];
|
|
52650
|
-
var
|
|
52651
|
-
|
|
52652
|
-
|
|
52653
|
-
|
|
52654
|
-
if (item.Start.Date<first.Date && item.End.Date>end.Date)
|
|
52686
|
+
var start=item.Start;
|
|
52687
|
+
var end=item.End;
|
|
52688
|
+
var bMatch=false;
|
|
52689
|
+
if (IFrameSplitOperator.IsNumber(kItem.Date) && IFrameSplitOperator.IsNumber(kItem.Time))
|
|
52655
52690
|
{
|
|
52656
|
-
|
|
52657
|
-
|
|
52691
|
+
if (kItem.Date>start.Date && kItem.Date<end.Date)
|
|
52692
|
+
{
|
|
52693
|
+
bMatch=true;
|
|
52694
|
+
}
|
|
52695
|
+
else if (kItem.Date==start.Date && kItem.Date==end.Date)
|
|
52696
|
+
{
|
|
52697
|
+
if (kItem.Time>=start.Time && kItem.Time<=end.Time)bMatch=true;
|
|
52698
|
+
}
|
|
52699
|
+
else if (kItem.Date==start.Date)
|
|
52700
|
+
{
|
|
52701
|
+
if (kItem.Time>=start.Time) bMatch=true;
|
|
52702
|
+
}
|
|
52703
|
+
else if (kItem.Date==end.Date)
|
|
52704
|
+
{
|
|
52705
|
+
if ((kItem.Time<=end.Time)) bMatch=true;
|
|
52706
|
+
}
|
|
52658
52707
|
}
|
|
52659
|
-
|
|
52660
|
-
|
|
52661
|
-
if (showItem.Start || showItem.End)
|
|
52708
|
+
else if (IFrameSplitOperator.IsNumber(kItem.Date) && !IFrameSplitOperator.IsNumber(kItem.Time))
|
|
52662
52709
|
{
|
|
52663
|
-
|
|
52664
|
-
aryData.push(showItem);
|
|
52710
|
+
if (kItem.Date>=start.Date && kItem.Date<=end.Date) bMatch=true;
|
|
52665
52711
|
}
|
|
52712
|
+
|
|
52713
|
+
if (bMatch) aryFind.push({ Index:i, Item:item });
|
|
52666
52714
|
}
|
|
52667
52715
|
|
|
52668
|
-
|
|
52669
|
-
|
|
52716
|
+
if (aryFind.Length<=0) return null;
|
|
52717
|
+
|
|
52718
|
+
return aryFind;
|
|
52670
52719
|
}
|
|
52671
52720
|
|
|
52672
|
-
this.
|
|
52721
|
+
this.DrawBG=function(mapBG)
|
|
52673
52722
|
{
|
|
52674
|
-
var
|
|
52675
|
-
var dataWidth=this.ChartSubFrame.DataWidth;
|
|
52676
|
-
var distanceWidth=this.ChartSubFrame.DistanceWidth;
|
|
52677
|
-
var xOffset=this.ChartBorder.GetLeft()+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
52678
|
-
if (isHScreen) xOffset=this.ChartBorder.GetTop()+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
52679
|
-
var chartright=this.ChartBorder.GetRight();
|
|
52680
|
-
if (isHScreen) chartright=this.ChartBorder.GetBottom();
|
|
52681
|
-
|
|
52682
|
-
var mapKLine={ Data:new Map() ,Start:null, End:null } ; //Key: date / date time, Value:索引
|
|
52683
|
-
for(var i=this.KData.DataOffset,j=0; i<this.KData.Data.length && j<this.XPointCount; ++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
52723
|
+
for(var mapItem of mapBG)
|
|
52684
52724
|
{
|
|
52685
|
-
var
|
|
52686
|
-
|
|
52687
|
-
|
|
52688
|
-
|
|
52689
|
-
var x=left+(right-left)/2;
|
|
52690
|
-
|
|
52691
|
-
if (j==0) mapKLine.XLeft=left;
|
|
52692
|
-
mapKLine.XRight=right;
|
|
52693
|
-
|
|
52694
|
-
var value={ Index:i, ShowIndex:j , X:x, Right:right, Left:left, Date:kItem.Date };
|
|
52695
|
-
if (ChartData.IsMinutePeriod(this.Period,true))
|
|
52696
|
-
{
|
|
52697
|
-
var key=`Date:${kItem.Date} Time:${kItem.Time}`;
|
|
52698
|
-
value.Time=kItem.Time;
|
|
52699
|
-
}
|
|
52700
|
-
else
|
|
52725
|
+
var bgItem=mapItem[1];
|
|
52726
|
+
//this.DrawBGItem(this.SubFrame, bgItem);
|
|
52727
|
+
|
|
52728
|
+
for(var i=0;i<this.ChartFrame.SubFrame.length;++i)
|
|
52701
52729
|
{
|
|
52702
|
-
var
|
|
52730
|
+
var subFrame=this.ChartFrame.SubFrame[i].Frame;
|
|
52731
|
+
if (this.IsDrawAllFrame || this.SetDrawFrameID.has(i))
|
|
52732
|
+
{
|
|
52733
|
+
this.DrawBGItem(subFrame, bgItem);
|
|
52734
|
+
}
|
|
52703
52735
|
}
|
|
52704
|
-
|
|
52705
|
-
mapKLine.Data.set(key,value);
|
|
52706
|
-
|
|
52707
|
-
//保存下起始和结束位置
|
|
52708
|
-
if (j==0) mapKLine.Start=value;
|
|
52709
|
-
mapKLine.End=value;
|
|
52710
52736
|
}
|
|
52711
|
-
|
|
52712
|
-
return mapKLine;
|
|
52713
52737
|
}
|
|
52714
52738
|
|
|
52715
|
-
this.
|
|
52739
|
+
this.DrawBGItem=function(frame, bgItem)
|
|
52716
52740
|
{
|
|
52717
|
-
var
|
|
52718
|
-
|
|
52719
|
-
var bSingleDate=false;
|
|
52720
|
-
//JSConsole.Chart.Log('[BackgroundPaint::GetBGCoordinate] item ', item);
|
|
52721
|
-
if (isMinutePeriod)
|
|
52722
|
-
{
|
|
52723
|
-
if (item.Start && item.End && item.Start.Date==item.End.Date && item.Start.Time==item.End.Time) bSingleDate=true;
|
|
52724
|
-
}
|
|
52725
|
-
else
|
|
52726
|
-
{
|
|
52727
|
-
if (item.Start && item.End && item.Start.Date==item.End.Date) bSingleDate=true;
|
|
52728
|
-
}
|
|
52729
|
-
|
|
52730
|
-
if (bSingleDate)
|
|
52731
|
-
{
|
|
52732
|
-
if (isMinutePeriod)
|
|
52733
|
-
var key=`Date:${item.Start.Date} Time:${item.Start.Time}`;
|
|
52734
|
-
else
|
|
52735
|
-
var key=`Date:${item.Start.Date}`;
|
|
52736
|
-
|
|
52737
|
-
if (!kLineMap.Data.has(key)) return null;
|
|
52738
|
-
var findItem=kLineMap.Data.get(key);
|
|
52739
|
-
xLeft=findItem.Left;
|
|
52740
|
-
xRight=findItem.Right;
|
|
52741
|
-
return { Left:xLeft, Right:xRight, Width:xRight-xLeft };
|
|
52742
|
-
}
|
|
52743
|
-
|
|
52744
|
-
if (item.Start)
|
|
52741
|
+
var border=frame.GetBorder();
|
|
52742
|
+
if (this.IsHScreen)
|
|
52745
52743
|
{
|
|
52746
|
-
|
|
52747
|
-
|
|
52748
|
-
|
|
52749
|
-
var key=`Date:${item.Start.Date}`;
|
|
52750
|
-
|
|
52751
|
-
if (kLineMap.Data.has(key))
|
|
52752
|
-
{
|
|
52753
|
-
var findItem=kLineMap.Data.get(key);
|
|
52754
|
-
xLeft=findItem.Left;
|
|
52755
|
-
}
|
|
52756
|
-
else
|
|
52757
|
-
{
|
|
52758
|
-
if (isMinutePeriod)
|
|
52759
|
-
{
|
|
52760
|
-
if (item.Start.Date<kLineMap.Start.Date || (item.Start.Date==kLineMap.Start.Date && item.Start.Time<=kLineMap.Start.Time) )
|
|
52761
|
-
{
|
|
52762
|
-
xLeft=kLineMap.Start.Left;
|
|
52763
|
-
}
|
|
52764
|
-
else
|
|
52765
|
-
{
|
|
52766
|
-
for(var kItem of kLineMap.Data)
|
|
52767
|
-
{
|
|
52768
|
-
var value=kItem[1];
|
|
52769
|
-
if (value.Date>item.Start.Date || (value.Date==item.Start.Date && value.Time>item.Start.Time))
|
|
52770
|
-
{
|
|
52771
|
-
xLeft=value.Left;
|
|
52772
|
-
break;
|
|
52773
|
-
}
|
|
52774
|
-
}
|
|
52775
|
-
}
|
|
52776
|
-
}
|
|
52777
|
-
else
|
|
52778
|
-
{
|
|
52779
|
-
if (item.Start.Date<=kLineMap.Start.Date)
|
|
52780
|
-
{
|
|
52781
|
-
xLeft=kLineMap.Start.Left;
|
|
52782
|
-
}
|
|
52783
|
-
else
|
|
52784
|
-
{
|
|
52785
|
-
for(var kItem of kLineMap.Data)
|
|
52786
|
-
{
|
|
52787
|
-
var value=kItem[1];
|
|
52788
|
-
if (value.Date>item.Start.Date)
|
|
52789
|
-
{
|
|
52790
|
-
xLeft=value.Left;
|
|
52791
|
-
break;
|
|
52792
|
-
}
|
|
52793
|
-
}
|
|
52794
|
-
}
|
|
52795
|
-
}
|
|
52796
|
-
}
|
|
52744
|
+
var top=border.RightEx;
|
|
52745
|
+
var bottom=border.LeftEx;
|
|
52746
|
+
var left=border.Top;
|
|
52797
52747
|
}
|
|
52798
52748
|
else
|
|
52799
52749
|
{
|
|
52800
|
-
|
|
52750
|
+
var top=border.TopEx;
|
|
52751
|
+
var bottom=border.BottomEx;
|
|
52752
|
+
var left=border.Left;
|
|
52801
52753
|
}
|
|
52802
52754
|
|
|
52803
|
-
if (
|
|
52755
|
+
if (this.IsHScreen)
|
|
52804
52756
|
{
|
|
52805
|
-
|
|
52806
|
-
|
|
52807
|
-
|
|
52808
|
-
|
|
52809
|
-
|
|
52810
|
-
|
|
52811
|
-
|
|
52812
|
-
var findItem=kLineMap.Data.get(key);
|
|
52813
|
-
xRight=findItem.Right;
|
|
52814
|
-
}
|
|
52815
|
-
else
|
|
52816
|
-
{
|
|
52817
|
-
if (isMinutePeriod)
|
|
52818
|
-
{
|
|
52819
|
-
if (item.End.Date<kLineMap.Start.Date || (item.End.Date==kLineMap.Start.Date && item.End.Time<kLineMap.Start.Time)) return null;
|
|
52820
|
-
|
|
52821
|
-
if (item.End.Date<kLineMap.End.Date || (item.End.Date==kLineMap.End.Date && item.End.Time>=kLineMap.End.Time) )
|
|
52822
|
-
{
|
|
52823
|
-
xRight=kLineMap.End.Right;
|
|
52824
|
-
}
|
|
52825
|
-
else
|
|
52826
|
-
{
|
|
52827
|
-
var previousX=null;
|
|
52828
|
-
for(var kItem of kLineMap.Data)
|
|
52829
|
-
{
|
|
52830
|
-
var value=kItem[1];
|
|
52831
|
-
if (value.Date>item.End.Date || (value.Date==item.End.Date && value.Time>item.End.Time) )
|
|
52832
|
-
{
|
|
52833
|
-
xRight=previousX;
|
|
52834
|
-
break;
|
|
52835
|
-
}
|
|
52836
|
-
previousX=value.Right;
|
|
52837
|
-
}
|
|
52838
|
-
}
|
|
52839
|
-
}
|
|
52840
|
-
else
|
|
52841
|
-
{
|
|
52842
|
-
if (item.End.Date<kLineMap.Start.Date) return null;
|
|
52843
|
-
|
|
52844
|
-
if (item.End.Date<=kLineMap.End.Date)
|
|
52845
|
-
{
|
|
52846
|
-
xRight=kLineMap.End.Right;
|
|
52847
|
-
}
|
|
52848
|
-
else
|
|
52849
|
-
{
|
|
52850
|
-
var previousX=null;
|
|
52851
|
-
for(var kItem of kLineMap.Data)
|
|
52852
|
-
{
|
|
52853
|
-
var value=kItem[1];
|
|
52854
|
-
if (value.Date>item.End.Date)
|
|
52855
|
-
{
|
|
52856
|
-
xRight=previousX;
|
|
52857
|
-
break;
|
|
52858
|
-
}
|
|
52859
|
-
previousX=value.Right;
|
|
52860
|
-
}
|
|
52861
|
-
}
|
|
52862
|
-
}
|
|
52863
|
-
}
|
|
52757
|
+
this.SetFillStyle(bgItem.Item.Color,top,left,bottom,left);
|
|
52758
|
+
var start=bgItem.Start;
|
|
52759
|
+
var end=bgItem.End;
|
|
52760
|
+
var rtBG={ Left:bottom, Right:top, Top:start.Left, Bottom:end.Right };
|
|
52761
|
+
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
52762
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
52763
|
+
this.Canvas.fillRect(ToFixedRect(rtBG.Left),ToFixedRect(rtBG.Top),ToFixedRect(rtBG.Width),ToFixedRect(rtBG.Height));
|
|
52864
52764
|
}
|
|
52865
52765
|
else
|
|
52866
52766
|
{
|
|
52867
|
-
|
|
52767
|
+
this.SetFillStyle(bgItem.Item.Color, left,top, left,bottom);
|
|
52768
|
+
var start=bgItem.Start;
|
|
52769
|
+
var end=bgItem.End;
|
|
52770
|
+
var rtBG={ Left:start.Left, Right:end.Right, Top:top, Bottom:bottom };
|
|
52771
|
+
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
52772
|
+
rtBG.Height=rtBG.Bottom-rtBG.Top;
|
|
52773
|
+
this.Canvas.fillRect(ToFixedRect(rtBG.Left),ToFixedRect(rtBG.Top),ToFixedRect(rtBG.Width),ToFixedRect(rtBG.Height));
|
|
52868
52774
|
}
|
|
52869
|
-
|
|
52870
|
-
if (xLeft==null || xRight==null) return null;
|
|
52871
|
-
|
|
52872
|
-
return { Left:xLeft, Right:xRight, Width:xRight-xLeft };
|
|
52873
52775
|
}
|
|
52874
52776
|
}
|
|
52875
52777
|
|
|
52778
|
+
|
|
52876
52779
|
function MinuteBackgroundPaint()
|
|
52877
52780
|
{
|
|
52878
52781
|
this.newMethod=IExtendChartPainting; //派生
|
|
@@ -62472,7 +62375,7 @@ function DynamicChartTitlePainting()
|
|
|
62472
62375
|
var left=positionInfo.Left;
|
|
62473
62376
|
var right=positionInfo.Right;
|
|
62474
62377
|
var bottom=positionInfo.Bottom;
|
|
62475
|
-
|
|
62378
|
+
var pixelRatio=GetDevicePixelRatio();
|
|
62476
62379
|
for(var i=0; i<this.Data.length; ++i)
|
|
62477
62380
|
{
|
|
62478
62381
|
var item=this.Data[i];
|
|
@@ -62491,7 +62394,9 @@ function DynamicChartTitlePainting()
|
|
|
62491
62394
|
if (titleItem.Name) text=titleItem.Name+":"+titleItem.Text;
|
|
62492
62395
|
else text=titleItem.Text;
|
|
62493
62396
|
|
|
62494
|
-
|
|
62397
|
+
if (IFrameSplitOperator.IsNumber(titleItem.LeftSpace)) left+=titleItem.LeftSpace*pixelRatio;
|
|
62398
|
+
|
|
62399
|
+
var space=this.ParamSpace*pixelRatio;
|
|
62495
62400
|
var indexTextWidth=this.Canvas.measureText(text).width; //标题+数值长度
|
|
62496
62401
|
var textWidth=indexTextWidth;
|
|
62497
62402
|
|
|
@@ -62567,7 +62472,7 @@ function DynamicChartTitlePainting()
|
|
|
62567
62472
|
if (dyTitle) text=dyTitle+":"+valueText;
|
|
62568
62473
|
else text=item.Name+":"+valueText;
|
|
62569
62474
|
}
|
|
62570
|
-
var space=this.ParamSpace*
|
|
62475
|
+
var space=this.ParamSpace*pixelRatio;
|
|
62571
62476
|
var textWidth=this.Canvas.measureText(text).width+space;
|
|
62572
62477
|
if ((left+textWidth)>right) break;
|
|
62573
62478
|
|
|
@@ -80143,12 +80048,14 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
80143
80048
|
var item=option.PopMinuteChart;
|
|
80144
80049
|
this.PopMinuteChart=new JSPopMinuteChart();
|
|
80145
80050
|
this.PopMinuteChart.Inital(this, item);
|
|
80051
|
+
this.PopMinuteChart.Create();
|
|
80146
80052
|
return true;
|
|
80147
80053
|
}
|
|
80148
80054
|
else if (option.KLine && option.KLine.KLineDoubleClick===true) //旧的格式 不要使用了
|
|
80149
80055
|
{
|
|
80150
80056
|
this.PopMinuteChart=new JSPopMinuteChart();
|
|
80151
80057
|
this.PopMinuteChart.Inital(this);
|
|
80058
|
+
this.PopMinuteChart.Create();
|
|
80152
80059
|
return true;
|
|
80153
80060
|
}
|
|
80154
80061
|
|
|
@@ -92330,6 +92237,15 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
92330
92237
|
chart.SetOption(option);
|
|
92331
92238
|
this.ExtendChartPaint.push(chart);
|
|
92332
92239
|
return chart;
|
|
92240
|
+
case "背景图":
|
|
92241
|
+
chart=new BackgroundPaint();
|
|
92242
|
+
chart.Canvas=this.Canvas;
|
|
92243
|
+
chart.ChartBorder=this.Frame.ChartBorder;
|
|
92244
|
+
chart.ChartFrame=this.Frame;
|
|
92245
|
+
chart.HQChart=this;
|
|
92246
|
+
chart.SetOption(option);
|
|
92247
|
+
this.ExtendChartPaint.push(chart);
|
|
92248
|
+
return chart;
|
|
92333
92249
|
default:
|
|
92334
92250
|
chart=g_ExtendChartPaintFactory.Create(name);
|
|
92335
92251
|
if (!chart) return null;
|
|
@@ -143437,7 +143353,7 @@ function ScrollBarBGChart()
|
|
|
143437
143353
|
|
|
143438
143354
|
|
|
143439
143355
|
|
|
143440
|
-
var HQCHART_VERSION="1.1.
|
|
143356
|
+
var HQCHART_VERSION="1.1.14431";
|
|
143441
143357
|
|
|
143442
143358
|
function PrintHQChartVersion()
|
|
143443
143359
|
{
|