hqchart 1.1.15066 → 1.1.15070
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 +16 -11
- package/package.json +1 -1
- package/src/jscommon/umychart.js +123 -43
- package/src/jscommon/umychart.resource/css/tools.css +1 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +124 -44
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +124 -44
package/lib/umychart.vue.js
CHANGED
|
@@ -2758,7 +2758,7 @@ if(this.YSplitOperator&&this.YSplitOperator.CoordinateType==1)isYPercentage=true
|
|
|
2758
2758
|
}if(item.Message[1]!=null&&isDrawRight){if(item.Font!=null)this.Canvas.font=item.Font;if(Array.isArray(item.Message[1])){if(this.MultiTextFormat==1)//显示1行 格式:价格/百分比
|
|
2759
2759
|
{textWidth=this.GetMulitCoordinateItemTextWidth(item.Message[1]);}else if(this.MultiTextFormat==2)//显示2行
|
|
2760
2760
|
{textWidth=this.Canvas.measureText(item.Message[1][0]).width;var textWidth2=this.Canvas.measureText(item.Message[1][1]).width;if(textWidth<textWidth2)textWidth=textWidth2;}else if(this.MultiTextFormat==3){textWidth=this.GetMulitTextMaxWidth(item.Message[1]);}else//显示第1行
|
|
2761
|
-
{textWidth=this.Canvas.measureText(item.Message[1][0]).width;if(isYPercentage){var perTextWidth=this.Canvas.measureText("-00.00%").width;if(perTextWidth>textWidth)textWidth=perTextWidth;}}}else{textWidth=this.Canvas.measureText(item.Message[1]).width;}if(width.Right==null||width.Right<textWidth)width.Right=textWidth;}}if(IFrameSplitOperator.IsNumber(width.Right))width.Right+=rightExtendWidth;if(IFrameSplitOperator.IsNumber(width.Left))width.Left+=this.YTextPadding[0]+leftExtendLineWidth;if(IFrameSplitOperator.IsNumber(width.Right))width.Right+=this.YTextPadding[1]+rightExtendLineWidth;return{TextWidth:width};};this.CreateDivFrameToolbar=function(hqchart,frameID,divHQChart){if(this.ToolbarButtonStyle==1)return;if(this.DivFrameToolbar)return;if(this.ClassName=="MinuteFrame"||this.ClassName=="KLineFrame"){this.DivFrameToolbar=new JSDivFrameToolbar();this.DivFrameToolbar.HQChart=hqchart;this.DivFrameToolbar.DivHQChart=divHQChart;this.DivFrameToolbar.FrameID=frameID;this.DivFrameToolbar.Create();}};this.ClearToolbar=function(){if(!this.DivFrameToolbar)return;this.DivFrameToolbar.Destroy();this.DivFrameToolbar=null;};this.HideToolbar=function(){if(!this.DivFrameToolbar)return;this.DivFrameToolbar.Hide();};this.GetMainOverlayFrame=function(){if(!this.FrameData||!this.FrameData.SubFrameItem)return null;var subFrame=this.FrameData.SubFrameItem;var leftFrame=null,rightFrame=null;for(var i=0;i<subFrame.OverlayIndex.length;++i){var item=subFrame.OverlayIndex[i];var overlayFrame=item.Frame;if(overlayFrame.IsShowMainFrame==2)rightFrame=overlayFrame;else if(overlayFrame.IsShowMainFrame==1)leftFrame=overlayFrame;}if(!leftFrame&&!rightFrame)return null;return[leftFrame,rightFrame];};}function MinuteFrame(){this.newMethod=AverageWidthFrame;//派生
|
|
2761
|
+
{textWidth=this.Canvas.measureText(item.Message[1][0]).width;if(isYPercentage){var perTextWidth=this.Canvas.measureText("-00.00%").width;if(perTextWidth>textWidth)textWidth=perTextWidth;}}}else{textWidth=this.Canvas.measureText(item.Message[1]).width;}if(width.Right==null||width.Right<textWidth)width.Right=textWidth;}}if(IFrameSplitOperator.IsNumber(width.Right))width.Right+=rightExtendWidth;if(IFrameSplitOperator.IsNumber(width.Left))width.Left+=this.YTextPadding[0]+leftExtendLineWidth;if(IFrameSplitOperator.IsNumber(width.Right))width.Right+=this.YTextPadding[1]+rightExtendLineWidth;return{TextWidth:width};};this.CreateDivFrameToolbar=function(hqchart,frameID,divHQChart){if(this.ToolbarButtonStyle==1)return;if(this.DivFrameToolbar)return;if(this.ClassName=="MinuteFrame"||this.ClassName=="KLineFrame"){this.DivFrameToolbar=new JSDivFrameToolbar();this.DivFrameToolbar.HQChart=hqchart;this.DivFrameToolbar.DivHQChart=divHQChart;this.DivFrameToolbar.FrameID=frameID;this.DivFrameToolbar.Create(this);}};this.ClearToolbar=function(){if(!this.DivFrameToolbar)return;this.DivFrameToolbar.Destroy();this.DivFrameToolbar=null;};this.HideToolbar=function(){if(!this.DivFrameToolbar)return;this.DivFrameToolbar.Hide();};this.GetMainOverlayFrame=function(){if(!this.FrameData||!this.FrameData.SubFrameItem)return null;var subFrame=this.FrameData.SubFrameItem;var leftFrame=null,rightFrame=null;for(var i=0;i<subFrame.OverlayIndex.length;++i){var item=subFrame.OverlayIndex[i];var overlayFrame=item.Frame;if(overlayFrame.IsShowMainFrame==2)rightFrame=overlayFrame;else if(overlayFrame.IsShowMainFrame==1)leftFrame=overlayFrame;}if(!leftFrame&&!rightFrame)return null;return[leftFrame,rightFrame];};}function MinuteFrame(){this.newMethod=AverageWidthFrame;//派生
|
|
2762
2762
|
this.newMethod();delete this.newMethod;this.ClassName="MinuteFrame";this.DataWidth=1*GetDevicePixelRatio();this.DistanceWidth=1*GetDevicePixelRatio();this.MinuteCount=243;//每天的分钟个数
|
|
2763
2763
|
this.BeforeBGColor=g_JSChartResource.Minute.Before.BGColor;//集合竞价背景
|
|
2764
2764
|
this.AfterBGColor=g_JSChartResource.Minute.After.BGColor;this.MultiDayBorderPen=g_JSChartResource.MultiDayBorderPen;this.CustomHorizontalInfo=[];this.RightFrame=null;//右侧多重坐标
|
|
@@ -6618,9 +6618,9 @@ this.newMethod();delete this.newMethod;this.ClassName='ChartDrawPictureHaflLine'
|
|
|
6618
6618
|
this.Canvas.restore();this.FullLine={Start:drawPoint[0],End:endPoint};};}// 画图工具-水平线 支持横屏
|
|
6619
6619
|
function ChartDrawPictureHorizontalLine(){this.newMethod=IChartDrawPicture;//派生
|
|
6620
6620
|
this.newMethod();delete this.newMethod;this.ClassName='ChartDrawPictureHorizontalLine';this.PointCount=1;this.IsPointIn=this.IsPointIn_XYValue_Line;this.IsDrawFirst=true;this.LineWidth=1;this.Super_SetOption=this.SetOption;//父类函数
|
|
6621
|
-
this.Super_ExportStorageData=this.ExportStorageData;this.LabelConfig={Left:{IsShow:true,Margin:{Left:5,Top:4,Bottom:2,Right:5}},Right:{IsShow:true,Margin:{Left:5,Top:4,Bottom:2,Right:5}},Font:12*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1',TextColor:"rgb(255,255,255)"};this.InsideLabelConfig={Position:0,//0=左, 1=右
|
|
6622
|
-
Font:14*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1',Margin:{Left:5,Top:4,Bottom:2,Right:5},TextColor:"rgb(255,255,255)",BGAlpha:0.8
|
|
6623
|
-
};this.LabelTitle;this.SetOption=function(option){if(this.Super_SetOption)this.Super_SetOption(option);if(option){if(option.LabelTitle)this.LabelTitle=option.LabelTitle;if(option.Label){var item=option.Label;if(item.Left){var subItem=item.Left;if(IFrameSplitOperator.IsBool(subItem.IsShow))this.LabelConfig.Left.IsShow=subItem.IsShow;}if(item.Right){var subItem=item.Right;if(IFrameSplitOperator.IsBool(subItem.IsShow))this.LabelConfig.Right.IsShow=subItem.IsShow;}if(item.Font)this.LabelConfig.Font=item.Font;if(item.TextColor)this.LabelConfig.
|
|
6621
|
+
this.Super_ExportStorageData=this.ExportStorageData;this.LabelConfig={Left:{IsShow:true,Margin:{Left:5,Top:4,Bottom:2,Right:5}},Right:{IsShow:true,Margin:{Left:5,Top:4,Bottom:2,Right:5}},Font:12*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1',TextColor:"rgb(255,255,255)",BGColor:null};this.InsideLabelConfig={Position:0,//0=左, 1=右
|
|
6622
|
+
Font:14*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1',Margin:{Left:5,Top:4,Bottom:2,Right:5},TextColor:"rgb(255,255,255)",BGAlpha:0.8,//背景色透明度,
|
|
6623
|
+
IsShow:true};this.LabelTitle;this.SetOption=function(option){if(this.Super_SetOption)this.Super_SetOption(option);if(option){if(option.LabelTitle)this.LabelTitle=option.LabelTitle;if(option.Label){var item=option.Label;if(item.Left){var subItem=item.Left;if(IFrameSplitOperator.IsBool(subItem.IsShow))this.LabelConfig.Left.IsShow=subItem.IsShow;}if(item.Right){var subItem=item.Right;if(IFrameSplitOperator.IsBool(subItem.IsShow))this.LabelConfig.Right.IsShow=subItem.IsShow;}if(item.Font)this.LabelConfig.Font=item.Font;if(item.TextColor)this.LabelConfig.TextColor=item.TextColor;if(item.BGColor)this.LabelConfig.BGColor=item.BGColor;}if(option.InsideLabel){var item=option.InsideLabel;if(item.Font)this.InsideLabelConfig.Font=item.Font;if(item.TextColor)this.InsideLabelConfig.TextColor=item.TextColor;if(IFrameSplitOperator.IsNumber(item.Position))this.InsideLabelConfig.Position=item.Position;if(IFrameSplitOperator.IsNumber(item.BGAlpha))this.InsideLabelConfig.BGAlpha=item.BGAlpha;if(IFrameSplitOperator.IsBool(item.IsShow))this.InsideLabelConfig.IsShow=item.IsShow;}}};this.ExportStorageData=function(){var storageData;if(this.Super_ExportStorageData){storageData=this.Super_ExportStorageData();if(this.LabelTitle)storageData.LabelTitle=this.LabelTitle;if(this.LabelConfig)storageData.Label=this.LabelConfig;if(this.InsideLabelConfig)storageData.InsideLabel=this.InsideLabelConfig;}return storageData;};/*
|
|
6624
6624
|
this.GetXYCoordinate=function()
|
|
6625
6625
|
{
|
|
6626
6626
|
if (this.IsFrameMinSize()) return null;
|
|
@@ -6631,7 +6631,7 @@ Font:14*GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1',Margin:{Left:5,Top:4
|
|
|
6631
6631
|
*/this.Draw=function(){this.LinePoint=[];if(this.IsFrameMinSize())return;if(!this.IsShow)return;var drawPoint=this.CalculateDrawPoint();if(!drawPoint||drawPoint.length!=1)return;if(!this.Frame)return;if(this.Value.length!=1)return;if(!this.IsYValueInFrame(this.Value[0].YValue))return null;var isHScreen=this.Frame.IsHScreen;var left=this.Frame.ChartBorder.GetLeft();var right=this.Frame.ChartBorder.GetRight();if(isHScreen){left=this.Frame.ChartBorder.GetTop();right=this.Frame.ChartBorder.GetBottom();}this.ClipFrame();this.Canvas.strokeStyle=this.LineColor;this.SetLineWidth();this.Canvas.beginPath();if(isHScreen){this.Canvas.moveTo(drawPoint[0].X,left);this.Canvas.lineTo(drawPoint[0].X,right);}else{var yFixed=ToFixedPoint2(this.LineWidth,drawPoint[0].Y);this.Canvas.moveTo(left,yFixed);this.Canvas.lineTo(right,yFixed);}this.Canvas.stroke();this.RestoreLineWidth();var line={Start:new Point(),End:new Point()};if(isHScreen){line.Start.X=drawPoint[0].X;line.Start.Y=left;line.End.X=drawPoint[0].X;line.End.Y=right;}else{line.Start.X=left;line.Start.Y=drawPoint[0].Y;line.End.X=right;line.End.Y=drawPoint[0].Y;}this.LinePoint.push(line);//画点
|
|
6632
6632
|
this.DrawPoint(drawPoint);//显示价格
|
|
6633
6633
|
this.DrawInsideLabel(drawPoint[0]);this.Canvas.restore();this.DrawValueLabel(drawPoint[0]);};this.DrawValueLabel=function(point){if(!point)return;if(this.Frame.IsHScreen)return;//不支持横屏
|
|
6634
|
-
var y=point.Y;var yValue=this.Frame.GetYData(y);var text=yValue.toFixed(2);var border=this.Frame.GetBorder();var config=this.LabelConfig;this.Canvas.font=config.Font;var textHeight=this.Canvas.measureText("擎").width;var textWidth=this.Canvas.measureText(text).width;if(config.Left.IsShow&&this.Frame.ChartBorder.Left>5){var margin=config.Left.Margin;var rtBG={Right:border.Left-1,Height:textHeight+margin.Top+margin.Bottom,Width:textWidth+margin.Left+margin.Right};rtBG.Top=y-textHeight/2-margin.Top;rtBG.Bottom=rtBG.Top+rtBG.Height;rtBG.Left=rtBG.Right-rtBG.Width;this.Canvas.fillStyle=this.LineColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);this.Canvas.textAlign="left";this.Canvas.textBaseline="top";var xText=rtBG.Left+margin.Left;var yText=rtBG.Top+margin.Top;this.Canvas.fillStyle=config.TextColor;this.Canvas.fillText(text,xText,yText);}if(config.Right.IsShow&&this.Frame.ChartBorder.Right>5){var margin=config.Right.Margin;var rtBG={Left:border.Right+1,Height:textHeight+margin.Top+margin.Bottom,Width:textWidth+margin.Left+margin.Right};rtBG.Top=y-textHeight/2-margin.Top;rtBG.Bottom=rtBG.Top+rtBG.Height;rtBG.Right=rtBG.Left+rtBG.Width;this.Canvas.fillStyle=this.LineColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);this.Canvas.textAlign="left";this.Canvas.textBaseline="top";var xText=rtBG.Left+margin.Left;var yText=rtBG.Top+margin.Top;this.Canvas.fillStyle=config.TextColor;this.Canvas.fillText(text,xText,yText);}};this.DrawInsideLabel=function(point){if(!point)return;var isHScreen=this.Frame.IsHScreen;var config=this.InsideLabelConfig;if(config.Position!=0&&config.Position!=1)return;var margin=config.Margin;this.Canvas.fillStyle=this.LineColor;this.Canvas.font=config.Font;var textHeight=this.Canvas.measureText("擎").width;var border=this.Frame.GetBorder();if(isHScreen){var yValue=this.Frame.GetYData(point.X);var text=yValue.toFixed(2);if(this.LabelTitle)text=this.LabelTitle+text;var textWidth=this.Canvas.measureText(text).width;var rtBG=null;if(config.Position==0)//左
|
|
6634
|
+
var y=point.Y;var yValue=this.Frame.GetYData(y);var text=yValue.toFixed(2);var border=this.Frame.GetBorder();var config=this.LabelConfig;this.Canvas.font=config.Font;var textHeight=this.Canvas.measureText("擎").width;var textWidth=this.Canvas.measureText(text).width;if(config.Left.IsShow&&this.Frame.ChartBorder.Left>5){var margin=config.Left.Margin;var rtBG={Right:border.Left-1,Height:textHeight+margin.Top+margin.Bottom,Width:textWidth+margin.Left+margin.Right};rtBG.Top=y-textHeight/2-margin.Top;rtBG.Bottom=rtBG.Top+rtBG.Height;rtBG.Left=rtBG.Right-rtBG.Width;if(config.BGColor)this.Canvas.fillStyle=config.BGColor;else this.Canvas.fillStyle=this.LineColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);this.Canvas.textAlign="left";this.Canvas.textBaseline="top";var xText=rtBG.Left+margin.Left;var yText=rtBG.Top+margin.Top;this.Canvas.fillStyle=config.TextColor;this.Canvas.fillText(text,xText,yText);}if(config.Right.IsShow&&this.Frame.ChartBorder.Right>5){var margin=config.Right.Margin;var rtBG={Left:border.Right+1,Height:textHeight+margin.Top+margin.Bottom,Width:textWidth+margin.Left+margin.Right};rtBG.Top=y-textHeight/2-margin.Top;rtBG.Bottom=rtBG.Top+rtBG.Height;rtBG.Right=rtBG.Left+rtBG.Width;if(config.BGColor)this.Canvas.fillStyle=config.BGColor;else this.Canvas.fillStyle=this.LineColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);this.Canvas.textAlign="left";this.Canvas.textBaseline="top";var xText=rtBG.Left+margin.Left;var yText=rtBG.Top+margin.Top;this.Canvas.fillStyle=config.TextColor;this.Canvas.fillText(text,xText,yText);}};this.DrawInsideLabel=function(point){if(!point)return;var isHScreen=this.Frame.IsHScreen;var config=this.InsideLabelConfig;if(!config.IsShow)return;if(config.Position!=0&&config.Position!=1)return;var margin=config.Margin;this.Canvas.fillStyle=this.LineColor;this.Canvas.font=config.Font;var textHeight=this.Canvas.measureText("擎").width;var border=this.Frame.GetBorder();if(isHScreen){var yValue=this.Frame.GetYData(point.X);var text=yValue.toFixed(2);if(this.LabelTitle)text=this.LabelTitle+text;var textWidth=this.Canvas.measureText(text).width;var rtBG=null;if(config.Position==0)//左
|
|
6635
6635
|
{var rtBG={Top:border.Top+1,Width:textHeight+margin.Top+margin.Bottom,Height:textWidth+margin.Left+margin.Right,Left:point.X};rtBG.Bottom=rtBG.Top+rtBG.Height;rtBG.Right=rtBG.Left+rtBG.Width;}else if(config.Position==1)//右
|
|
6636
6636
|
{var rtBG={Bottom:border.Bottom-1,Width:textHeight+margin.Top+margin.Bottom,Height:textWidth+margin.Left+margin.Right,Left:point.X};rtBG.Top=rtBG.Bottom-rtBG.Height;rtBG.Right=rtBG.Left+rtBG.Width;}var bgColor=this.LineColor;if(config.BGAlpha<1)bgColor=IChartDrawPicture.ColorToRGBA(this.LineColor,config.BGAlpha);this.Canvas.fillStyle=bgColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);var xText=rtBG.Right-margin.Top;var yText=rtBG.Top+margin.Left;this.Canvas.translate(xText,yText);this.Canvas.rotate(90*Math.PI/180);//数据和框子旋转180度
|
|
6637
6637
|
this.Canvas.textAlign="left";this.Canvas.textBaseline="top";this.Canvas.fillStyle=config.TextColor;this.Canvas.fillText(text,0,0);}else{var yValue=this.Frame.GetYData(point.Y);var text=yValue.toFixed(2);if(this.LabelTitle)text=this.LabelTitle+text;var textWidth=this.Canvas.measureText(text).width;var rtBG=null;if(config.Position==0)//左
|
|
@@ -10416,11 +10416,16 @@ Path2DHelper.FormatRadian=function(angle){angle%=PI2;if(angle<0)angle+=PI2;retur
|
|
|
10416
10416
|
//
|
|
10417
10417
|
///////////////////////////////////////////////////////////////////////////////////
|
|
10418
10418
|
function JSDivFrameToolbar(){this.DivToolbar=null;this.DivHQChart=null;this.HQChart=null;this.FrameID=-1;//指标窗口ID
|
|
10419
|
-
this.ID=Guid();this.Left=-1;this.Top=-1;this.IconConfig={Color:g_JSChartResource.DivFrameToolbar.Icon.Color,HoverColor:g_JSChartResource.DivFrameToolbar.Icon.HoverColor};this.AryButton=[
|
|
10420
|
-
|
|
10421
|
-
for(var i=0;i<aryButton.length;i++){var item=aryButton[i];if(!item.ID||!item.ClassName)continue;var newItem={ID:item.ID,ClassName:item.ClassName,Span:null,Div:null,TooltipSpan:null};if(item.Tooltip&&item.Tooltip.Text)newItem.Tooltip={Text:item.Tooltip.Text};this.AryButton.push(newItem);if(this.DivToolbar)this.CreateButton(newItem,this.DivToolbar);}
|
|
10422
|
-
|
|
10423
|
-
|
|
10419
|
+
this.ID=Guid();this.Left=-1;this.Top=-1;this.IconConfig={Color:g_JSChartResource.DivFrameToolbar.Icon.Color,HoverColor:g_JSChartResource.DivFrameToolbar.Icon.HoverColor};this.AryButton=[];//按钮数组
|
|
10420
|
+
//创建按钮
|
|
10421
|
+
this.CreateArrayButton=function(aryButton){for(var i=0;i<aryButton.length;i++){var item=aryButton[i];if(!item.ID||!item.ClassName)continue;var newItem={ID:item.ID,ClassName:item.ClassName,Span:null,Div:null,TooltipSpan:null};if(item.Tooltip&&item.Tooltip.Text)newItem.Tooltip={Text:item.Tooltip.Text};this.AryButton.push(newItem);if(this.DivToolbar)this.CreateButton(newItem,this.DivToolbar);}};//清空原来的按钮
|
|
10422
|
+
this.ClearAllButtons=function(){//清空原来的按钮
|
|
10423
|
+
for(var i=0;i<this.AryButton.length;i++){var item=this.AryButton[i];if(item.Div&&this.DivToolbar)this.DivToolbar.removeChild(item.Div);item.Div=null;item.Span=null;item.TooltipSpan=null;}this.AryButton=[];};this.GetShowButtons=function(subFrame){var frame=subFrame;if(!frame&&this.FrameID>=0&&this.FrameID<this.HQChart.Frame.SubFrame.length)frame=this.HQChart.Frame.SubFrame[this.FrameID].Frame;var aryDefaultButton=JSDivFrameToolbar.GetDfaultButtons();var aryButton=[];for(var i=0;i<aryDefaultButton.length;i++){var item=aryDefaultButton[i];if(this.FrameID==0&&item.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW)continue;//第一个指标窗口不显示关闭按钮
|
|
10424
|
+
if(item.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM&&frame&&frame.ModifyIndex===false)continue;if(item.ID==JSCHART_BUTTON_ID.CHANGE_INDEX&&frame&&frame.ChangeIndex===false)continue;if(item.ID==JSCHART_BUTTON_ID.OVERLAY_INDEX&&frame&&frame.OverlayIndex===false)continue;if(item.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW&&frame&&frame.CloseIndex===false)continue;aryButton.push(item);}return aryButton;};this.SetToolbar=function(aryButton){this.ClearAllButtons();//清空原来的按钮
|
|
10425
|
+
this.CreateArrayButton(aryButton);//重新创建
|
|
10426
|
+
this.UpdateStyle();};this.UpdateButton=function(){if(!this.DivToolbar)return;var aryButton=this.GetShowButtons();var bChange=false;if(aryButton.length!=this.AryButton.length){bChange=true;}else{for(var i=0;i<this.AryButton.length;++i){var leftItem=this.AryButton[i];var rightItem=aryButton[i];if(leftItem.ID!=rightItem.ID||leftItem.ClassName!=rightItem.ClassName){bChange=true;break;}}}if(!bChange)return;this.SetToolbar(aryButton);//重新设置按钮
|
|
10427
|
+
};this.Destroy=function(){if(this.DivToolbar){if(this.DivHQChart.removeChild)this.DivHQChart.removeChild(this.DivToolbar);this.DivToolbar=null;}this.HQChart=null;this.DivHQChart=null;this.FrameID=-1;};this.Create=function(frame){var divToolbar=document.createElement("div");divToolbar.className='UMyChart_FrameToolbar_Div';divToolbar.id=this.ID;divToolbar.oncontextmenu=function(){return false;};//屏蔽右键系统菜单
|
|
10428
|
+
this.DivToolbar=divToolbar;var aryButtons=this.GetShowButtons(frame);this.CreateArrayButton(aryButtons);this.DivHQChart.appendChild(divToolbar);this.UpdateStyle();if(!this.HQChart.JSToolbarTooltip){this.HQChart.JSToolbarTooltip=new JSToolbarTooltip();this.HQChart.JSToolbarTooltip.DivHQChart=this.DivHQChart;this.HQChart.JSToolbarTooltip.Create();}};this.UpdateStyle=function(){if(!this.DivToolbar)return;for(var i=0;i<this.AryButton.length;i++){var item=this.AryButton[i];if(!item.Span)continue;item.Span.style["color"]=this.IconConfig.Color;}};this.ReloadResource=function(option){this.IconConfig.Color=g_JSChartResource.DivFrameToolbar.Icon.Color,this.IconConfig.HoverColor=g_JSChartResource.DivFrameToolbar.Icon.HoverColor;this.UpdateStyle();};this.CreateButton=function(item,divDom){var _this50=this;var btnDiv=document.createElement("div");btnDiv.className="UMyChart_FrameToolbar_Div_Button";btnDiv.onmouseover=function(e){_this50.OnHoverButton(e,item);};btnDiv.onmouseout=function(e){_this50.OnLeaveButton(e,item);};item.Div=btnDiv;var spanDom=document.createElement("span");spanDom.className=item.ClassName;spanDom.onmousedown=function(e){_this50.OnClickButton(e,item);};item.Span=spanDom;btnDiv.appendChild(spanDom);divDom.appendChild(btnDiv);};this.OnClickButton=function(e,item){if(!this.FrameID<0)return;if(!this.HQChart)return;var frame=this.HQChart.Frame.SubFrame[this.FrameID].Frame;var button={ID:item.ID,Frame:frame};this.HQChart.ClickFrameButton(button,e);};this.OnHoverButton=function(e,item){if(!item.Span)return;item.Span.style["color"]=this.IconConfig.HoverColor;this.ShowTooltip(e,item);};this.OnLeaveButton=function(e,item){if(!item.Span)return;item.Span.style["color"]=this.IconConfig.Color;this.HideTooltip();};this.Show=function(frameID){this.FrameID=frameID;if(!this.FrameID<0)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.HQChart.Frame.SubFrame))return;if(!this.HQChart.Frame.SubFrame[this.FrameID])return;var pixelTatio=GetDevicePixelRatio();var frame=this.HQChart.Frame.SubFrame[this.FrameID].Frame;var border=frame.GetBorder();var top=border.Top/pixelTatio;var right=border.RightEx/pixelTatio;var left=right-this.DivToolbar.offsetWidth-2;if(this.Top!=top||this.Left!=left){this.DivToolbar.style.top=top+"px";this.DivToolbar.style.left=left+"px";this.DivToolbar.style.height=frame.ChartBorder.TitleHeight/pixelTatio+"px";this.Top=top;this.Left=left;}if(this.DivToolbar.style.visibility!='visible')this.DivToolbar.style.visibility='visible';};this.Hide=function(){if(this.DivToolbar)this.DivToolbar.style.visibility="hidden";};this.HideTooltip=function(){if(this.HQChart.JSToolbarTooltip)this.HQChart.JSToolbarTooltip.Hide();};this.ShowTooltip=function(e,item){if(!this.HQChart.JSToolbarTooltip)return;if(!item.Div)return;var rtButton=item.Div.getBoundingClientRect();var rtHQChart=this.DivHQChart.getBoundingClientRect();var left=rtButton.left-rtHQChart.left;var top=rtButton.bottom-rtHQChart.top+2;this.HQChart.JSToolbarTooltip.Show(top,left,{Text:item.Tooltip.Text});};}JSDivFrameToolbar.GetDfaultButtons=function(){var aryButton=[{ID:JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM,ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-index_param",Tooltip:{Text:"修改参数"},Span:null,Div:null,TooltipSpan:null},{ID:JSCHART_BUTTON_ID.CHANGE_INDEX,ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-change_index",Tooltip:{Text:"切换指标"},Span:null,Div:null,TooltipSpan:null},{ID:JSCHART_BUTTON_ID.OVERLAY_INDEX,ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-overlay_index",Tooltip:{Text:"叠加指标"},Span:null,Div:null,TooltipSpan:null},{ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW,ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-close",Tooltip:{Text:"关闭窗口"},Span:null,Div:null,TooltipSpan:null}];return aryButton;};function JSToolbarTooltip(){this.DivTooltip=null;this.DivHQChart=null;this.Text=null;this.Left=-1;this.Top=-1;this.BGColor=g_JSChartResource.DivFrameToolbar.Tooltip.BGColor;this.TextColor=g_JSChartResource.DivFrameToolbar.Tooltip.TextColor;this.BorderColor=g_JSChartResource.DivFrameToolbar.Tooltip.BorderColor;this.Create=function(){var divDom=document.createElement("div");divDom.className='UMyChart_Toolbar_Tooltip_Div';this.DivHQChart.appendChild(divDom);this.DivTooltip=divDom;this.UpdateStyle();};this.ReloadResource=function(option){this.BGColor=g_JSChartResource.DivFrameToolbar.Tooltip.BGColor;this.TextColor=g_JSChartResource.DivFrameToolbar.Tooltip.TextColor;this.BorderColor=g_JSChartResource.DivFrameToolbar.Tooltip.BorderColor;this.UpdateStyle();};this.UpdateStyle=function(){if(!this.DivTooltip)return;this.DivTooltip.style["background-color"]=this.BGColor;this.DivTooltip.style["color"]=this.TextColor;this.DivTooltip.style["border"]="1px solid "+this.BorderColor;};this.Show=function(top,left,tooltipData){if(!this.DivTooltip)return;if(this.Text!=tooltipData.Text)this.DivTooltip.innerHTML=tooltipData.Text;var right=left+this.DivTooltip.offsetWidth;if(right+5>=window.innerWidth)left=left-this.DivTooltip.offsetWidth;if(this.Top!=top||this.Left!=left){this.DivTooltip.style.top=top+"px";this.DivTooltip.style.left=left+"px";this.Top=top;this.Left=left;}if(this.DivTooltip.style.visibility!='visible')this.DivTooltip.style.visibility='visible';};this.Hide=function(){if(!this.DivTooltip)return;if(this.DivTooltip.style["visibility"]!='hidden')this.DivTooltip.style["visibility"]="hidden";};}/*
|
|
10424
10429
|
Copyright (c) 2018 jones
|
|
10425
10430
|
|
|
10426
10431
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
@@ -15332,7 +15337,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
15332
15337
|
this.ExecuteScript(item,data);}this.Status=0;}};this.OnExecuteFinish=function(data,indexInfo,jsExectute,jobInfo){var message={Data:data,IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.FINISH_EXECUTE_SCRIPT,JobInfo:jobInfo};postMessage(message);};this.OnExecuteError=function(error,indexInfo,jobData){var message={IndexInfo:indexInfo,ID:JSCHART_WORKER_MESSAGE_ID.ERROR_EXECUTE_SCRIPT,Error:error};postMessage(message);};}/********************************************************************************
|
|
15333
15338
|
* 版本信息输出
|
|
15334
15339
|
*
|
|
15335
|
-
*/var HQCHART_VERSION="1.1.
|
|
15340
|
+
*/var HQCHART_VERSION="1.1.15069";function PrintHQChartVersion(){var logo='\n\n*************************************************************************************************************************************************************************** \n* \n* :%@@- \n* :@@@@- \n* =@@@@ :#@@@ .:+#@@@#=: :=*@@@@@@#+-. *@@@@. \n* :@@@@@ .@@@@@ .#@@@@@@@@@@@- +@@@@@@@@@@@@@+ @@@@@ -%@@* \n* +@@@@% #@@@@# *@@@@@@@@@@@@@@%. =@@@@@@@@@@@@@@@- @@@@@ -@@@@+ \n* %@@@@* @@@@@+ .%@@@@@@@@@@@@@@@@%: #@@@@@@@@@@@@@@@% @@@@# *@@@@= \n* @@@@@= @@@@@- .%@@@@@@@*++*%@@@@@@% .%@@@@@@@%*+==+**= -@@@@+ #@@@@- \n* @@@@@. @@@@@. #@@@@@%= =@@@@@@* %@@@@@@#: *@@@@- :::. .-+*###+: ::: .+##+: -%%@@@@@%%%% \n* .@@@@@ .@@@@@. +@@@@@% .@@@@@@ *@@@@@@: %@@@@: +@@@@@%. :%@@@@@@@@@@: *@@@ :@@@@@* @@@@@@@@@@@@ \n* :@@@@@ :@@@@@ @@@@@% :@@@@@+ @@@@@@: %@@@@-@@@@@@@@@. @@@@@@@@@@@@@. :@@@%-@@@@@@.:@@@@@@@@@@@# \n* -@@@@% -@@@@@ =@@@@@. %@@@@% %@@@@@- %@@@@@@@@@@@@@@* %@@@@@@@@@@@@+ -@@@@@@@@@@# -@@@@@@@@@@@. \n* +@@@@%=========#@@@@% @@@@@# :@@@@@ .@@@@@% @@@@@@@@%@@@@@@@ -%+:. .#@@@@* +@@@@@@@%%@. .::+@@@@#:: \n* #@@@@@@@@@@@@@@@@@@@# .@@@@@ .@@@@@ :@@@@@. @@@@@@#. #@@@@@. -@@@@* #@@@@@@: *@@@@+ \n* %@@@@@@@@@@@@@@@@@@@+ :@@@@@ .@@@@@ -@@@@@ @@@@@+ @@@@@. :@@@@* @@@@@% #@@@@- \n* @@@@@@@@@@@@@@@@@@@@: :@@@@% :@@@@@ +@@@@% -@@@@+ @@@@@ -@@@@+ @@@@@. @@@@@. \n* .@@@@@@@@@@@@@@@@@@@@ :@@@@% -@@@@% *@@@@% #@@@@. @@@@@ .=*#%%%@@@@@= :@@@@# @@@@@. \n* -@@@@@:::::::::=@@@@@ :@@@@@ @@@@@* +@@@@% @@@@@ @@@@% -#@@@@@@@@@@@@: -@@@@* @@@@@ \n* =@@@@% =@@@@% .@@@@@ :@@@@@. -@@@@% @@@@@ .@@@@* +@@@@@@@@@@@@@@. =@@@@+ .@@@@@ \n* +@@@@# +@@@@# @@@@@# %@@@@% :@@@@@ .@@@@% =@@@@= -@@@@@*-:..%@@@@ +@@@@= :@@@@# \n* *@@@@* *@@@@* +@@@@@: #@@@@@+ .@@@@@@ :@@@@% *@@@@- @@@@@. @@@@% #@@@@: =@@@@+ \n* %@@@@= %@@@@+ @@@@@@- .%@@@@@# #@@@@@# :@@@@% #@@@@: @@@@% @@@@* %@@@@. #@@@@- \n* @@@@@- @@@@@= =@@@@@@#=...-*@@@@@@@: @@@@@@%=. :+**. :@@@@* %@@@@. .@@@@* *@@@@= @@@@@ %@@@@+ \n* .@@@@@: .@@@@@: *@@@@@@@@@@@@@@@@@@@# =@@@@@@@@%%%@@@@@@ +@@@@- @@@@@ .@@@@@: :%@@@@@- .@@@@% %@@@@@*+- \n* :@@@@@ :@@@@@ +@@@@@@@@@@@@@@@@@@@# =@@@@@@@@@@@@@@@@% %@@@@ @@@@@ @@@@@@@@@@@@@@@: -@@@@* *@@@@@@@@- \n* =@@@@@ -@@@@@ :@@@@@@@@@@@@@@@@@@@# :@@@@@@@@@@@@@@@% @@@@@ %@@@% #@@@@@@@@@#@@@@. +@@@@- .@@@@@@@@# \n* *@@@@# =@@@@% :#@@@@@@@#: :@@@@@= =@@@@@@@@@@@+. @@@@@ :@@@+ *@@@@@@@- %@@@ *@@@= =@@@@@@@* \n* =++++- -++++= .:::. .=*+: :-=+++=:. ****= .=+. .-++=: :+++ -+=: .-=+=:. \n* \n* \n* HQChart \n* Ver: '+HQCHART_VERSION+' \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n************************************************************************************************************************************************************************** \n ';console.log(logo);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
15336
15341
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
15337
15342
|
// BaseIndex:BaseIndex,
|
|
15338
15343
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -16218,7 +16218,7 @@ function AverageWidthFrame()
|
|
|
16218
16218
|
this.DivFrameToolbar.HQChart=hqchart;
|
|
16219
16219
|
this.DivFrameToolbar.DivHQChart=divHQChart;
|
|
16220
16220
|
this.DivFrameToolbar.FrameID=frameID;
|
|
16221
|
-
this.DivFrameToolbar.Create();
|
|
16221
|
+
this.DivFrameToolbar.Create(this);
|
|
16222
16222
|
}
|
|
16223
16223
|
}
|
|
16224
16224
|
|
|
@@ -66656,7 +66656,7 @@ function ChartDrawPictureHorizontalLine()
|
|
|
66656
66656
|
{
|
|
66657
66657
|
Left:{ IsShow:true, Margin:{ Left:5, Top:4, Bottom:2, Right:5 } },
|
|
66658
66658
|
Right:{ IsShow:true, Margin:{ Left:5, Top:4, Bottom:2, Right:5 } },
|
|
66659
|
-
Font:`${12*GetDevicePixelRatio()}px 微软雅黑`, TextColor:"rgb(255,255,255)"
|
|
66659
|
+
Font:`${12*GetDevicePixelRatio()}px 微软雅黑`, TextColor:"rgb(255,255,255)", BGColor:null
|
|
66660
66660
|
};
|
|
66661
66661
|
|
|
66662
66662
|
this.InsideLabelConfig=
|
|
@@ -66665,7 +66665,8 @@ function ChartDrawPictureHorizontalLine()
|
|
|
66665
66665
|
Font:`${14*GetDevicePixelRatio()}px 微软雅黑`,
|
|
66666
66666
|
Margin:{ Left:5, Top:4, Bottom:2, Right:5 },
|
|
66667
66667
|
TextColor:"rgb(255,255,255)",
|
|
66668
|
-
BGAlpha:0.8,
|
|
66668
|
+
BGAlpha:0.8, //背景色透明度,
|
|
66669
|
+
IsShow:true
|
|
66669
66670
|
}
|
|
66670
66671
|
|
|
66671
66672
|
this.LabelTitle;
|
|
@@ -66694,7 +66695,8 @@ function ChartDrawPictureHorizontalLine()
|
|
|
66694
66695
|
}
|
|
66695
66696
|
|
|
66696
66697
|
if (item.Font) this.LabelConfig.Font=item.Font;
|
|
66697
|
-
if (item.TextColor) this.LabelConfig.
|
|
66698
|
+
if (item.TextColor) this.LabelConfig.TextColor=item.TextColor;
|
|
66699
|
+
if (item.BGColor) this.LabelConfig.BGColor=item.BGColor;
|
|
66698
66700
|
}
|
|
66699
66701
|
|
|
66700
66702
|
if (option.InsideLabel)
|
|
@@ -66704,6 +66706,7 @@ function ChartDrawPictureHorizontalLine()
|
|
|
66704
66706
|
if (item.TextColor) this.InsideLabelConfig.TextColor=item.TextColor;
|
|
66705
66707
|
if (IFrameSplitOperator.IsNumber(item.Position)) this.InsideLabelConfig.Position=item.Position;
|
|
66706
66708
|
if (IFrameSplitOperator.IsNumber(item.BGAlpha)) this.InsideLabelConfig.BGAlpha=item.BGAlpha;
|
|
66709
|
+
if (IFrameSplitOperator.IsBool(item.IsShow)) this.InsideLabelConfig.IsShow=item.IsShow;
|
|
66707
66710
|
}
|
|
66708
66711
|
}
|
|
66709
66712
|
}
|
|
@@ -66715,6 +66718,8 @@ function ChartDrawPictureHorizontalLine()
|
|
|
66715
66718
|
{
|
|
66716
66719
|
storageData=this.Super_ExportStorageData();
|
|
66717
66720
|
if (this.LabelTitle) storageData.LabelTitle=this.LabelTitle;
|
|
66721
|
+
if (this.LabelConfig) storageData.Label=this.LabelConfig;
|
|
66722
|
+
if (this.InsideLabelConfig) storageData.InsideLabel=this.InsideLabelConfig;
|
|
66718
66723
|
}
|
|
66719
66724
|
|
|
66720
66725
|
return storageData;
|
|
@@ -66821,7 +66826,8 @@ function ChartDrawPictureHorizontalLine()
|
|
|
66821
66826
|
rtBG.Bottom=rtBG.Top+rtBG.Height;
|
|
66822
66827
|
rtBG.Left=rtBG.Right-rtBG.Width;
|
|
66823
66828
|
|
|
66824
|
-
this.Canvas.fillStyle=
|
|
66829
|
+
if (config.BGColor) this.Canvas.fillStyle=config.BGColor;
|
|
66830
|
+
else this.Canvas.fillStyle=this.LineColor;
|
|
66825
66831
|
this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
|
|
66826
66832
|
|
|
66827
66833
|
this.Canvas.textAlign="left";
|
|
@@ -66839,7 +66845,9 @@ function ChartDrawPictureHorizontalLine()
|
|
|
66839
66845
|
rtBG.Top=y-textHeight/2-margin.Top;
|
|
66840
66846
|
rtBG.Bottom=rtBG.Top+rtBG.Height;
|
|
66841
66847
|
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
66842
|
-
|
|
66848
|
+
|
|
66849
|
+
if (config.BGColor) this.Canvas.fillStyle=config.BGColor;
|
|
66850
|
+
else this.Canvas.fillStyle=this.LineColor;
|
|
66843
66851
|
this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
|
|
66844
66852
|
|
|
66845
66853
|
this.Canvas.textAlign="left";
|
|
@@ -66857,6 +66865,7 @@ function ChartDrawPictureHorizontalLine()
|
|
|
66857
66865
|
|
|
66858
66866
|
var isHScreen=this.Frame.IsHScreen;
|
|
66859
66867
|
var config=this.InsideLabelConfig;
|
|
66868
|
+
if (!config.IsShow) return;
|
|
66860
66869
|
if (config.Position!=0 && config.Position!=1) return;
|
|
66861
66870
|
var margin=config.Margin;
|
|
66862
66871
|
|
|
@@ -105278,27 +105287,26 @@ function JSDivFrameToolbar()
|
|
|
105278
105287
|
HoverColor:g_JSChartResource.DivFrameToolbar.Icon.HoverColor
|
|
105279
105288
|
}
|
|
105280
105289
|
|
|
105281
|
-
this.AryButton=
|
|
105282
|
-
[
|
|
105283
|
-
{
|
|
105284
|
-
ID:JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-index_param", Tooltip:{ Text:"修改参数"},
|
|
105285
|
-
Span:null, Div:null, TooltipSpan:null
|
|
105286
|
-
},
|
|
105287
|
-
{
|
|
105288
|
-
ID:JSCHART_BUTTON_ID.CHANGE_INDEX, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-change_index", Tooltip:{ Text:"切换指标"},
|
|
105289
|
-
Span:null,Div:null, TooltipSpan:null
|
|
105290
|
-
},
|
|
105291
|
-
{
|
|
105292
|
-
ID:JSCHART_BUTTON_ID.OVERLAY_INDEX, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-overlay_index", Tooltip:{ Text:"叠加指标"},
|
|
105293
|
-
Span:null,Div:null, TooltipSpan:null
|
|
105294
|
-
},
|
|
105295
|
-
{
|
|
105296
|
-
ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-close", Tooltip:{ Text:"关闭窗口"},
|
|
105297
|
-
Span:null,Div:null, TooltipSpan:null
|
|
105298
|
-
},
|
|
105299
|
-
];
|
|
105290
|
+
this.AryButton=[]; //按钮数组
|
|
105300
105291
|
|
|
105301
|
-
|
|
105292
|
+
//创建按钮
|
|
105293
|
+
this.CreateArrayButton=function(aryButton)
|
|
105294
|
+
{
|
|
105295
|
+
for(var i=0;i<aryButton.length; i++)
|
|
105296
|
+
{
|
|
105297
|
+
var item=aryButton[i];
|
|
105298
|
+
if (!item.ID || !item.ClassName) continue;
|
|
105299
|
+
var newItem={ ID:item.ID, ClassName:item.ClassName, Span:null,Div:null, TooltipSpan:null };
|
|
105300
|
+
if (item.Tooltip && item.Tooltip.Text) newItem.Tooltip={ Text:item.Tooltip.Text };
|
|
105301
|
+
|
|
105302
|
+
this.AryButton.push(newItem);
|
|
105303
|
+
|
|
105304
|
+
if (this.DivToolbar) this.CreateButton(newItem, this.DivToolbar);
|
|
105305
|
+
}
|
|
105306
|
+
}
|
|
105307
|
+
|
|
105308
|
+
//清空原来的按钮
|
|
105309
|
+
this.ClearAllButtons=function()
|
|
105302
105310
|
{
|
|
105303
105311
|
//清空原来的按钮
|
|
105304
105312
|
for(var i=0; i<this.AryButton.length; i++)
|
|
@@ -105309,24 +105317,75 @@ function JSDivFrameToolbar()
|
|
|
105309
105317
|
item.Span=null;
|
|
105310
105318
|
item.TooltipSpan=null;
|
|
105311
105319
|
}
|
|
105320
|
+
|
|
105312
105321
|
this.AryButton=[];
|
|
105322
|
+
}
|
|
105313
105323
|
|
|
105314
|
-
|
|
105315
|
-
|
|
105324
|
+
this.GetShowButtons=function(subFrame)
|
|
105325
|
+
{
|
|
105326
|
+
var frame=subFrame;
|
|
105327
|
+
if (!frame && this.FrameID>=0 && this.FrameID<this.HQChart.Frame.SubFrame.length)
|
|
105328
|
+
frame=this.HQChart.Frame.SubFrame[this.FrameID].Frame;
|
|
105329
|
+
|
|
105330
|
+
var aryDefaultButton=JSDivFrameToolbar.GetDfaultButtons();
|
|
105331
|
+
var aryButton=[];
|
|
105332
|
+
for(var i=0;i<aryDefaultButton.length; i++)
|
|
105316
105333
|
{
|
|
105317
|
-
var item=
|
|
105318
|
-
if (
|
|
105319
|
-
var newItem={ ID:item.ID, ClassName:item.ClassName, Span:null,Div:null, TooltipSpan:null };
|
|
105320
|
-
if (item.Tooltip && item.Tooltip.Text) newItem.Tooltip={ Text:item.Tooltip.Text };
|
|
105334
|
+
var item=aryDefaultButton[i];
|
|
105335
|
+
if (this.FrameID==0 && item.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW) continue; //第一个指标窗口不显示关闭按钮
|
|
105321
105336
|
|
|
105322
|
-
|
|
105337
|
+
if (item.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM && frame && frame.ModifyIndex===false) continue;
|
|
105338
|
+
if (item.ID==JSCHART_BUTTON_ID.CHANGE_INDEX && frame && frame.ChangeIndex===false) continue;
|
|
105339
|
+
if (item.ID==JSCHART_BUTTON_ID.OVERLAY_INDEX && frame && frame.OverlayIndex===false) continue;
|
|
105340
|
+
if (item.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW && frame && frame.CloseIndex===false) continue;
|
|
105323
105341
|
|
|
105324
|
-
|
|
105342
|
+
aryButton.push(item);
|
|
105325
105343
|
}
|
|
105326
105344
|
|
|
105345
|
+
return aryButton;
|
|
105346
|
+
}
|
|
105347
|
+
|
|
105348
|
+
this.SetToolbar=function(aryButton)
|
|
105349
|
+
{
|
|
105350
|
+
this.ClearAllButtons(); //清空原来的按钮
|
|
105351
|
+
|
|
105352
|
+
this.CreateArrayButton(aryButton); //重新创建
|
|
105353
|
+
|
|
105327
105354
|
this.UpdateStyle();
|
|
105328
105355
|
}
|
|
105329
105356
|
|
|
105357
|
+
this.UpdateButton=function()
|
|
105358
|
+
{
|
|
105359
|
+
if (!this.DivToolbar) return;
|
|
105360
|
+
|
|
105361
|
+
var aryButton=this.GetShowButtons();
|
|
105362
|
+
var bChange=false;
|
|
105363
|
+
if (aryButton.length!=this.AryButton.length)
|
|
105364
|
+
{
|
|
105365
|
+
bChange=true;
|
|
105366
|
+
}
|
|
105367
|
+
else
|
|
105368
|
+
{
|
|
105369
|
+
for(var i=0;i<this.AryButton.length;++i)
|
|
105370
|
+
{
|
|
105371
|
+
var leftItem=this.AryButton[i];
|
|
105372
|
+
var rightItem=aryButton[i];
|
|
105373
|
+
|
|
105374
|
+
if (leftItem.ID!=rightItem.ID || leftItem.ClassName!=rightItem.ClassName)
|
|
105375
|
+
{
|
|
105376
|
+
bChange=true;
|
|
105377
|
+
break;
|
|
105378
|
+
}
|
|
105379
|
+
}
|
|
105380
|
+
}
|
|
105381
|
+
|
|
105382
|
+
if (!bChange) return;
|
|
105383
|
+
|
|
105384
|
+
this.SetToolbar(aryButton); //重新设置按钮
|
|
105385
|
+
}
|
|
105386
|
+
|
|
105387
|
+
|
|
105388
|
+
|
|
105330
105389
|
this.Destroy=function()
|
|
105331
105390
|
{
|
|
105332
105391
|
if (this.DivToolbar)
|
|
@@ -105340,24 +105399,19 @@ function JSDivFrameToolbar()
|
|
|
105340
105399
|
this.FrameID=-1;
|
|
105341
105400
|
}
|
|
105342
105401
|
|
|
105343
|
-
this.Create=function()
|
|
105402
|
+
this.Create=function(frame)
|
|
105344
105403
|
{
|
|
105345
105404
|
var divToolbar=document.createElement("div");
|
|
105346
105405
|
divToolbar.className='UMyChart_FrameToolbar_Div';
|
|
105347
105406
|
divToolbar.id=this.ID;
|
|
105348
105407
|
divToolbar.oncontextmenu = function() { return false; }; //屏蔽右键系统菜单
|
|
105408
|
+
this.DivToolbar=divToolbar;
|
|
105349
105409
|
|
|
105350
|
-
|
|
105351
|
-
|
|
105352
|
-
var item=this.AryButton[i];
|
|
105353
|
-
if (this.FrameID==0 && item.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW) continue; //第一个指标窗口不显示关闭按钮
|
|
105354
|
-
this.CreateButton(item, divToolbar);
|
|
105355
|
-
}
|
|
105410
|
+
var aryButtons=this.GetShowButtons(frame);
|
|
105411
|
+
this.CreateArrayButton(aryButtons)
|
|
105356
105412
|
|
|
105357
105413
|
this.DivHQChart.appendChild(divToolbar);
|
|
105358
105414
|
|
|
105359
|
-
this.DivToolbar=divToolbar;
|
|
105360
|
-
|
|
105361
105415
|
this.UpdateStyle();
|
|
105362
105416
|
|
|
105363
105417
|
if (!this.HQChart.JSToolbarTooltip)
|
|
@@ -105483,6 +105537,32 @@ function JSDivFrameToolbar()
|
|
|
105483
105537
|
}
|
|
105484
105538
|
}
|
|
105485
105539
|
|
|
105540
|
+
JSDivFrameToolbar.GetDfaultButtons=function()
|
|
105541
|
+
{
|
|
105542
|
+
var aryButton=
|
|
105543
|
+
[
|
|
105544
|
+
|
|
105545
|
+
{
|
|
105546
|
+
ID:JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-index_param", Tooltip:{ Text:"修改参数"},
|
|
105547
|
+
Span:null, Div:null, TooltipSpan:null
|
|
105548
|
+
},
|
|
105549
|
+
{
|
|
105550
|
+
ID:JSCHART_BUTTON_ID.CHANGE_INDEX, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-change_index", Tooltip:{ Text:"切换指标"},
|
|
105551
|
+
Span:null,Div:null, TooltipSpan:null
|
|
105552
|
+
},
|
|
105553
|
+
{
|
|
105554
|
+
ID:JSCHART_BUTTON_ID.OVERLAY_INDEX, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-overlay_index", Tooltip:{ Text:"叠加指标"},
|
|
105555
|
+
Span:null,Div:null, TooltipSpan:null
|
|
105556
|
+
},
|
|
105557
|
+
{
|
|
105558
|
+
ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-close", Tooltip:{ Text:"关闭窗口"},
|
|
105559
|
+
Span:null,Div:null, TooltipSpan:null
|
|
105560
|
+
},
|
|
105561
|
+
];
|
|
105562
|
+
|
|
105563
|
+
return aryButton
|
|
105564
|
+
}
|
|
105565
|
+
|
|
105486
105566
|
|
|
105487
105567
|
function JSToolbarTooltip()
|
|
105488
105568
|
{
|
|
@@ -20314,7 +20314,7 @@ function AverageWidthFrame()
|
|
|
20314
20314
|
this.DivFrameToolbar.HQChart=hqchart;
|
|
20315
20315
|
this.DivFrameToolbar.DivHQChart=divHQChart;
|
|
20316
20316
|
this.DivFrameToolbar.FrameID=frameID;
|
|
20317
|
-
this.DivFrameToolbar.Create();
|
|
20317
|
+
this.DivFrameToolbar.Create(this);
|
|
20318
20318
|
}
|
|
20319
20319
|
}
|
|
20320
20320
|
|
|
@@ -70752,7 +70752,7 @@ function ChartDrawPictureHorizontalLine()
|
|
|
70752
70752
|
{
|
|
70753
70753
|
Left:{ IsShow:true, Margin:{ Left:5, Top:4, Bottom:2, Right:5 } },
|
|
70754
70754
|
Right:{ IsShow:true, Margin:{ Left:5, Top:4, Bottom:2, Right:5 } },
|
|
70755
|
-
Font:`${12*GetDevicePixelRatio()}px 微软雅黑`, TextColor:"rgb(255,255,255)"
|
|
70755
|
+
Font:`${12*GetDevicePixelRatio()}px 微软雅黑`, TextColor:"rgb(255,255,255)", BGColor:null
|
|
70756
70756
|
};
|
|
70757
70757
|
|
|
70758
70758
|
this.InsideLabelConfig=
|
|
@@ -70761,7 +70761,8 @@ function ChartDrawPictureHorizontalLine()
|
|
|
70761
70761
|
Font:`${14*GetDevicePixelRatio()}px 微软雅黑`,
|
|
70762
70762
|
Margin:{ Left:5, Top:4, Bottom:2, Right:5 },
|
|
70763
70763
|
TextColor:"rgb(255,255,255)",
|
|
70764
|
-
BGAlpha:0.8,
|
|
70764
|
+
BGAlpha:0.8, //背景色透明度,
|
|
70765
|
+
IsShow:true
|
|
70765
70766
|
}
|
|
70766
70767
|
|
|
70767
70768
|
this.LabelTitle;
|
|
@@ -70790,7 +70791,8 @@ function ChartDrawPictureHorizontalLine()
|
|
|
70790
70791
|
}
|
|
70791
70792
|
|
|
70792
70793
|
if (item.Font) this.LabelConfig.Font=item.Font;
|
|
70793
|
-
if (item.TextColor) this.LabelConfig.
|
|
70794
|
+
if (item.TextColor) this.LabelConfig.TextColor=item.TextColor;
|
|
70795
|
+
if (item.BGColor) this.LabelConfig.BGColor=item.BGColor;
|
|
70794
70796
|
}
|
|
70795
70797
|
|
|
70796
70798
|
if (option.InsideLabel)
|
|
@@ -70800,6 +70802,7 @@ function ChartDrawPictureHorizontalLine()
|
|
|
70800
70802
|
if (item.TextColor) this.InsideLabelConfig.TextColor=item.TextColor;
|
|
70801
70803
|
if (IFrameSplitOperator.IsNumber(item.Position)) this.InsideLabelConfig.Position=item.Position;
|
|
70802
70804
|
if (IFrameSplitOperator.IsNumber(item.BGAlpha)) this.InsideLabelConfig.BGAlpha=item.BGAlpha;
|
|
70805
|
+
if (IFrameSplitOperator.IsBool(item.IsShow)) this.InsideLabelConfig.IsShow=item.IsShow;
|
|
70803
70806
|
}
|
|
70804
70807
|
}
|
|
70805
70808
|
}
|
|
@@ -70811,6 +70814,8 @@ function ChartDrawPictureHorizontalLine()
|
|
|
70811
70814
|
{
|
|
70812
70815
|
storageData=this.Super_ExportStorageData();
|
|
70813
70816
|
if (this.LabelTitle) storageData.LabelTitle=this.LabelTitle;
|
|
70817
|
+
if (this.LabelConfig) storageData.Label=this.LabelConfig;
|
|
70818
|
+
if (this.InsideLabelConfig) storageData.InsideLabel=this.InsideLabelConfig;
|
|
70814
70819
|
}
|
|
70815
70820
|
|
|
70816
70821
|
return storageData;
|
|
@@ -70917,7 +70922,8 @@ function ChartDrawPictureHorizontalLine()
|
|
|
70917
70922
|
rtBG.Bottom=rtBG.Top+rtBG.Height;
|
|
70918
70923
|
rtBG.Left=rtBG.Right-rtBG.Width;
|
|
70919
70924
|
|
|
70920
|
-
this.Canvas.fillStyle=
|
|
70925
|
+
if (config.BGColor) this.Canvas.fillStyle=config.BGColor;
|
|
70926
|
+
else this.Canvas.fillStyle=this.LineColor;
|
|
70921
70927
|
this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
|
|
70922
70928
|
|
|
70923
70929
|
this.Canvas.textAlign="left";
|
|
@@ -70935,7 +70941,9 @@ function ChartDrawPictureHorizontalLine()
|
|
|
70935
70941
|
rtBG.Top=y-textHeight/2-margin.Top;
|
|
70936
70942
|
rtBG.Bottom=rtBG.Top+rtBG.Height;
|
|
70937
70943
|
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
70938
|
-
|
|
70944
|
+
|
|
70945
|
+
if (config.BGColor) this.Canvas.fillStyle=config.BGColor;
|
|
70946
|
+
else this.Canvas.fillStyle=this.LineColor;
|
|
70939
70947
|
this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
|
|
70940
70948
|
|
|
70941
70949
|
this.Canvas.textAlign="left";
|
|
@@ -70953,6 +70961,7 @@ function ChartDrawPictureHorizontalLine()
|
|
|
70953
70961
|
|
|
70954
70962
|
var isHScreen=this.Frame.IsHScreen;
|
|
70955
70963
|
var config=this.InsideLabelConfig;
|
|
70964
|
+
if (!config.IsShow) return;
|
|
70956
70965
|
if (config.Position!=0 && config.Position!=1) return;
|
|
70957
70966
|
var margin=config.Margin;
|
|
70958
70967
|
|
|
@@ -109374,27 +109383,26 @@ function JSDivFrameToolbar()
|
|
|
109374
109383
|
HoverColor:g_JSChartResource.DivFrameToolbar.Icon.HoverColor
|
|
109375
109384
|
}
|
|
109376
109385
|
|
|
109377
|
-
this.AryButton=
|
|
109378
|
-
[
|
|
109379
|
-
{
|
|
109380
|
-
ID:JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-index_param", Tooltip:{ Text:"修改参数"},
|
|
109381
|
-
Span:null, Div:null, TooltipSpan:null
|
|
109382
|
-
},
|
|
109383
|
-
{
|
|
109384
|
-
ID:JSCHART_BUTTON_ID.CHANGE_INDEX, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-change_index", Tooltip:{ Text:"切换指标"},
|
|
109385
|
-
Span:null,Div:null, TooltipSpan:null
|
|
109386
|
-
},
|
|
109387
|
-
{
|
|
109388
|
-
ID:JSCHART_BUTTON_ID.OVERLAY_INDEX, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-overlay_index", Tooltip:{ Text:"叠加指标"},
|
|
109389
|
-
Span:null,Div:null, TooltipSpan:null
|
|
109390
|
-
},
|
|
109391
|
-
{
|
|
109392
|
-
ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-close", Tooltip:{ Text:"关闭窗口"},
|
|
109393
|
-
Span:null,Div:null, TooltipSpan:null
|
|
109394
|
-
},
|
|
109395
|
-
];
|
|
109386
|
+
this.AryButton=[]; //按钮数组
|
|
109396
109387
|
|
|
109397
|
-
|
|
109388
|
+
//创建按钮
|
|
109389
|
+
this.CreateArrayButton=function(aryButton)
|
|
109390
|
+
{
|
|
109391
|
+
for(var i=0;i<aryButton.length; i++)
|
|
109392
|
+
{
|
|
109393
|
+
var item=aryButton[i];
|
|
109394
|
+
if (!item.ID || !item.ClassName) continue;
|
|
109395
|
+
var newItem={ ID:item.ID, ClassName:item.ClassName, Span:null,Div:null, TooltipSpan:null };
|
|
109396
|
+
if (item.Tooltip && item.Tooltip.Text) newItem.Tooltip={ Text:item.Tooltip.Text };
|
|
109397
|
+
|
|
109398
|
+
this.AryButton.push(newItem);
|
|
109399
|
+
|
|
109400
|
+
if (this.DivToolbar) this.CreateButton(newItem, this.DivToolbar);
|
|
109401
|
+
}
|
|
109402
|
+
}
|
|
109403
|
+
|
|
109404
|
+
//清空原来的按钮
|
|
109405
|
+
this.ClearAllButtons=function()
|
|
109398
109406
|
{
|
|
109399
109407
|
//清空原来的按钮
|
|
109400
109408
|
for(var i=0; i<this.AryButton.length; i++)
|
|
@@ -109405,24 +109413,75 @@ function JSDivFrameToolbar()
|
|
|
109405
109413
|
item.Span=null;
|
|
109406
109414
|
item.TooltipSpan=null;
|
|
109407
109415
|
}
|
|
109416
|
+
|
|
109408
109417
|
this.AryButton=[];
|
|
109418
|
+
}
|
|
109409
109419
|
|
|
109410
|
-
|
|
109411
|
-
|
|
109420
|
+
this.GetShowButtons=function(subFrame)
|
|
109421
|
+
{
|
|
109422
|
+
var frame=subFrame;
|
|
109423
|
+
if (!frame && this.FrameID>=0 && this.FrameID<this.HQChart.Frame.SubFrame.length)
|
|
109424
|
+
frame=this.HQChart.Frame.SubFrame[this.FrameID].Frame;
|
|
109425
|
+
|
|
109426
|
+
var aryDefaultButton=JSDivFrameToolbar.GetDfaultButtons();
|
|
109427
|
+
var aryButton=[];
|
|
109428
|
+
for(var i=0;i<aryDefaultButton.length; i++)
|
|
109412
109429
|
{
|
|
109413
|
-
var item=
|
|
109414
|
-
if (
|
|
109415
|
-
var newItem={ ID:item.ID, ClassName:item.ClassName, Span:null,Div:null, TooltipSpan:null };
|
|
109416
|
-
if (item.Tooltip && item.Tooltip.Text) newItem.Tooltip={ Text:item.Tooltip.Text };
|
|
109430
|
+
var item=aryDefaultButton[i];
|
|
109431
|
+
if (this.FrameID==0 && item.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW) continue; //第一个指标窗口不显示关闭按钮
|
|
109417
109432
|
|
|
109418
|
-
|
|
109433
|
+
if (item.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM && frame && frame.ModifyIndex===false) continue;
|
|
109434
|
+
if (item.ID==JSCHART_BUTTON_ID.CHANGE_INDEX && frame && frame.ChangeIndex===false) continue;
|
|
109435
|
+
if (item.ID==JSCHART_BUTTON_ID.OVERLAY_INDEX && frame && frame.OverlayIndex===false) continue;
|
|
109436
|
+
if (item.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW && frame && frame.CloseIndex===false) continue;
|
|
109419
109437
|
|
|
109420
|
-
|
|
109438
|
+
aryButton.push(item);
|
|
109421
109439
|
}
|
|
109422
109440
|
|
|
109441
|
+
return aryButton;
|
|
109442
|
+
}
|
|
109443
|
+
|
|
109444
|
+
this.SetToolbar=function(aryButton)
|
|
109445
|
+
{
|
|
109446
|
+
this.ClearAllButtons(); //清空原来的按钮
|
|
109447
|
+
|
|
109448
|
+
this.CreateArrayButton(aryButton); //重新创建
|
|
109449
|
+
|
|
109423
109450
|
this.UpdateStyle();
|
|
109424
109451
|
}
|
|
109425
109452
|
|
|
109453
|
+
this.UpdateButton=function()
|
|
109454
|
+
{
|
|
109455
|
+
if (!this.DivToolbar) return;
|
|
109456
|
+
|
|
109457
|
+
var aryButton=this.GetShowButtons();
|
|
109458
|
+
var bChange=false;
|
|
109459
|
+
if (aryButton.length!=this.AryButton.length)
|
|
109460
|
+
{
|
|
109461
|
+
bChange=true;
|
|
109462
|
+
}
|
|
109463
|
+
else
|
|
109464
|
+
{
|
|
109465
|
+
for(var i=0;i<this.AryButton.length;++i)
|
|
109466
|
+
{
|
|
109467
|
+
var leftItem=this.AryButton[i];
|
|
109468
|
+
var rightItem=aryButton[i];
|
|
109469
|
+
|
|
109470
|
+
if (leftItem.ID!=rightItem.ID || leftItem.ClassName!=rightItem.ClassName)
|
|
109471
|
+
{
|
|
109472
|
+
bChange=true;
|
|
109473
|
+
break;
|
|
109474
|
+
}
|
|
109475
|
+
}
|
|
109476
|
+
}
|
|
109477
|
+
|
|
109478
|
+
if (!bChange) return;
|
|
109479
|
+
|
|
109480
|
+
this.SetToolbar(aryButton); //重新设置按钮
|
|
109481
|
+
}
|
|
109482
|
+
|
|
109483
|
+
|
|
109484
|
+
|
|
109426
109485
|
this.Destroy=function()
|
|
109427
109486
|
{
|
|
109428
109487
|
if (this.DivToolbar)
|
|
@@ -109436,24 +109495,19 @@ function JSDivFrameToolbar()
|
|
|
109436
109495
|
this.FrameID=-1;
|
|
109437
109496
|
}
|
|
109438
109497
|
|
|
109439
|
-
this.Create=function()
|
|
109498
|
+
this.Create=function(frame)
|
|
109440
109499
|
{
|
|
109441
109500
|
var divToolbar=document.createElement("div");
|
|
109442
109501
|
divToolbar.className='UMyChart_FrameToolbar_Div';
|
|
109443
109502
|
divToolbar.id=this.ID;
|
|
109444
109503
|
divToolbar.oncontextmenu = function() { return false; }; //屏蔽右键系统菜单
|
|
109504
|
+
this.DivToolbar=divToolbar;
|
|
109445
109505
|
|
|
109446
|
-
|
|
109447
|
-
|
|
109448
|
-
var item=this.AryButton[i];
|
|
109449
|
-
if (this.FrameID==0 && item.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW) continue; //第一个指标窗口不显示关闭按钮
|
|
109450
|
-
this.CreateButton(item, divToolbar);
|
|
109451
|
-
}
|
|
109506
|
+
var aryButtons=this.GetShowButtons(frame);
|
|
109507
|
+
this.CreateArrayButton(aryButtons)
|
|
109452
109508
|
|
|
109453
109509
|
this.DivHQChart.appendChild(divToolbar);
|
|
109454
109510
|
|
|
109455
|
-
this.DivToolbar=divToolbar;
|
|
109456
|
-
|
|
109457
109511
|
this.UpdateStyle();
|
|
109458
109512
|
|
|
109459
109513
|
if (!this.HQChart.JSToolbarTooltip)
|
|
@@ -109579,6 +109633,32 @@ function JSDivFrameToolbar()
|
|
|
109579
109633
|
}
|
|
109580
109634
|
}
|
|
109581
109635
|
|
|
109636
|
+
JSDivFrameToolbar.GetDfaultButtons=function()
|
|
109637
|
+
{
|
|
109638
|
+
var aryButton=
|
|
109639
|
+
[
|
|
109640
|
+
|
|
109641
|
+
{
|
|
109642
|
+
ID:JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-index_param", Tooltip:{ Text:"修改参数"},
|
|
109643
|
+
Span:null, Div:null, TooltipSpan:null
|
|
109644
|
+
},
|
|
109645
|
+
{
|
|
109646
|
+
ID:JSCHART_BUTTON_ID.CHANGE_INDEX, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-change_index", Tooltip:{ Text:"切换指标"},
|
|
109647
|
+
Span:null,Div:null, TooltipSpan:null
|
|
109648
|
+
},
|
|
109649
|
+
{
|
|
109650
|
+
ID:JSCHART_BUTTON_ID.OVERLAY_INDEX, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-overlay_index", Tooltip:{ Text:"叠加指标"},
|
|
109651
|
+
Span:null,Div:null, TooltipSpan:null
|
|
109652
|
+
},
|
|
109653
|
+
{
|
|
109654
|
+
ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-close", Tooltip:{ Text:"关闭窗口"},
|
|
109655
|
+
Span:null,Div:null, TooltipSpan:null
|
|
109656
|
+
},
|
|
109657
|
+
];
|
|
109658
|
+
|
|
109659
|
+
return aryButton
|
|
109660
|
+
}
|
|
109661
|
+
|
|
109582
109662
|
|
|
109583
109663
|
function JSToolbarTooltip()
|
|
109584
109664
|
{
|
|
@@ -153619,7 +153699,7 @@ function ScrollBarBGChart()
|
|
|
153619
153699
|
|
|
153620
153700
|
|
|
153621
153701
|
|
|
153622
|
-
var HQCHART_VERSION="1.1.
|
|
153702
|
+
var HQCHART_VERSION="1.1.15069";
|
|
153623
153703
|
|
|
153624
153704
|
function PrintHQChartVersion()
|
|
153625
153705
|
{
|
|
@@ -20358,7 +20358,7 @@ function AverageWidthFrame()
|
|
|
20358
20358
|
this.DivFrameToolbar.HQChart=hqchart;
|
|
20359
20359
|
this.DivFrameToolbar.DivHQChart=divHQChart;
|
|
20360
20360
|
this.DivFrameToolbar.FrameID=frameID;
|
|
20361
|
-
this.DivFrameToolbar.Create();
|
|
20361
|
+
this.DivFrameToolbar.Create(this);
|
|
20362
20362
|
}
|
|
20363
20363
|
}
|
|
20364
20364
|
|
|
@@ -70796,7 +70796,7 @@ function ChartDrawPictureHorizontalLine()
|
|
|
70796
70796
|
{
|
|
70797
70797
|
Left:{ IsShow:true, Margin:{ Left:5, Top:4, Bottom:2, Right:5 } },
|
|
70798
70798
|
Right:{ IsShow:true, Margin:{ Left:5, Top:4, Bottom:2, Right:5 } },
|
|
70799
|
-
Font:`${12*GetDevicePixelRatio()}px 微软雅黑`, TextColor:"rgb(255,255,255)"
|
|
70799
|
+
Font:`${12*GetDevicePixelRatio()}px 微软雅黑`, TextColor:"rgb(255,255,255)", BGColor:null
|
|
70800
70800
|
};
|
|
70801
70801
|
|
|
70802
70802
|
this.InsideLabelConfig=
|
|
@@ -70805,7 +70805,8 @@ function ChartDrawPictureHorizontalLine()
|
|
|
70805
70805
|
Font:`${14*GetDevicePixelRatio()}px 微软雅黑`,
|
|
70806
70806
|
Margin:{ Left:5, Top:4, Bottom:2, Right:5 },
|
|
70807
70807
|
TextColor:"rgb(255,255,255)",
|
|
70808
|
-
BGAlpha:0.8,
|
|
70808
|
+
BGAlpha:0.8, //背景色透明度,
|
|
70809
|
+
IsShow:true
|
|
70809
70810
|
}
|
|
70810
70811
|
|
|
70811
70812
|
this.LabelTitle;
|
|
@@ -70834,7 +70835,8 @@ function ChartDrawPictureHorizontalLine()
|
|
|
70834
70835
|
}
|
|
70835
70836
|
|
|
70836
70837
|
if (item.Font) this.LabelConfig.Font=item.Font;
|
|
70837
|
-
if (item.TextColor) this.LabelConfig.
|
|
70838
|
+
if (item.TextColor) this.LabelConfig.TextColor=item.TextColor;
|
|
70839
|
+
if (item.BGColor) this.LabelConfig.BGColor=item.BGColor;
|
|
70838
70840
|
}
|
|
70839
70841
|
|
|
70840
70842
|
if (option.InsideLabel)
|
|
@@ -70844,6 +70846,7 @@ function ChartDrawPictureHorizontalLine()
|
|
|
70844
70846
|
if (item.TextColor) this.InsideLabelConfig.TextColor=item.TextColor;
|
|
70845
70847
|
if (IFrameSplitOperator.IsNumber(item.Position)) this.InsideLabelConfig.Position=item.Position;
|
|
70846
70848
|
if (IFrameSplitOperator.IsNumber(item.BGAlpha)) this.InsideLabelConfig.BGAlpha=item.BGAlpha;
|
|
70849
|
+
if (IFrameSplitOperator.IsBool(item.IsShow)) this.InsideLabelConfig.IsShow=item.IsShow;
|
|
70847
70850
|
}
|
|
70848
70851
|
}
|
|
70849
70852
|
}
|
|
@@ -70855,6 +70858,8 @@ function ChartDrawPictureHorizontalLine()
|
|
|
70855
70858
|
{
|
|
70856
70859
|
storageData=this.Super_ExportStorageData();
|
|
70857
70860
|
if (this.LabelTitle) storageData.LabelTitle=this.LabelTitle;
|
|
70861
|
+
if (this.LabelConfig) storageData.Label=this.LabelConfig;
|
|
70862
|
+
if (this.InsideLabelConfig) storageData.InsideLabel=this.InsideLabelConfig;
|
|
70858
70863
|
}
|
|
70859
70864
|
|
|
70860
70865
|
return storageData;
|
|
@@ -70961,7 +70966,8 @@ function ChartDrawPictureHorizontalLine()
|
|
|
70961
70966
|
rtBG.Bottom=rtBG.Top+rtBG.Height;
|
|
70962
70967
|
rtBG.Left=rtBG.Right-rtBG.Width;
|
|
70963
70968
|
|
|
70964
|
-
this.Canvas.fillStyle=
|
|
70969
|
+
if (config.BGColor) this.Canvas.fillStyle=config.BGColor;
|
|
70970
|
+
else this.Canvas.fillStyle=this.LineColor;
|
|
70965
70971
|
this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
|
|
70966
70972
|
|
|
70967
70973
|
this.Canvas.textAlign="left";
|
|
@@ -70979,7 +70985,9 @@ function ChartDrawPictureHorizontalLine()
|
|
|
70979
70985
|
rtBG.Top=y-textHeight/2-margin.Top;
|
|
70980
70986
|
rtBG.Bottom=rtBG.Top+rtBG.Height;
|
|
70981
70987
|
rtBG.Right=rtBG.Left+rtBG.Width;
|
|
70982
|
-
|
|
70988
|
+
|
|
70989
|
+
if (config.BGColor) this.Canvas.fillStyle=config.BGColor;
|
|
70990
|
+
else this.Canvas.fillStyle=this.LineColor;
|
|
70983
70991
|
this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
|
|
70984
70992
|
|
|
70985
70993
|
this.Canvas.textAlign="left";
|
|
@@ -70997,6 +71005,7 @@ function ChartDrawPictureHorizontalLine()
|
|
|
70997
71005
|
|
|
70998
71006
|
var isHScreen=this.Frame.IsHScreen;
|
|
70999
71007
|
var config=this.InsideLabelConfig;
|
|
71008
|
+
if (!config.IsShow) return;
|
|
71000
71009
|
if (config.Position!=0 && config.Position!=1) return;
|
|
71001
71010
|
var margin=config.Margin;
|
|
71002
71011
|
|
|
@@ -109418,27 +109427,26 @@ function JSDivFrameToolbar()
|
|
|
109418
109427
|
HoverColor:g_JSChartResource.DivFrameToolbar.Icon.HoverColor
|
|
109419
109428
|
}
|
|
109420
109429
|
|
|
109421
|
-
this.AryButton=
|
|
109422
|
-
[
|
|
109423
|
-
{
|
|
109424
|
-
ID:JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-index_param", Tooltip:{ Text:"修改参数"},
|
|
109425
|
-
Span:null, Div:null, TooltipSpan:null
|
|
109426
|
-
},
|
|
109427
|
-
{
|
|
109428
|
-
ID:JSCHART_BUTTON_ID.CHANGE_INDEX, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-change_index", Tooltip:{ Text:"切换指标"},
|
|
109429
|
-
Span:null,Div:null, TooltipSpan:null
|
|
109430
|
-
},
|
|
109431
|
-
{
|
|
109432
|
-
ID:JSCHART_BUTTON_ID.OVERLAY_INDEX, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-overlay_index", Tooltip:{ Text:"叠加指标"},
|
|
109433
|
-
Span:null,Div:null, TooltipSpan:null
|
|
109434
|
-
},
|
|
109435
|
-
{
|
|
109436
|
-
ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-close", Tooltip:{ Text:"关闭窗口"},
|
|
109437
|
-
Span:null,Div:null, TooltipSpan:null
|
|
109438
|
-
},
|
|
109439
|
-
];
|
|
109430
|
+
this.AryButton=[]; //按钮数组
|
|
109440
109431
|
|
|
109441
|
-
|
|
109432
|
+
//创建按钮
|
|
109433
|
+
this.CreateArrayButton=function(aryButton)
|
|
109434
|
+
{
|
|
109435
|
+
for(var i=0;i<aryButton.length; i++)
|
|
109436
|
+
{
|
|
109437
|
+
var item=aryButton[i];
|
|
109438
|
+
if (!item.ID || !item.ClassName) continue;
|
|
109439
|
+
var newItem={ ID:item.ID, ClassName:item.ClassName, Span:null,Div:null, TooltipSpan:null };
|
|
109440
|
+
if (item.Tooltip && item.Tooltip.Text) newItem.Tooltip={ Text:item.Tooltip.Text };
|
|
109441
|
+
|
|
109442
|
+
this.AryButton.push(newItem);
|
|
109443
|
+
|
|
109444
|
+
if (this.DivToolbar) this.CreateButton(newItem, this.DivToolbar);
|
|
109445
|
+
}
|
|
109446
|
+
}
|
|
109447
|
+
|
|
109448
|
+
//清空原来的按钮
|
|
109449
|
+
this.ClearAllButtons=function()
|
|
109442
109450
|
{
|
|
109443
109451
|
//清空原来的按钮
|
|
109444
109452
|
for(var i=0; i<this.AryButton.length; i++)
|
|
@@ -109449,24 +109457,75 @@ function JSDivFrameToolbar()
|
|
|
109449
109457
|
item.Span=null;
|
|
109450
109458
|
item.TooltipSpan=null;
|
|
109451
109459
|
}
|
|
109460
|
+
|
|
109452
109461
|
this.AryButton=[];
|
|
109462
|
+
}
|
|
109453
109463
|
|
|
109454
|
-
|
|
109455
|
-
|
|
109464
|
+
this.GetShowButtons=function(subFrame)
|
|
109465
|
+
{
|
|
109466
|
+
var frame=subFrame;
|
|
109467
|
+
if (!frame && this.FrameID>=0 && this.FrameID<this.HQChart.Frame.SubFrame.length)
|
|
109468
|
+
frame=this.HQChart.Frame.SubFrame[this.FrameID].Frame;
|
|
109469
|
+
|
|
109470
|
+
var aryDefaultButton=JSDivFrameToolbar.GetDfaultButtons();
|
|
109471
|
+
var aryButton=[];
|
|
109472
|
+
for(var i=0;i<aryDefaultButton.length; i++)
|
|
109456
109473
|
{
|
|
109457
|
-
var item=
|
|
109458
|
-
if (
|
|
109459
|
-
var newItem={ ID:item.ID, ClassName:item.ClassName, Span:null,Div:null, TooltipSpan:null };
|
|
109460
|
-
if (item.Tooltip && item.Tooltip.Text) newItem.Tooltip={ Text:item.Tooltip.Text };
|
|
109474
|
+
var item=aryDefaultButton[i];
|
|
109475
|
+
if (this.FrameID==0 && item.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW) continue; //第一个指标窗口不显示关闭按钮
|
|
109461
109476
|
|
|
109462
|
-
|
|
109477
|
+
if (item.ID==JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM && frame && frame.ModifyIndex===false) continue;
|
|
109478
|
+
if (item.ID==JSCHART_BUTTON_ID.CHANGE_INDEX && frame && frame.ChangeIndex===false) continue;
|
|
109479
|
+
if (item.ID==JSCHART_BUTTON_ID.OVERLAY_INDEX && frame && frame.OverlayIndex===false) continue;
|
|
109480
|
+
if (item.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW && frame && frame.CloseIndex===false) continue;
|
|
109463
109481
|
|
|
109464
|
-
|
|
109482
|
+
aryButton.push(item);
|
|
109465
109483
|
}
|
|
109466
109484
|
|
|
109485
|
+
return aryButton;
|
|
109486
|
+
}
|
|
109487
|
+
|
|
109488
|
+
this.SetToolbar=function(aryButton)
|
|
109489
|
+
{
|
|
109490
|
+
this.ClearAllButtons(); //清空原来的按钮
|
|
109491
|
+
|
|
109492
|
+
this.CreateArrayButton(aryButton); //重新创建
|
|
109493
|
+
|
|
109467
109494
|
this.UpdateStyle();
|
|
109468
109495
|
}
|
|
109469
109496
|
|
|
109497
|
+
this.UpdateButton=function()
|
|
109498
|
+
{
|
|
109499
|
+
if (!this.DivToolbar) return;
|
|
109500
|
+
|
|
109501
|
+
var aryButton=this.GetShowButtons();
|
|
109502
|
+
var bChange=false;
|
|
109503
|
+
if (aryButton.length!=this.AryButton.length)
|
|
109504
|
+
{
|
|
109505
|
+
bChange=true;
|
|
109506
|
+
}
|
|
109507
|
+
else
|
|
109508
|
+
{
|
|
109509
|
+
for(var i=0;i<this.AryButton.length;++i)
|
|
109510
|
+
{
|
|
109511
|
+
var leftItem=this.AryButton[i];
|
|
109512
|
+
var rightItem=aryButton[i];
|
|
109513
|
+
|
|
109514
|
+
if (leftItem.ID!=rightItem.ID || leftItem.ClassName!=rightItem.ClassName)
|
|
109515
|
+
{
|
|
109516
|
+
bChange=true;
|
|
109517
|
+
break;
|
|
109518
|
+
}
|
|
109519
|
+
}
|
|
109520
|
+
}
|
|
109521
|
+
|
|
109522
|
+
if (!bChange) return;
|
|
109523
|
+
|
|
109524
|
+
this.SetToolbar(aryButton); //重新设置按钮
|
|
109525
|
+
}
|
|
109526
|
+
|
|
109527
|
+
|
|
109528
|
+
|
|
109470
109529
|
this.Destroy=function()
|
|
109471
109530
|
{
|
|
109472
109531
|
if (this.DivToolbar)
|
|
@@ -109480,24 +109539,19 @@ function JSDivFrameToolbar()
|
|
|
109480
109539
|
this.FrameID=-1;
|
|
109481
109540
|
}
|
|
109482
109541
|
|
|
109483
|
-
this.Create=function()
|
|
109542
|
+
this.Create=function(frame)
|
|
109484
109543
|
{
|
|
109485
109544
|
var divToolbar=document.createElement("div");
|
|
109486
109545
|
divToolbar.className='UMyChart_FrameToolbar_Div';
|
|
109487
109546
|
divToolbar.id=this.ID;
|
|
109488
109547
|
divToolbar.oncontextmenu = function() { return false; }; //屏蔽右键系统菜单
|
|
109548
|
+
this.DivToolbar=divToolbar;
|
|
109489
109549
|
|
|
109490
|
-
|
|
109491
|
-
|
|
109492
|
-
var item=this.AryButton[i];
|
|
109493
|
-
if (this.FrameID==0 && item.ID==JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW) continue; //第一个指标窗口不显示关闭按钮
|
|
109494
|
-
this.CreateButton(item, divToolbar);
|
|
109495
|
-
}
|
|
109550
|
+
var aryButtons=this.GetShowButtons(frame);
|
|
109551
|
+
this.CreateArrayButton(aryButtons)
|
|
109496
109552
|
|
|
109497
109553
|
this.DivHQChart.appendChild(divToolbar);
|
|
109498
109554
|
|
|
109499
|
-
this.DivToolbar=divToolbar;
|
|
109500
|
-
|
|
109501
109555
|
this.UpdateStyle();
|
|
109502
109556
|
|
|
109503
109557
|
if (!this.HQChart.JSToolbarTooltip)
|
|
@@ -109623,6 +109677,32 @@ function JSDivFrameToolbar()
|
|
|
109623
109677
|
}
|
|
109624
109678
|
}
|
|
109625
109679
|
|
|
109680
|
+
JSDivFrameToolbar.GetDfaultButtons=function()
|
|
109681
|
+
{
|
|
109682
|
+
var aryButton=
|
|
109683
|
+
[
|
|
109684
|
+
|
|
109685
|
+
{
|
|
109686
|
+
ID:JSCHART_BUTTON_ID.MODIFY_INDEX_PARAM, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-index_param", Tooltip:{ Text:"修改参数"},
|
|
109687
|
+
Span:null, Div:null, TooltipSpan:null
|
|
109688
|
+
},
|
|
109689
|
+
{
|
|
109690
|
+
ID:JSCHART_BUTTON_ID.CHANGE_INDEX, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-change_index", Tooltip:{ Text:"切换指标"},
|
|
109691
|
+
Span:null,Div:null, TooltipSpan:null
|
|
109692
|
+
},
|
|
109693
|
+
{
|
|
109694
|
+
ID:JSCHART_BUTTON_ID.OVERLAY_INDEX, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-overlay_index", Tooltip:{ Text:"叠加指标"},
|
|
109695
|
+
Span:null,Div:null, TooltipSpan:null
|
|
109696
|
+
},
|
|
109697
|
+
{
|
|
109698
|
+
ID:JSCHART_BUTTON_ID.CLOSE_INDEX_WINDOW, ClassName:"UMyChart_FrameToolbar_Span_Button icon iconfont icon-close", Tooltip:{ Text:"关闭窗口"},
|
|
109699
|
+
Span:null,Div:null, TooltipSpan:null
|
|
109700
|
+
},
|
|
109701
|
+
];
|
|
109702
|
+
|
|
109703
|
+
return aryButton
|
|
109704
|
+
}
|
|
109705
|
+
|
|
109626
109706
|
|
|
109627
109707
|
function JSToolbarTooltip()
|
|
109628
109708
|
{
|
|
@@ -165499,7 +165579,7 @@ function HQChartScriptWorker()
|
|
|
165499
165579
|
|
|
165500
165580
|
|
|
165501
165581
|
|
|
165502
|
-
var HQCHART_VERSION="1.1.
|
|
165582
|
+
var HQCHART_VERSION="1.1.15069";
|
|
165503
165583
|
|
|
165504
165584
|
function PrintHQChartVersion()
|
|
165505
165585
|
{
|