Skip to content

Commit e9400c6

Browse files
committed
ver 14626
15624 跑马灯增加label 15623 hqchart_demo.html增加底部滚动新闻数据 15622 跑马灯修改显示方式 15621 修正 JSDivFrameToolbar::GetShowButtons() 第1个窗口没有隐藏掉最大最小话按钮
1 parent 57e4398 commit e9400c6

17 files changed

Lines changed: 723 additions & 113 deletions

umychart_uniapp_h5/umychart.uniapp.h5.js

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84523,13 +84523,20 @@ function JSChartResource()
8452384523
this.ScrollText=
8452484524
{
8452584525
Font:`${12*GetDevicePixelRatio()}px 微软雅黑`,
84526-
Color:"rgb(30,144,255)",
84527-
MouseOnColor:"rgb(0,0,205)",
84526+
Color:"rgb(77,77,77)",
84527+
MouseOnColor:"rgb(233,85,4)",
8452884528
Margin:{ Top:2, Bottom:2 },
8452984529
Spacing:20, //间距
8453084530
LeftMargin:5*GetDevicePixelRatio(),
8453184531
RightMargin:5*GetDevicePixelRatio(),
8453284532
MoveStep:4, //移动步长
84533+
84534+
Label:
84535+
{
84536+
Color:"rgb(50,50,50)",
84537+
Font:`${13*GetDevicePixelRatio()}px 微软雅黑`,
84538+
Margin:{ Left:10*GetDevicePixelRatio(), Bottom:1, Right:10*GetDevicePixelRatio() }
84539+
}
8453384540
}
8453484541

8453584542

@@ -85523,6 +85530,15 @@ function JSChartResource()
8552385530
if (IFrameSplitOperator.IsNumber(style.RightMargin)) dest.RightMargin=style.RightMargin;
8552485531
if (IFrameSplitOperator.IsNumber(style.Spacing)) dest.Spacing=style.Spacing;
8552585532
if (IFrameSplitOperator.IsNumber(style.MoveStep)) dest.MoveStep=style.MoveStep;
85533+
85534+
if (style.Label)
85535+
{
85536+
var item=style.Label;
85537+
var subDest=dest.Label
85538+
if (item.Color) subDest.Color=item.Color;
85539+
if (item.Font) subDest.Font=item.Font;
85540+
if (item.Margin) CopyMarginConfig(subDest.Margin,item.Margin);
85541+
}
8552685542
}
8552785543

8552885544
this.SetStatusBar=function(style)
@@ -111884,6 +111900,7 @@ function JSDivFrameToolbar()
111884111900
{
111885111901
var item=aryDefaultButton[i];
111886111902
if (this.FrameID==0 && item.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW) continue; //第一个指标窗口不显示关闭按钮
111903+
if (this.FrameID==0 && item.ID==JSCHART_BUTTON_ID.MAX_MIN_WINDOW) continue; //第一个指标窗口不显示放大缩小按钮
111887111904

111888111905
if (item.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM && frame && frame.ModifyIndex===false) continue;
111889111906
if (item.ID==JSCHART_BUTTON_ID.CHANGE_INDEX && frame && frame.ChangeIndex===false) continue;
@@ -140934,8 +140951,12 @@ function GetBlackStyle()
140934140951

140935140952
ScrollText:
140936140953
{
140937-
Color:"rgb(30,144,255)",
140938-
MouseOnColor:"rgb(255,255,0)",
140954+
Color:"rgb(200, 200, 200)",
140955+
MouseOnColor:"rgb(245,253,166)",
140956+
Label:
140957+
{
140958+
Color:"rgb(220,220,220)",
140959+
}
140939140960
}
140940140961

140941140962
};
@@ -157508,7 +157529,7 @@ function ScrollBarBGChart()
157508157529

157509157530

157510157531

157511-
var HQCHART_VERSION="1.1.15619";
157532+
var HQCHART_VERSION="1.1.15625";
157512157533

157513157534
function PrintHQChartVersion()
157514157535
{

vuehqchart/src/jscommon/umychart.ScrollText.js

Lines changed: 123 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,13 @@ function JSScrollTextChartContainer(uielement)
353353

354354
if (option)
355355
{
356-
356+
if (IFrameSplitOperator.IsNumber(option.LimitCount)) chart.LimitCount=option.LimitCount;
357+
if (option.Label)
358+
{
359+
var item=option.Label;
360+
if (IFrameSplitOperator.IsString(item.Text)) chart.Label.Text=item.Text;
361+
if (IFrameSplitOperator.IsBool(item.IsShow)) chart.Label.IsShow=item.IsShow;
362+
}
357363
}
358364

359365
this.UIElement.onmousedown=(e)=> { this.UIOnMouseDown(e); }
@@ -663,6 +669,15 @@ function ChartScrollText()
663669
this.FirstItem=null; //第一个显示的项
664670
this.MouseOnItem=null; //鼠标所在项
665671

672+
this.LimitCount=15; //最多存几条数据
673+
this.LabelConfig=
674+
{
675+
Color:g_JSChartResource.ScrollText.Label.Color,
676+
Font:g_JSChartResource.ScrollText.Label.Font,
677+
Margin:CloneData(g_JSChartResource.ScrollText.Label.Margin)
678+
};
679+
this.Label={ Text:"24H滚动新闻", Width:null, IsShow:true };
680+
666681
this.AryRect=[];
667682

668683
this.TextConfig=
@@ -683,12 +698,17 @@ function ChartScrollText()
683698
{
684699
this.TextConfig.Font=g_JSChartResource.ScrollText.Font;
685700
this.TextConfig.Color=g_JSChartResource.ScrollText.Color;
701+
this.TextConfig.MouseOnColor=g_JSChartResource.ScrollText.MouseOnColor;
686702
this.TextConfig.Spacing=g_JSChartResource.ScrollText.Spacing;
687703
this.TextConfig.Margin.Top=g_JSChartResource.ScrollText.Margin.Top;
688704
this.TextConfig.Margin.Bottom=g_JSChartResource.ScrollText.Margin.Bottom;
689705

690706
this.LeftMargin=g_JSChartResource.ScrollText.LeftMargin; //左边间距
691707
this.RightMargin=g_JSChartResource.ScrollText.RightMargin; //右边间距
708+
709+
this.LabelConfig.Color=g_JSChartResource.ScrollText.Label.Color;
710+
this.LabelConfig.Font=g_JSChartResource.ScrollText.Label.Font;
711+
this.LabelConfig.Margin=CloneData(g_JSChartResource.ScrollText.Label.Margin);
692712
}
693713

694714
this.GetDataIndex=function(finderItem)
@@ -723,8 +743,9 @@ function ChartScrollText()
723743

724744
this.GetClientRect=function()
725745
{
746+
var labelWidth=this.GetLabelWidth();
726747
var border=this.ChartBorder.GetBorder();
727-
var rtClient = { Left:border.Left, Right:border.Right, Top:border.Top, Bottom:border.Bottom };
748+
var rtClient = { Left:border.Left+labelWidth, Right:border.Right, Top:border.Top, Bottom:border.Bottom };
728749
rtClient.Left+=this.LeftMargin;
729750
rtClient.Right-=this.RightMargin;
730751
rtClient.Width=rtClient.Right-rtClient.Left;
@@ -733,9 +754,52 @@ function ChartScrollText()
733754
return rtClient;
734755
}
735756

757+
this.DrawLabel=function()
758+
{
759+
if (!this.Label || !this.Label.IsShow || !this.Label.Text) return;
760+
761+
var config=this.LabelConfig;
762+
this.Canvas.textBaseline="bottom";
763+
this.Canvas.textAlign="left";
764+
this.Canvas.font=config.Font;
765+
this.Canvas.fillStyle=config.Color;
766+
767+
var border=this.ChartBorder.GetBorder();
768+
var text=this.Label.Text;
769+
var textWidth=this.Canvas.measureText(text).width;
770+
var cellWidth=textWidth+config.Margin.Left+config.Margin.Right;
771+
var x=border.Left+config.Margin.Left;
772+
var yText=border.Bottom-config.Margin.Bottom;
773+
this.Canvas.fillText(text,x,yText);
774+
this.Label.Width=cellWidth;
775+
776+
this.Canvas.strokeStyle=g_JSChartResource.StatusBar.BorderColor; //边框线
777+
this.Canvas.beginPath();
778+
var y=ToFixedPoint(border.Left+cellWidth);
779+
this.Canvas.moveTo(y,border.Top);
780+
this.Canvas.lineTo(y,border.Bottom);
781+
this.Canvas.stroke();
782+
}
783+
784+
this.GetLabelWidth=function()
785+
{
786+
if (!this.Label || !this.Label.IsShow || !this.Label.Text) return 0;
787+
if (IFrameSplitOperator.IsNumber(this.Label.Width)) return this.Label.Width;
788+
789+
var config=this.LabelConfig;
790+
var text=this.Label.Text;
791+
var textWidth=this.Canvas.measureText(text).width;
792+
var cellWidth=textWidth+config.Margin.Left+config.Margin.Right;
793+
this.Label.Width=cellWidth;
794+
795+
return cellWidth;
796+
}
797+
736798
this.Draw=function()
737799
{
738800
this.AryRect=[];
801+
this.DrawLabel();
802+
739803
if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.AryText)) return;
740804

741805
var rtClient = this.GetClientRect();
@@ -750,19 +814,20 @@ function ChartScrollText()
750814
var config=this.TextConfig;
751815

752816
var y=rtClient.Bottom;
753-
var x=rtClient.Left;
754-
var startIndex=-1;
817+
var x=rtClient.Right;
818+
var startIndex=-1,endIndex=-1;
755819
if (this.FirstItem) startIndex=this.GetDataIndex(this.FirstItem);
756820
if (startIndex<0)
757821
{
758-
this.FirstItem=this.Data.AryText[0];
759-
this.FirstItem.Move={ XOffset:0}
760-
startIndex=0;
822+
var index=this.Data.AryText.length-1;
823+
this.FirstItem=this.Data.AryText[index];
824+
this.FirstItem.Move={ XOffset:0 };
825+
startIndex=index;
761826
}
762827

763828
if (this.FirstItem.Move && IFrameSplitOperator.IsNumber(this.FirstItem.Move.XOffset)) x-=this.FirstItem.Move.XOffset;
764829

765-
for(var i=startIndex;i<this.Data.AryText.length;++i)
830+
for(var i=startIndex;i>=0;--i)
766831
{
767832
var item=this.Data.AryText[i];
768833
if (!IFrameSplitOperator.IsNonEmptyArray(item.Content)) continue;
@@ -794,19 +859,22 @@ function ChartScrollText()
794859
itemWidth+=textWidth
795860
}
796861

862+
endIndex=i;
863+
797864
rtText.Right=x;
798865
this.AryRect.push( { Rect:rtText, Data:item } );
799866
x+=config.Spacing;
800867

801-
if (x>=rtClient.Right) break;
802-
803868
if (item==this.FirstItem)
804869
{
805870
item.Move.ContentWidth=itemWidth;
806871
item.Move.Width=itemWidth+config.Spacing;
807872
}
873+
874+
if (x>=rtClient.Right) break;
808875
}
809876

877+
/*
810878
for(var i=0;i<this.Data.AryText.length;++i)
811879
{
812880
if (x>=rtClient.Right) break;
@@ -845,21 +913,43 @@ function ChartScrollText()
845913
846914
x+=config.Spacing;
847915
}
916+
*/
848917

849918
this.Canvas.restore();
919+
920+
this.ResizeDataCount(endIndex);
921+
}
922+
923+
this.ResizeDataCount=function(startIndex)
924+
{
925+
if (!IFrameSplitOperator.IsNumber(startIndex)) return;
926+
if (startIndex<=0) return;
927+
if (this.LimitCount<=0) return;
928+
if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.AryText)) return;
929+
if (this.Data.AryText.length<=this.LimitCount) return;
930+
931+
var delCount=this.Data.AryText.length-this.LimitCount;
932+
for(var i=0; i<delCount && i<startIndex; ++i)
933+
{
934+
this.Data.AryText.shift();
935+
}
850936
}
851937

852938
this.GetTooltipData=function(x,y,tooltip)
853939
{
854-
for(var i=0;i<this.AryRect.length;++i)
940+
var rtClient = this.GetClientRect();
941+
if (x>=rtClient.Left && x<=rtClient.Right)
855942
{
856-
var item=this.AryRect[i];
857-
if (Path2DHelper.PtInRect(x,y, item.Rect))
943+
for(var i=0;i<this.AryRect.length;++i)
858944
{
859-
tooltip.Data=item;
860-
tooltip.ChartPaint=this;
861-
tooltip.Type=1;
862-
return true;
945+
var item=this.AryRect[i];
946+
if (Path2DHelper.PtInRect(x,y, item.Rect))
947+
{
948+
tooltip.Data=item;
949+
tooltip.ChartPaint=this;
950+
tooltip.Type=1;
951+
return true;
952+
}
863953
}
864954
}
865955

@@ -872,14 +962,26 @@ function ChartScrollText()
872962
if (!this.FirstItem) return false;
873963
if (this.MouseOnItem) return true;
874964

965+
var rtClient = this.GetClientRect();
966+
var left=rtClient.Left;
967+
var right=rtClient.Right;
875968
var width=this.FirstItem.Move.Width;
876969
var xOffset=this.FirstItem.Move.XOffset+this.MoveStep;
877-
if (xOffset>=width)
970+
if (right-xOffset+width<left)
878971
{
879972
var startIndex=this.GetDataIndex(this.FirstItem);
880-
var nextIndex=(startIndex+1)%this.Data.AryText.length;
881-
this.FirstItem=this.Data.AryText[nextIndex];
882-
this.FirstItem.Move={ XOffset:xOffset-width }
973+
nextIndex=startIndex-1;
974+
if (nextIndex<0)
975+
{
976+
var index=this.Data.AryText.length-1;
977+
this.FirstItem=this.Data.AryText[index];
978+
this.FirstItem.Move={ XOffset:0 };
979+
}
980+
else
981+
{
982+
this.FirstItem=this.Data.AryText[nextIndex];
983+
this.FirstItem.Move={ XOffset:xOffset-width }
984+
}
883985
}
884986
else
885987
{

vuehqchart/src/jscommon/umychart.js

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80427,13 +80427,20 @@ function JSChartResource()
8042780427
this.ScrollText=
8042880428
{
8042980429
Font:`${12*GetDevicePixelRatio()}px 微软雅黑`,
80430-
Color:"rgb(30,144,255)",
80431-
MouseOnColor:"rgb(0,0,205)",
80430+
Color:"rgb(77,77,77)",
80431+
MouseOnColor:"rgb(233,85,4)",
8043280432
Margin:{ Top:2, Bottom:2 },
8043380433
Spacing:20, //间距
8043480434
LeftMargin:5*GetDevicePixelRatio(),
8043580435
RightMargin:5*GetDevicePixelRatio(),
8043680436
MoveStep:4, //移动步长
80437+
80438+
Label:
80439+
{
80440+
Color:"rgb(50,50,50)",
80441+
Font:`${13*GetDevicePixelRatio()}px 微软雅黑`,
80442+
Margin:{ Left:10*GetDevicePixelRatio(), Bottom:1, Right:10*GetDevicePixelRatio() }
80443+
}
8043780444
}
8043880445

8043980446

@@ -81427,6 +81434,15 @@ function JSChartResource()
8142781434
if (IFrameSplitOperator.IsNumber(style.RightMargin)) dest.RightMargin=style.RightMargin;
8142881435
if (IFrameSplitOperator.IsNumber(style.Spacing)) dest.Spacing=style.Spacing;
8142981436
if (IFrameSplitOperator.IsNumber(style.MoveStep)) dest.MoveStep=style.MoveStep;
81437+
81438+
if (style.Label)
81439+
{
81440+
var item=style.Label;
81441+
var subDest=dest.Label
81442+
if (item.Color) subDest.Color=item.Color;
81443+
if (item.Font) subDest.Font=item.Font;
81444+
if (item.Margin) CopyMarginConfig(subDest.Margin,item.Margin);
81445+
}
8143081446
}
8143181447

8143281448
this.SetStatusBar=function(style)
@@ -107788,6 +107804,7 @@ function JSDivFrameToolbar()
107788107804
{
107789107805
var item=aryDefaultButton[i];
107790107806
if (this.FrameID==0 && item.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW) continue; //第一个指标窗口不显示关闭按钮
107807+
if (this.FrameID==0 && item.ID==JSCHART_BUTTON_ID.MAX_MIN_WINDOW) continue; //第一个指标窗口不显示放大缩小按钮
107791107808

107792107809
if (item.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM && frame && frame.ModifyIndex===false) continue;
107793107810
if (item.ID==JSCHART_BUTTON_ID.CHANGE_INDEX && frame && frame.ChangeIndex===false) continue;

vuehqchart/src/jscommon/umychart.style.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1119,8 +1119,12 @@ function GetBlackStyle()
11191119

11201120
ScrollText:
11211121
{
1122-
Color:"rgb(30,144,255)",
1123-
MouseOnColor:"rgb(255,255,0)",
1122+
Color:"rgb(200, 200, 200)",
1123+
MouseOnColor:"rgb(245,253,166)",
1124+
Label:
1125+
{
1126+
Color:"rgb(220,220,220)",
1127+
}
11241128
}
11251129

11261130
};

vuehqchart/src/jscommon/umychart.version.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66

77

8-
var HQCHART_VERSION="1.1.15619";
8+
var HQCHART_VERSION="1.1.15625";
99

1010
function PrintHQChartVersion()
1111
{

0 commit comments

Comments
 (0)