hqchart 1.1.14133 → 1.1.14143

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.
@@ -1175,7 +1175,8 @@ option.CorssCursor={};option.CorssCursor.TitleHeight=chart.ChartCorssCursor.Text
1175
1175
  }if(item.IsShowRightText===false||item.IsShowRightText===true){chart.Frame.SubFrame[i].Frame.IsShowYText[1]=item.IsShowRightText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowRightText=item.IsShowRightText;//显示右边刻度
1176
1176
  }if(item.TopSpace>=0)chart.Frame.SubFrame[i].Frame.ChartBorder.TopSpace=item.TopSpace*pixelRatio;if(item.BottomSpace>=0)chart.Frame.SubFrame[i].Frame.ChartBorder.BottomSpace=item.BottomSpace*pixelRatio;if(item.RightTextPosition>0)chart.Frame.SubFrame[i].Frame.YTextPosition[1]=item.RightTextPosition;if(item.LeftTextPosition>0)chart.Frame.SubFrame[i].Frame.YTextPosition[0]=item.LeftTextPosition;if(item.IsShowXLine==false)chart.Frame.SubFrame[i].Frame.IsShowXLine=item.IsShowXLine;if(item.IsShowYLine==false)chart.Frame.SubFrame[i].Frame.IsShowYLine=item.IsShowYLine;if(IFrameSplitOperator.IsNumber(item.YTextBaseline))chart.Frame.SubFrame[i].Frame.YTextBaseline=item.YTextBaseline;if(item.YCoordinateType>0)chart.Frame.SubFrame[0].Frame.YSplitOperator.CoordinateType=item.YCoordinateType;if(item.IsYReverse==true)chart.Frame.SubFrame[0].Frame.CoordinateType=1;//反转坐标
1177
1177
  if(IFrameSplitOperator.IsNumber(item.PercentageTextFormat))subFrame.YSplitOperator.PercentageTextFormat=item.PercentageTextFormat;//百分比坐标格式
1178
- if(item.DefaultYMaxMin)chart.Frame.SubFrame[i].Frame.YSplitOperator.DefaultYMaxMin=item.DefaultYMaxMin;if(IFrameSplitOperator.IsBool(item.EnableRemoveZero))chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;if(IFrameSplitOperator.IsPlusNumber(item.MinYDistance))chart.Frame.SubFrame[i].Frame.MinYDistance=item.MinYDistance;if(IFrameSplitOperator.IsNumber(item.BorderLine))chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;if(IFrameSplitOperator.IsBool(item.IsShowIndexTitle))chart.Frame.SubFrame[i].Frame.IsShowIndexTitle=item.IsShowIndexTitle;if(IFrameSplitOperator.IsBool(item.IsDrawTitleBottomLine))subFrame.IsDrawTitleBottomLine=item.IsDrawTitleBottomLine;if(IFrameSplitOperator.IsBool(item.IsShowNameArrow))chart.Frame.SubFrame[i].Frame.IsShowNameArrow=item.IsShowNameArrow;if(item.ClientBGColor)subFrame.ClientBGColor=item.ClientBGColor;}}if(option.KLine){var item=option.KLine;var klineChart=chart.ChartPaint[0];if(option.KLine.ShowKLine==false)klineChart.IsShow=false;if(option.KLine.InfoPosition>0)klineChart.InfoPosition=option.KLine.InfoPosition;if(IFrameSplitOperator.IsBool(item.IsShowMaxMinPrice))klineChart.IsShowMaxMinPrice=item.IsShowMaxMinPrice;if(IFrameSplitOperator.IsNumber(item.OneLimitBarType))klineChart.OneLimitBarType=item.OneLimitBarType;if(item.PriceGap){if(IFrameSplitOperator.IsBool(item.PriceGap.Enable))klineChart.PriceGap.Enable=item.PriceGap.Enable;if(IFrameSplitOperator.IsNumber(item.PriceGap.Count))klineChart.PriceGap.Count=item.PriceGap.Count;}}if(option.KLineTitle){var item=option.KLineTitle;if(option.KLineTitle.IsShowName==false)chart.TitlePaint[0].IsShowName=false;if(option.KLineTitle.IsShowSettingInfo==false)chart.TitlePaint[0].IsShowSettingInfo=false;if(option.KLineTitle.IsShow==false)chart.TitlePaint[0].IsShow=false;if(IFrameSplitOperator.IsBool(item.IsTitleShowLatestData))chart.IsTitleShowLatestData=item.IsTitleShowLatestData;}//叠加股票
1178
+ if(item.DefaultYMaxMin)chart.Frame.SubFrame[i].Frame.YSplitOperator.DefaultYMaxMin=item.DefaultYMaxMin;if(IFrameSplitOperator.IsBool(item.EnableRemoveZero))chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;if(IFrameSplitOperator.IsPlusNumber(item.MinYDistance))chart.Frame.SubFrame[i].Frame.MinYDistance=item.MinYDistance;if(IFrameSplitOperator.IsNumber(item.BorderLine))chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;if(IFrameSplitOperator.IsBool(item.IsShowIndexTitle))chart.Frame.SubFrame[i].Frame.IsShowIndexTitle=item.IsShowIndexTitle;if(IFrameSplitOperator.IsBool(item.IsDrawTitleBottomLine))subFrame.IsDrawTitleBottomLine=item.IsDrawTitleBottomLine;if(IFrameSplitOperator.IsBool(item.IsShowNameArrow))chart.Frame.SubFrame[i].Frame.IsShowNameArrow=item.IsShowNameArrow;if(item.ClientBGColor)subFrame.ClientBGColor=item.ClientBGColor;}}if(option.KLine){var item=option.KLine;var klineChart=chart.ChartPaint[0];if(option.KLine.ShowKLine==false)klineChart.IsShow=false;if(option.KLine.InfoPosition>0)klineChart.InfoPosition=option.KLine.InfoPosition;if(IFrameSplitOperator.IsBool(item.IsShowMaxMinPrice))klineChart.IsShowMaxMinPrice=item.IsShowMaxMinPrice;if(IFrameSplitOperator.IsNumber(item.OneLimitBarType))klineChart.OneLimitBarType=item.OneLimitBarType;if(item.PriceGap){if(IFrameSplitOperator.IsBool(item.PriceGap.Enable))klineChart.PriceGap.Enable=item.PriceGap.Enable;if(IFrameSplitOperator.IsNumber(item.PriceGap.Count))klineChart.PriceGap.Count=item.PriceGap.Count;}}if(option.KLineTitle){var item=option.KLineTitle;var chartTitle=chart.TitlePaint[0];if(option.KLineTitle.IsShowName==false)chart.TitlePaint[0].IsShowName=false;if(option.KLineTitle.IsShowSettingInfo==false)chart.TitlePaint[0].IsShowSettingInfo=false;if(option.KLineTitle.IsShow==false)chart.TitlePaint[0].IsShow=false;if(IFrameSplitOperator.IsBool(item.IsTitleShowLatestData))chart.IsTitleShowLatestData=item.IsTitleShowLatestData;if(item.ShowPostion)//显示位置高级配置
1179
+ {var subItem=item.ShowPostion;if(!chartTitle.ShowPositionConfig)chartTitle.ShowPositionConfig={Margin:{}};if(IFrameSplitOperator.IsNumber(subItem.Type))chartTitle.ShowPositionConfig.Type=subItem.Type;if(subItem.Margin){if(IFrameSplitOperator.IsNumber(subItem.Margin.Left))chartTitle.ShowPositionConfig.Margin.Left=subItem.Margin.Left;if(IFrameSplitOperator.IsNumber(subItem.Margin.Right))chartTitle.ShowPositionConfig.Margin.Right=subItem.Margin.Right;if(IFrameSplitOperator.IsNumber(subItem.Margin.Bottom))chartTitle.ShowPositionConfig.Margin.Bottom=subItem.Margin.Bottom;}}}//叠加股票
1179
1180
  if(option.Overlay){for(var i=0;i<option.Overlay.length;++i){var item=option.Overlay[i];chart.OverlaySymbol(item.Symbol,item);}}if(option.ExtendChart){for(var i=0;i<option.ExtendChart.length;++i){var item=option.ExtendChart[i];chart.CreateExtendChart(item.Name,item);}}//创建子窗口的指标
1180
1181
  var scriptData=new JSIndexScript();if(option.ColorIndex)//五彩K线
1181
1182
  {var item=option.ColorIndex;var indexInfo=scriptData.Get(item.Index);if(indexInfo){indexInfo.ID=item.Index;chart.ColorIndex=new ScriptIndex(indexInfo.Name,indexInfo.Script,indexInfo.Args,indexInfo);//脚本执行
@@ -1214,7 +1215,8 @@ if(IFrameSplitOperator.IsBool(option.CorssCursorInfo.IsFixXLastTime))chart.Chart
1214
1215
  }if(item.Height>=0)chart.Frame.SubFrame[i].Height=item.Height;if(item.Custom)chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;if(item.RightTextFormat>0)chart.Frame.SubFrame[i].Frame.YSplitOperator.RightTextFormat=item.RightTextFormat;if(IFrameSplitOperator.IsNumber(item.TitleHeight))chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;if(IFrameSplitOperator.IsNumber(item.BorderLine))chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;if(IFrameSplitOperator.IsBool(item.EnableRemoveZero))chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;if(IFrameSplitOperator.IsNumber(item.FloatPrecision))chart.Frame.SubFrame[i].Frame.YSplitOperator.FloatPrecision=item.FloatPrecision;if(IFrameSplitOperator.IsBool(item.IsShowXLine))chart.Frame.SubFrame[i].Frame.IsShowXLine=item.IsShowXLine;if(IFrameSplitOperator.IsBool(item.IsShowYLine))chart.Frame.SubFrame[i].Frame.IsShowYLine=item.IsShowYLine;if(IFrameSplitOperator.IsNumber(item.YTextBaseline))chart.Frame.SubFrame[i].Frame.YTextBaseline=item.YTextBaseline;if(IFrameSplitOperator.IsBool(item.IsShowIndexTitle))chart.Frame.SubFrame[i].Frame.IsShowIndexTitle=item.IsShowIndexTitle;if(item.TopSpace>=0)chart.Frame.SubFrame[i].Frame.ChartBorder.TopSpace=item.TopSpace*pixelRatio;if(item.BottomSpace>=0)chart.Frame.SubFrame[i].Frame.ChartBorder.BottomSpace=item.BottomSpace*pixelRatio;//是否显示关闭集合竞价按钮
1215
1216
  if(IFrameSplitOperator.IsNumber(item.CloseBeforeButton))chart.Frame.SubFrame[i].Frame.IsShowCloseButton=item.CloseBeforeButton;if(item.ClientBGColor)subFrame.ClientBGColor=item.ClientBGColor;if(!IFrameSplitOperator.IsUndefined(item.HorizontalReserved))subFrame.HorizontalReserved=item.HorizontalReserved;}chart.UpdateXShowText();}if(option.ExtendChart){for(var i=0;i<option.ExtendChart.length;++i){var item=option.ExtendChart[i];chart.CreateExtendChart(item.Name,item);}}//叠加股票
1216
1217
  if(option.Overlay){for(var i=0;i<option.Overlay.length;++i){var item=option.Overlay[i];chart.OverlaySymbol(item.Symbol,item);}}if(option.MinuteLine){if(option.MinuteLine.IsDrawAreaPrice==false)chart.ChartPaint[0].IsDrawArea=false;if(option.MinuteLine.IsShowLead==false)chart.IsShowLead=false;if(option.MinuteLine.IsShowAveragePrice==false){chart.ChartPaint[1].IsShow=false;chart.TitlePaint[0].IsShowAveragePrice=false;//标题栏均线也不显示
1217
- for(var i=0;i<chart.ExtendChartPaint.length;++i){var item=chart.ExtendChartPaint[i];if(item.ClassName=="MinuteTooltipPaint")item.IsShowAveragePrice=false;}}if(option.MinuteLine.SplitType>0)chart.Frame.SubFrame[0].Frame.YSplitOperator.SplitType=option.MinuteLine.SplitType;}if(option.MinuteVol){var item=option.MinuteVol;if(IFrameSplitOperator.IsNumber(item.BarColorType))chart.ChartPaint[2].BarColorType=item.BarColorType;}if(option.MinuteTitle){var item=option.MinuteTitle;if(IFrameSplitOperator.IsBool(item.IsShowName))chart.TitlePaint[0].IsShowName=item.IsShowName;if(IFrameSplitOperator.IsBool(item.IsShowDate))chart.TitlePaint[0].IsShowDate=item.IsShowDate;if(IFrameSplitOperator.IsBool(item.IsShowTime))chart.TitlePaint[0].IsShowTime=item.IsShowTime;if(IFrameSplitOperator.IsBool(item.IsTitleShowLatestData))chart.IsTitleShowLatestData=item.IsTitleShowLatestData;if(IFrameSplitOperator.IsBool(item.IsAlwaysShowLastData))chart.TitlePaint[0].IsAlwaysShowLastData=item.IsAlwaysShowLastData;if(IFrameSplitOperator.IsNumber(item.ShowLastDataFormat))chart.TitlePaint[0].ShowLastDataFormat=item.ShowLastDataFormat;if(IFrameSplitOperator.IsNumber(item.TitleBaseLine))chart.TitlePaint[0].TitleBaseLine=item.TitleBaseLine;if(item.TimeFormat)chart.TitlePaint[0].TimeFormat=item.TimeFormat;}if(IFrameSplitOperator.IsBool(option.CorssCursorTouchEnd))chart.CorssCursorTouchEnd=option.CorssCursorTouchEnd;if(IFrameSplitOperator.IsBool(option.IsClickShowCorssCursor))chart.IsClickShowCorssCursor=option.IsClickShowCorssCursor;if(option.IsShowBeforeData===true)chart.IsShowBeforeData=option.IsShowBeforeData;//分钟数据指标从第3个指标窗口设置
1218
+ for(var i=0;i<chart.ExtendChartPaint.length;++i){var item=chart.ExtendChartPaint[i];if(item.ClassName=="MinuteTooltipPaint")item.IsShowAveragePrice=false;}}if(option.MinuteLine.SplitType>0)chart.Frame.SubFrame[0].Frame.YSplitOperator.SplitType=option.MinuteLine.SplitType;}if(option.MinuteVol){var item=option.MinuteVol;if(IFrameSplitOperator.IsNumber(item.BarColorType))chart.ChartPaint[2].BarColorType=item.BarColorType;}if(option.MinuteTitle){var item=option.MinuteTitle;var chartTitle=chart.TitlePaint[0];if(IFrameSplitOperator.IsBool(item.IsShowName))chart.TitlePaint[0].IsShowName=item.IsShowName;if(IFrameSplitOperator.IsBool(item.IsShowDate))chart.TitlePaint[0].IsShowDate=item.IsShowDate;if(IFrameSplitOperator.IsBool(item.IsShowTime))chart.TitlePaint[0].IsShowTime=item.IsShowTime;if(IFrameSplitOperator.IsBool(item.IsTitleShowLatestData))chart.IsTitleShowLatestData=item.IsTitleShowLatestData;if(IFrameSplitOperator.IsBool(item.IsAlwaysShowLastData))chart.TitlePaint[0].IsAlwaysShowLastData=item.IsAlwaysShowLastData;if(IFrameSplitOperator.IsNumber(item.ShowLastDataFormat))chart.TitlePaint[0].ShowLastDataFormat=item.ShowLastDataFormat;if(item.TimeFormat)chart.TitlePaint[0].TimeFormat=item.TimeFormat;if(item.ShowPostion)//显示位置高级配置
1219
+ {var subItem=item.ShowPostion;if(!chartTitle.ShowPositionConfig)chartTitle.ShowPositionConfig={Margin:{}};if(IFrameSplitOperator.IsNumber(subItem.Type))chartTitle.ShowPositionConfig.Type=subItem.Type;if(subItem.Margin){if(IFrameSplitOperator.IsNumber(subItem.Margin.Left))chartTitle.ShowPositionConfig.Margin.Left=subItem.Margin.Left;if(IFrameSplitOperator.IsNumber(subItem.Margin.Right))chartTitle.ShowPositionConfig.Margin.Right=subItem.Margin.Right;if(IFrameSplitOperator.IsNumber(subItem.Margin.Bottom))chartTitle.ShowPositionConfig.Margin.Bottom=subItem.Margin.Bottom;}}}if(IFrameSplitOperator.IsBool(option.CorssCursorTouchEnd))chart.CorssCursorTouchEnd=option.CorssCursorTouchEnd;if(IFrameSplitOperator.IsBool(option.IsClickShowCorssCursor))chart.IsClickShowCorssCursor=option.IsClickShowCorssCursor;if(option.IsShowBeforeData===true)chart.IsShowBeforeData=option.IsShowBeforeData;//分钟数据指标从第3个指标窗口设置
1218
1220
  if(IFrameSplitOperator.IsNonEmptyArray(option.Windows)){var scriptData=new JSIndexScript();for(var i=0;i<option.Windows.length;++i){var index=2+i;var item=option.Windows[i];if(item.Script){chart.WindowIndex[index]=new ScriptIndex(item.Name,item.Script,item.Args,item);//脚本执行
1219
1221
  }else if(item.API)//使用API挂接指标数据 API:{ Name:指标名字, Script:指标脚本可以为空, Args:参数可以为空, Url:指标执行地址 }
1220
1222
  {var apiItem=item.API;chart.WindowIndex[index]=new APIScriptIndex(apiItem.Name,apiItem.Script,apiItem.Args,item);}else{var indexItem=JSIndexMap.Get(item.Index);if(indexItem){chart.WindowIndex[index]=indexItem.Create();//创建子窗口的指标
@@ -4086,13 +4088,13 @@ Zoom:{Type:g_JSChartResource.DRAWICON.Text.Zoom.Type,Value:g_JSChartResource.DRA
4086
4088
  FontName:g_JSChartResource.DRAWICON.Text.FontName,YOffset:g_JSChartResource.DRAWICON.Text.YOffset};this.IconSize={Max:g_JSChartResource.DRAWICON.Icon.MaxSize,Min:g_JSChartResource.DRAWICON.Icon.MinSize,//图标的最大最小值
4087
4089
  Zoom:{Type:g_JSChartResource.DRAWICON.Icon.Zoom.Type,Value:g_JSChartResource.DRAWICON.Icon.Zoom.Value},//放大倍数
4088
4090
  YOffset:g_JSChartResource.DRAWICON.Icon.YOffset//Direction==2的向下偏移
4089
- };this.IconFamily=g_JSChartResource.DRAWLASTICON.Family;this.ReloadResource=function(resource){this.TextSize={Max:g_JSChartResource.DRAWTEXT.MaxSize,Min:g_JSChartResource.DRAWTEXT.MinSize,//字体的最大最小值
4091
+ };this.ReloadResource=function(resource){this.TextSize={Max:g_JSChartResource.DRAWTEXT.MaxSize,Min:g_JSChartResource.DRAWTEXT.MinSize,//字体的最大最小值
4090
4092
  Zoom:{Type:g_JSChartResource.DRAWTEXT.Zoom.Type,Value:g_JSChartResource.DRAWTEXT.Zoom.Value},//放大倍数
4091
4093
  FontName:g_JSChartResource.DRAWTEXT.FontName};this.IconSize={Max:g_JSChartResource.DRAWICON.Icon.MaxSize,Min:g_JSChartResource.DRAWICON.Icon.MinSize,//图标的最大最小值
4092
4094
  Zoom:{Type:g_JSChartResource.DRAWICON.Icon.Zoom.Type,Value:g_JSChartResource.DRAWICON.Icon.Zoom.Value}//放大倍数
4093
- };this.IconFamily=g_JSChartResource.DRAWLASTICON.Family;};this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!this.LastBarItem)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.IsHScreen=this.ChartFrame.IsHScreen===true;var xPointCount=this.ChartFrame.XPointCount;var offset=this.Data.DataOffset;var index=offset+xPointCount;if(index<this.Data.Data.length)return;var lastIndex=this.Data.Data.length-1-offset;var x=this.ChartFrame.GetXFromIndex(lastIndex);var item=this.LastBarItem;if(item.Value=="Top")y=top;else if(item.Value=="Bottom")y=bottom;else y=this.ChartFrame.GetYFromData(item.Value,false);if(IFrameSplitOperator.IsNumber(item.YOffset))y+=item.YOffset;//Y轴偏移
4095
+ };};this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!this.LastBarItem)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.IsHScreen=this.ChartFrame.IsHScreen===true;var xPointCount=this.ChartFrame.XPointCount;var offset=this.Data.DataOffset;var index=offset+xPointCount;if(index<this.Data.Data.length)return;var lastIndex=this.Data.Data.length-1-offset;var x=this.ChartFrame.GetXFromIndex(lastIndex);var item=this.LastBarItem;if(item.Value=="Top")y=top;else if(item.Value=="Bottom")y=bottom;else y=this.ChartFrame.GetYFromData(item.Value,false);if(IFrameSplitOperator.IsNumber(item.YOffset))y+=item.YOffset;//Y轴偏移
4094
4096
  if(IFrameSplitOperator.IsNumber(item.XOffset))x+=item.XOffset;this.Canvas.save();this.ClipClient(this.IsHScreen);//文本
4095
- if(item.Text)this.DrawLastText(item,x,y);else if(item.Icon)this.DrawLastIcon(item,x,y);this.Canvas.restore();};this.DrawLastText=function(item,x,y){var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var font=this.GetDynamicFont(dataWidth,distanceWidth,this.TextSize.Max,this.TextSize.Min,this.TextSize.Zoom,this.TextSize.FontName);var textBaseline='bottom';if(item.TextBaseline)textBaseline=item.TextBaseline;var textAlign="center";if(item.TextAlign)textAlign=item.TextAlign;this.Canvas.font=font;this.Canvas.textBaseline=textBaseline;this.Canvas.textAlign=textAlign;this.Canvas.fillStyle=item.Color;this.Canvas.fillText(item.Text,x,y);};this.DrawLastIcon=function(item,x,y){var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var iconSize=this.GetDynamicIconSize(dataWidth,distanceWidth,this.IconSize.Max,this.IconSize.Min,this.IconSize.Zoom);var font=iconSize+'px '+this.IconFamily;var textBaseline='bottom';if(item.TextBaseline)textBaseline=item.TextBaseline;var textAlign="center";if(item.TextAlign)textAlign=item.TextAlign;this.Canvas.font=font;this.Canvas.textBaseline=textBaseline;this.Canvas.textAlign=textAlign;this.Canvas.fillStyle=item.Color;this.Canvas.fillText(item.Icon.Symbol,x,y);};this.GetMaxMin=function(){var range={Min:null,Max:null};if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;var xPointCount=this.ChartFrame.XPointCount;var offset=this.Data.DataOffset;var index=offset+xPointCount;if(index<this.Data.Data.length)return range;if(!this.LastBarItem)return range;if(IFrameSplitOperator.IsNumber(this.LastBarItem.Value))range.Max=range.Min=this.LastBarItem.Value;return range;};}//直线 水平直线 只有1个数据
4097
+ if(item.Text)this.DrawLastText(item,x,y);else if(item.Icon)this.DrawLastIcon(item,x,y);this.Canvas.restore();};this.DrawLastText=function(item,x,y){var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var font=this.GetDynamicFont(dataWidth,distanceWidth,this.TextSize.Max,this.TextSize.Min,this.TextSize.Zoom,this.TextSize.FontName);var textBaseline='bottom';if(item.TextBaseline)textBaseline=item.TextBaseline;var textAlign="center";if(item.TextAlign)textAlign=item.TextAlign;this.Canvas.font=font;this.Canvas.textBaseline=textBaseline;this.Canvas.textAlign=textAlign;this.Canvas.fillStyle=item.Color;if(this.IsHScreen){this.Canvas.save();this.Canvas.translate(y,x);this.Canvas.rotate(90*Math.PI/180);this.Canvas.fillText(item.Text,0,0);this.Canvas.restore();}else{this.Canvas.fillText(item.Text,x,y);}};this.DrawLastIcon=function(item,x,y){var icon=item.Icon;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var iconSize=this.GetDynamicIconSize(dataWidth,distanceWidth,this.IconSize.Max,this.IconSize.Min,this.IconSize.Zoom);var font=iconSize+'px '+icon.Family;var textBaseline='bottom';if(item.TextBaseline)textBaseline=item.TextBaseline;var textAlign="center";if(item.TextAlign)textAlign=item.TextAlign;this.Canvas.font=font;this.Canvas.textBaseline=textBaseline;this.Canvas.textAlign=textAlign;this.Canvas.fillStyle=item.Color;if(this.IsHScreen){this.Canvas.save();this.Canvas.translate(y,x);this.Canvas.rotate(90*Math.PI/180);this.Canvas.fillText(icon.Symbol,0,0);this.Canvas.restore();}else{this.Canvas.fillText(icon.Symbol,x,y);}};this.GetMaxMin=function(){var range={Min:null,Max:null};if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return range;var xPointCount=this.ChartFrame.XPointCount;var offset=this.Data.DataOffset;var index=offset+xPointCount;if(index<this.Data.Data.length)return range;if(!this.LastBarItem)return range;if(IFrameSplitOperator.IsNumber(this.LastBarItem.Value))range.Max=range.Min=this.LastBarItem.Value;return range;};}//直线 水平直线 只有1个数据
4096
4098
  function ChartStraightLine(){this.newMethod=IChartPainting;//派生
4097
4099
  this.newMethod();delete this.newMethod;this.ClassName='ChartStraightLine';//类名
4098
4100
  this.Color="rgb(255,193,37)";//线段颜色
@@ -5590,7 +5592,8 @@ this.OverlayChartPaint;//叠加画法
5590
5592
  this.IsShowName=true;//是否显示股票名称
5591
5593
  this.IsShowSettingInfo=true;//是否显示设置信息(周期 复权)
5592
5594
  this.IsShowDateTime=true;//是否显示日期
5593
- this.LanguageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;this.OnDrawEvent;this.OnMouseMoveEvent;this.HQChart;this.ReloadResource=function(){this.Font=g_JSChartResource.TitleFont;this.TitleColor=g_JSChartResource.DefaultTextColor;this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchagneColor=g_JSChartResource.UnchagneTextColor;this.VolColor=g_JSChartResource.Title.VolColor;this.AmountColor=g_JSChartResource.Title.AmountColor;this.DateTimeColor=g_JSChartResource.Title.DateTimeColor;this.NameColor=g_JSChartResource.Title.NameColor;this.SettingColor=g_JSChartResource.Title.SettingColor;this.TurnoverRateColor=g_JSChartResource.Title.TurnoverRateColor;//换手率
5595
+ this.LanguageID=JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID;this.ShowPositionConfig={Margin:{Bottom:2}};//显示位置高级配置 { Type:1 左对齐, Margin:{ Left, Right, Bottom } }
5596
+ this.OnDrawEvent;this.OnMouseMoveEvent;this.HQChart;this.ReloadResource=function(){this.Font=g_JSChartResource.TitleFont;this.TitleColor=g_JSChartResource.DefaultTextColor;this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchagneColor=g_JSChartResource.UnchagneTextColor;this.VolColor=g_JSChartResource.Title.VolColor;this.AmountColor=g_JSChartResource.Title.AmountColor;this.DateTimeColor=g_JSChartResource.Title.DateTimeColor;this.NameColor=g_JSChartResource.Title.NameColor;this.SettingColor=g_JSChartResource.Title.SettingColor;this.TurnoverRateColor=g_JSChartResource.Title.TurnoverRateColor;//换手率
5594
5597
  this.PositionColor=g_JSChartResource.Title.PositionColor;//持仓
5595
5598
  };this.GetCurrentKLineData=function()//获取当天鼠标位置所在的K线数据
5596
5599
  {if(this.CursorIndex==null||!this.Data)return null;if(this.Data.length<=0)return null;var index=this.CursorIndex;index=parseInt(index.toFixed(0));var dataIndex=this.Data.DataOffset+index;if(dataIndex>=this.Data.Data.length)dataIndex=this.Data.Data.length-1;if(dataIndex<0)return null;var item=this.Data.Data[dataIndex];return item;};this.GetFormatTitle=function(data){if(!data||!data.Data)return;var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
@@ -5604,12 +5607,9 @@ if(item.YFClose>0&&MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol)){var value=(it
5604
5607
  {var value=item.Vol/item.FlowCapital*100;//成交量/流通A股*100
5605
5608
  var text=g_JSChartLocalization.GetText('KTitle-Exchange',this.LanguageID)+IFrameSplitOperator.FormatValueString(value,2,this.LanguageID)+'%';aryText.push({Text:text,Color:this.TurnoverRateColor});}if(MARKET_SUFFIX_NAME.IsFutures(upperSymbol)&&IFrameSplitOperator.IsNumber(item.Position))//持仓量
5606
5609
  {var text=g_JSChartLocalization.GetText('KTitle-Position',this.LanguageID)+item.Position;aryText.push({Text:text,Color:this.PositionColor});}//叠加股票的名字
5607
- if(IFrameSplitOperator.IsNonEmptyArray(this.OverlayChartPaint)){for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item.Symbol||!item.Title)continue;var clrText=item.Color;var text='['+item.Title+']';aryText.push({Text:text,Color:clrText});}}return result;};this.DrawItem=function(item){var isHScreen=this.Frame.IsHScreen===true;var left=this.Frame.ChartBorder.GetLeft();var bottom=this.Frame.ChartBorder.GetTop()-this.Frame.ChartBorder.Top/2;var right=this.Frame.ChartBorder.GetRight();//var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
5608
- //var upperSymbol=this.Symbol.toUpperCase();
5609
- var pixelRatio=GetDevicePixelRatio();if(isHScreen){if(this.Frame.ChartBorder.Right<5*pixelRatio)return;var left=2;var bottom=this.Frame.ChartBorder.Right/2;//上下居中显示
5610
- var right=this.Frame.ChartBorder.GetHeight();var xText=this.Frame.ChartBorder.GetChartWidth();var yText=this.Frame.ChartBorder.GetTop();this.Canvas.translate(xText,yText);this.Canvas.rotate(90*Math.PI/180);}else{if(this.Frame.ChartBorder.Top<5*pixelRatio)return;}this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";this.Canvas.font=this.Font;var position={Left:left,Bottom:bottom,IsHScreen:isHScreen};var titleData=this.GetFormatTitle({Data:item});if(titleData&&IFrameSplitOperator.IsNonEmptyArray(titleData.AryText)){for(var i=0;i<titleData.AryText.length;++i){var item=titleData.AryText[i];if(!this.DrawText(item.Text,item.Color,position))break;}}};this.Draw=function(){if(!this.IsShow)return;if(this.CursorIndex==null||!this.Data||this.Data.length<=0){this.OnDrawEventCallback(null);return;}this.Canvas.font=this.Font;this.SpaceWidth=this.Canvas.measureText('0').width;var index=this.CursorIndex;index=parseInt(index.toFixed(0));var dataIndex=this.Data.DataOffset+index;if(dataIndex>=this.Data.Data.length)dataIndex=this.Data.Data.length-1;if(dataIndex<0){this.OnDrawEventCallback(null);return;}if(this.IsShowLastData())//鼠标不在图形上 显示最后一条数据
5610
+ if(IFrameSplitOperator.IsNonEmptyArray(this.OverlayChartPaint)){for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item.Symbol||!item.Title)continue;var clrText=item.Color;var text='['+item.Title+']';aryText.push({Text:text,Color:clrText});}}return result;};this.GetLeft=function(isHScreen){if(isHScreen){var left=this.Frame.ChartBorder.GetTop();if(this.ShowPositionConfig){var item=this.ShowPositionConfig;if(item.Type===1)left=0;if(item.Margin&&IFrameSplitOperator.IsNumber(item.Margin.Left))left+=item.Margin.Left;}return left;}else{var left=this.Frame.ChartBorder.GetLeft();if(this.ShowPositionConfig){var item=this.ShowPositionConfig;if(item.Type===1)left=0;if(item.Margin&&IFrameSplitOperator.IsNumber(item.Margin.Left))left+=item.Margin.Left;}return left;}};this.GetRight=function(isHScreen){if(isHScreen){var right=this.Frame.ChartBorder.GetHeight();if(this.ShowPositionConfig){var item=this.ShowPositionConfig;if(item.Type===1)right=this.Frame.ChartBorder.GetChartHeight();if(item.Margin&&IFrameSplitOperator.IsNumber(item.Margin.Right))right-=item.Margin.Right;}return right;}else{var right=this.Frame.ChartBorder.GetRight();if(this.ShowPositionConfig){var item=this.ShowPositionConfig;if(item.Type===1)right=this.Frame.ChartBorder.GetChartWidth();if(item.Margin&&IFrameSplitOperator.IsNumber(item.Margin.Right))right-=item.Margin.Right;}return right;}};this.GetBottom=function(isHScreen){if(isHScreen){var bottom=this.Frame.ChartBorder.GetRight();if(this.ShowPositionConfig){var item=this.ShowPositionConfig;if(item.Margin&&IFrameSplitOperator.IsNumber(item.Margin.Bottom))bottom+=item.Margin.Bottom;}return bottom;}else{var bottom=this.Frame.ChartBorder.GetTop();if(this.ShowPositionConfig){var item=this.ShowPositionConfig;if(item.Margin&&IFrameSplitOperator.IsNumber(item.Margin.Bottom))bottom-=item.Margin.Bottom;}return bottom;}};this.DrawItem=function(item){var isHScreen=this.Frame.IsHScreen===true;var left=this.GetLeft(isHScreen);var right=this.GetRight(isHScreen);var bottom=this.GetBottom(isHScreen);var pixelRatio=GetDevicePixelRatio();if(isHScreen){if(this.Frame.ChartBorder.Right<5*pixelRatio)return;var xText=bottom;var yText=left;this.Canvas.translate(xText,yText);this.Canvas.rotate(90*Math.PI/180);left=bottom=0;}else{if(this.Frame.ChartBorder.Top<5*pixelRatio)return;}this.Canvas.textAlign="left";this.Canvas.textBaseline="bottom";this.Canvas.font=this.Font;var position={Left:left,MaxRight:right,Bottom:bottom,IsHScreen:isHScreen};var titleData=this.GetFormatTitle({Data:item});if(titleData&&IFrameSplitOperator.IsNonEmptyArray(titleData.AryText)){for(var i=0;i<titleData.AryText.length;++i){var item=titleData.AryText[i];if(!this.DrawText(item.Text,item.Color,position))break;}}};this.Draw=function(){if(!this.IsShow)return;if(this.CursorIndex==null||!this.Data||this.Data.length<=0){this.OnDrawEventCallback(null);return;}this.Canvas.font=this.Font;this.SpaceWidth=this.Canvas.measureText('0').width;var index=this.CursorIndex;index=parseInt(index.toFixed(0));var dataIndex=this.Data.DataOffset+index;if(dataIndex>=this.Data.Data.length)dataIndex=this.Data.Data.length-1;if(dataIndex<0){this.OnDrawEventCallback(null);return;}if(this.IsShowLastData())//鼠标不在图形上 显示最后一条数据
5611
5611
  {dataIndex=this.Data.Data.length-1;}var item=this.Data.Data[dataIndex];this.OnDrawEventCallback(item);this.Canvas.save();this.DrawItem(item);this.Canvas.restore();};this.OnDrawEventCallback=function(drawData){var bDrawEvent=this.OnDrawEvent&&this.OnDrawEvent.Callback;var bMouseMoveEvent=this.OnMouseMoveEvent&&this.OnMouseMoveEvent.Callback;if(!bDrawEvent&&!bMouseMoveEvent)return;var data={Draw:drawData,Name:this.ClassName};if(this.Data&&this.Data.Data){var index=Math.abs(this.CursorIndex);index=parseInt(index.toFixed(0));var dataIndex=this.Data.DataOffset+index;var dataCount=this.Data.Data.length;data.DataIndex=dataIndex;data.DataCount=dataCount;}//叠加股票
5612
- if(IFrameSplitOperator.IsNonEmptyArray(this.OverlayChartPaint)){data.OverlayStock=[];for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item.Symbol||!item.Title)continue;data.OverlayStock.push({Symbol:item.Symbol,Name:item.Title,Data:item.Data,Color:item.Color});}}if(bDrawEvent)this.OnDrawEvent.Callback(this.OnDrawEvent,data,this);if(bMouseMoveEvent)this.OnMouseMoveEvent.Callback(this.OnMouseMoveEvent,data,this);};this.GetColor=function(price,yclse){if(price>yclse)return this.UpColor;else if(price<yclse)return this.DownColor;else return this.UnchagneColor;};this.OnUnchangeTitleColor=function(event,sendData){if(!event||!event.Callback)return false;sendData.ClassName=this.ClassName;event.Callback(event,sendData,this);if(sendData&&sendData.TitleColor)return true;return false;};this.DrawText=function(title,color,position){if(!title)return true;var isHScreen=this.Frame.IsHScreen===true;var right=this.Frame.ChartBorder.GetRight();if(isHScreen)right=this.Frame.ChartBorder.GetHeight();this.Canvas.fillStyle=color;var textWidth=this.Canvas.measureText(title).width;if(position.Left+textWidth>right)return false;if(this.IsShow)this.Canvas.fillText(title,position.Left,position.Bottom,textWidth);position.Left+=textWidth+this.SpaceWidth;return true;};//计算K线指标标题信息
5612
+ if(IFrameSplitOperator.IsNonEmptyArray(this.OverlayChartPaint)){data.OverlayStock=[];for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item.Symbol||!item.Title)continue;data.OverlayStock.push({Symbol:item.Symbol,Name:item.Title,Data:item.Data,Color:item.Color});}}if(bDrawEvent)this.OnDrawEvent.Callback(this.OnDrawEvent,data,this);if(bMouseMoveEvent)this.OnMouseMoveEvent.Callback(this.OnMouseMoveEvent,data,this);};this.GetColor=function(price,yclse){if(price>yclse)return this.UpColor;else if(price<yclse)return this.DownColor;else return this.UnchagneColor;};this.OnUnchangeTitleColor=function(event,sendData){if(!event||!event.Callback)return false;sendData.ClassName=this.ClassName;event.Callback(event,sendData,this);if(sendData&&sendData.TitleColor)return true;return false;};this.DrawText=function(title,color,position){if(!title)return true;var isHScreen=this.Frame.IsHScreen===true;var right=this.Frame.ChartBorder.GetRight();if(isHScreen)right=this.Frame.ChartBorder.GetHeight();if(IFrameSplitOperator.IsNumber(position.MaxRight))right=position.MaxRight;this.Canvas.fillStyle=color;var textWidth=this.Canvas.measureText(title).width;if(position.Left+textWidth>right)return false;if(this.IsShow)this.Canvas.fillText(title,position.Left,position.Bottom,textWidth);position.Left+=textWidth+this.SpaceWidth;return true;};//计算K线指标标题信息
5613
5613
  this.GetKLineCalculateTitle=function(){if(!this.HQChart)return null;var klineCalulate=this.HQChart.GetKLineCalulate();if(!klineCalulate||!klineCalulate.GetTitle)return null;return klineCalulate.GetTitle();};this.IsShowLastData=function(){var isShow=false;if(this.DrawStatus&&this.DrawStatus.IsTitleShowLatestData){var status=this.DrawStatus;if(!IFrameSplitOperator.IsNumber(status.FrameID)||status.FrameID<0)isShow=true;else if(status.CorssCursorTouchEnd&&status.IsOnTouch==false)isShow=true;}return isShow;};}function DynamicMinuteTitlePainting(){this.newMethod=DynamicKLineTitlePainting;//派生
5614
5614
  this.newMethod();delete this.newMethod;this.ClassName='DynamicMinuteTitlePainting';this.SpaceWidth=1*GetDevicePixelRatio();this.YClose;this.IsShowDate=false;//标题是否显示日期
5615
5615
  this.IsShowTime=true;//标题是否显示时间
@@ -5621,7 +5621,6 @@ this.OnDrawEvent;this.PointInfo=null;this.IsAlwaysShowLastData=false;//始终显
5621
5621
  this.ShowLastDataFormat=0;//0=默认 1=更新时间替换时间
5622
5622
  this.MultiDayBeforeOpenData;//多日分时图 盘前数据
5623
5623
  this.MultiDayAfterCloseData;//多日分时图 收盘数据
5624
- this.TitleBaseLine=1;//0=top 1=middle 2=bottom
5625
5624
  this.TimeFormat;//显示时间格式 "HH:MM:SS", "hh:MM", "HH:MM:SS.fff"
5626
5625
  this.CallAuctionShowTitle=new _set2.default(["MTitle-AC-Price","MTitle-AC-Vol","MTitle-AC-NotMatchVol","MTitle-AC-Increase","MTitle-AC-AvPrice"]);this.GetCurrentKLineData=function()//获取当天鼠标位置所在的K线数据
5627
5626
  {if(this.LastShowData)return this.LastShowData;if(this.CursorIndex==null||!this.Data)return null;if(this.Data.length<=0)return null;var index=Math.abs(this.CursorIndex);index=parseInt(index.toFixed(0));var dataIndex=this.Data.DataOffset+index;if(dataIndex>=this.Data.Data.length)dataIndex=this.Data.Data.length-1;if(dataIndex<0)return null;var item=this.Data.Data[dataIndex];return item;};this.GetCurrentAuctionData=function()//获取当前鼠标所在位置的盘前盘后数据
@@ -5640,12 +5639,8 @@ if(isLastOne&&this.ShowLastDataFormat==1){if(this.Data&&this.Data.UpdateTime&&IF
5640
5639
  if(IFrameSplitOperator.IsNumber(close)){var color=this.GetColor(close,yClose);var text=g_JSChartLocalization.GetText('MTitle-Close',this.LanguageID)+close.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color});}if(IFrameSplitOperator.IsNumber(increase)){var color=this.GetColor(increase,0);var text=g_JSChartLocalization.GetText('MTitle-Increase',this.LanguageID)+increase.toFixed(2)+'%';aryText.push({Text:text,Color:color});}var isShowAvPrice=true;var upperSymbol=this.Symbol.toUpperCase();if(MARKET_SUFFIX_NAME.IsET(upperSymbol)&&!MARKET_SUFFIX_NAME.IsETShowAvPrice(upperSymbol))isShowAvPrice=false;else if(MARKET_SUFFIX_NAME.IsShowAvPrice&&!MARKET_SUFFIX_NAME.IsShowAvPrice(upperSymbol))isShowAvPrice=false;if(IFrameSplitOperator.IsNumber(item.AvPrice)&&isShowAvPrice&&this.IsShowAveragePrice){var color=this.GetColor(item.AvPrice,yClose);var text=g_JSChartLocalization.GetText('MTitle-AvPrice',this.LanguageID)+item.AvPrice.toFixed(defaultfloatPrecision);aryText.push({Text:text,Color:color});}if(IFrameSplitOperator.IsNumber(vol)){var text=g_JSChartLocalization.GetText('MTitle-Vol',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(vol/unit,2,this.LanguageID);aryText.push({Text:text,Color:this.VolColor});}if(IFrameSplitOperator.IsNumber(amount)){var text=g_JSChartLocalization.GetText('MTitle-Amount',this.LanguageID)+IFrameSplitOperator.FormatValueString(amount,2,this.LanguageID);aryText.push({Text:text,Color:this.AmountColor});}if(IFrameSplitOperator.IsNumber(item.Position)){var text=g_JSChartLocalization.GetText('MTitle-Position',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(item.Position,2,this.LanguageID);aryText.push({Text:text,Color:this.VolColor});}if(isLastOne&&this.ShowLastDataFormat==0)//显示数据最后的更新时间
5641
5640
  {if(this.Data&&this.Data.UpdateTime&&IFrameSplitOperator.IsNumber(this.Data.UpdateTime.Date)&&IFrameSplitOperator.IsNumber(this.Data.UpdateTime.Time)){var text=g_JSChartLocalization.GetText('MTitle-UpdateTime',this.LanguageID)+IFrameSplitOperator.FormatTimeString(this.Data.UpdateTime.Time,"HH:MM:SS");aryText.push({Text:text,Color:this.DateTimeColor});}}//叠加股票的名字
5642
5641
  if(IFrameSplitOperator.IsNonEmptyArray(this.OverlayChartPaint)){for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item.Symbol||!item.Title)continue;var clrText=item.Color;var text='['+item.Title+']';aryText.push({Text:text,Color:clrText});}}return{AryText:aryText};};this.DrawItem=function(item,isLastOne)//isLastOne 是否是最后一个数据
5643
- {if(!item)return;var pixelRatio=GetDevicePixelRatio();var isHScreen=this.Frame.IsHScreen===true;var border=this.Frame.GetBorder();var left=border.Left;var bottom=border.Top-this.Frame.ChartBorder.Top/2;var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
5644
- this.Canvas.font=this.Font;if(isHScreen){if(this.Frame.ChartBorder.Right<5*pixelRatio)return;var left=2;var bottom=this.Frame.ChartBorder.Right/2;//上下居中显示
5645
- var xText=border.ChartWidth;var yText=border.Top;this.Canvas.translate(xText,yText);this.Canvas.rotate(90*Math.PI/180);}else{if(this.Frame.ChartBorder.Top<5*pixelRatio)return;}this.Canvas.textAlign="left";if(this.TitleBaseLine==0)//上
5646
- {this.Canvas.textBaseline="top";bottom=2*pixelRatio;}else if(this.TitleBaseLine==2)//下
5647
- {this.Canvas.textBaseline="bottom";var bottom=border.Top;}else//中
5648
- {this.Canvas.textBaseline="middle";}var position={Left:left,Bottom:bottom,IsHScreen:isHScreen};var titleData=this.GetFormatTitle({Data:item,IsLastOne:isLastOne});if(titleData&&IFrameSplitOperator.IsNonEmptyArray(titleData.AryText)){for(var i=0;i<titleData.AryText.length;++i){var item=titleData.AryText[i];if(!this.DrawText(item.Text,item.Color,position))break;}}};//盘前 盘后数据格式化
5642
+ {if(!item)return;var pixelRatio=GetDevicePixelRatio();var isHScreen=this.Frame.IsHScreen===true;var border=this.Frame.GetBorder();var left=this.GetLeft(isHScreen);var right=this.GetRight(isHScreen);var bottom=this.GetBottom(isHScreen);if(isHScreen){if(this.Frame.ChartBorder.Right<5*pixelRatio)return;var xText=bottom;var yText=left;this.Canvas.translate(xText,yText);this.Canvas.rotate(90*Math.PI/180);left=bottom=0;//旋转以后 位置调整0
5643
+ }else{if(this.Frame.ChartBorder.Top<5*pixelRatio)return;}this.Canvas.font=this.Font;this.Canvas.textAlign="left";this.Canvas.textBaseline="bottom";var position={Left:left,MaxRight:right,Bottom:bottom,IsHScreen:isHScreen};var titleData=this.GetFormatTitle({Data:item,IsLastOne:isLastOne});if(titleData&&IFrameSplitOperator.IsNonEmptyArray(titleData.AryText)){for(var i=0;i<titleData.AryText.length;++i){var item=titleData.AryText[i];if(!this.DrawText(item.Text,item.Color,position))break;}}};//盘前 盘后数据格式化
5649
5644
  this.FormatCallAuctionTitle=function(data){var aryText=[];//{ Color: Text: }
5650
5645
  var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
5651
5646
  var upperSymbol=this.Symbol.toUpperCase();var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);//股票名称
@@ -6798,7 +6793,7 @@ Value:1},FontName:'微软雅黑'//字体
6798
6793
  };this.DRAWTEXT_FIX={Font:14*GetDevicePixelRatio()+'px 微软雅黑'};this.DRAWNUMBER_FIX={Font:14*GetDevicePixelRatio()+'px 微软雅黑'//虚线配置
6799
6794
  };this.DOTLINE={LineDash:[3,5]//虚线配置
6800
6795
  };this.DRAWSL={PixelWidth:15//1个像素点宽度
6801
- };this.CIRCLEDOT={Radius:1.3*GetDevicePixelRatio()};this.TIPICON={Family:'iconfont',TextFont:GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1',Size:10*GetDevicePixelRatio(),Color:"rgb(255,165,0)"};this.DRAWLASTICON={Family:'iconfont'};this.POINTDOT={Radius:2*GetDevicePixelRatio()};this.DepthMapPaint={LineColor:"rgba(255,185,15)",AreaColor:["rgba(255,185,15,0.8)","rgba(255,185,15,0.4)"],TextColor:"rgba(255,255,255)",TextBGColor:'rgb(43,54,69)'};this.KLineYAxisBGPaint={Font:12*GetDevicePixelRatio()+'px 微软雅黑',LineColor:"rgb(117,125,129)",DiffValutTextColor:"rgb(117,125,129)",DiffValueBGColor:"rgb(251,140,1)"//筹码分布图
6796
+ };this.CIRCLEDOT={Radius:1.3*GetDevicePixelRatio()};this.TIPICON={Family:'iconfont',TextFont:GetDevicePixelRatio()+'px \u5FAE\u8F6F\u96C5\u9ED1',Size:10*GetDevicePixelRatio(),Color:"rgb(255,165,0)"};this.POINTDOT={Radius:2*GetDevicePixelRatio()};this.DepthMapPaint={LineColor:"rgba(255,185,15)",AreaColor:["rgba(255,185,15,0.8)","rgba(255,185,15,0.4)"],TextColor:"rgba(255,255,255)",TextBGColor:'rgb(43,54,69)'};this.KLineYAxisBGPaint={Font:12*GetDevicePixelRatio()+'px 微软雅黑',LineColor:"rgb(117,125,129)",DiffValutTextColor:"rgb(117,125,129)",DiffValueBGColor:"rgb(251,140,1)"//筹码分布图
6802
6797
  };this.StockChip={InfoColor:'rgb(0,0,0)',//文字颜色
6803
6798
  DayInfoColor:'rgb(255,255,255)',//周期颜色内文字颜色
6804
6799
  DefaultButton:{Color:"rgb(128,128,128)",MoveOnColor:'rgb(30,144,255)',SelectedColor:"rgb(255,0,0)",Family:"iconfont",Text:'\uE621',Size:13*GetDevicePixelRatio(),MerginLeft:4},LongButton:{Color:"rgb(128,128,128)",MoveOnColor:'rgb(30,144,255)',SelectedColor:"rgb(255,128,0)",Family:"iconfont",Text:'\uE617',Size:13*GetDevicePixelRatio(),MerginLeft:4},RecentButton:{Color:"rgb(128,128,128)",MoveOnColor:'rgb(30,144,255)',SelectedColor:"rgb(0,0,204)",Family:"iconfont",Text:'\uE617',Size:13*GetDevicePixelRatio(),MerginLeft:4}//深度图
@@ -7077,7 +7072,7 @@ this.ChartOperator_GetIndex_ByDateTime=function(hisData,dateTime,period,searchTy
7077
7072
  if(!IFrameSplitOperator.IsNonEmptyArray(hisData.Data))return null;if(!IFrameSplitOperator.IsPlusNumber(dateTime.Date)||dateTime.Date<19810101)return null;if(ChartData.IsDayPeriod(period,true)){for(var i=0;i<hisData.Data.length;++i){var item=hisData.Data[i];if(searchType==1){if(item.Date==dateTime.Date)return i;}else{if(item.Date>=dateTime.Date)return i;}}return null;}if(ChartData.IsMinutePeriod(period,true)||ChartData.IsMilliSecondPeriod(period)){var findTime=null;if(IFrameSplitOperator.IsNumber(dateTime.Time))findTime=dateTime.Time;for(var i=0;i<hisData.Data.length;++i){var item=hisData.Data[i];if(searchType==1)//精确匹配
7078
7073
  {if(findTime==null)return null;if(item.Date==dateTime.Date&&item.Time==findTime)return i;}else{if(findTime==null)//只有日期
7079
7074
  {if(item.Date>=dateTime.Date)return i;}else{if(item.Date>dateTime.Date||item.Date==dateTime.Date&&item.Time>=findTime)return i;}}}return null;}return null;};this.OnWheel=function(e){var _this16=this;JSConsole.Chart.Log('[KLineChartContainer::OnWheel]',e);if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var isInClient=false;this.Canvas.beginPath();this.Canvas.rect(this.Frame.ChartBorder.GetLeft(),this.Frame.ChartBorder.GetTop(),this.Frame.ChartBorder.GetWidth(),this.Frame.ChartBorder.GetHeight());isInClient=this.Canvas.isPointInPath(x,y);//PC触摸板双指缩放时deltaY数值在[-20,20]之间
7080
- if(IFrameSplitOperator.IsNumber(e.deltaY)&&Math.abs(e.deltaY)<90)return;var wheelValue=e.wheelDelta;if(!IFrameSplitOperator.IsObjectExist(e.wheelDelta))wheelValue=e.deltaY*-0.01;var enableZoomUpDown=true;//是否允许缩放
7075
+ if(IFrameSplitOperator.IsNumber(e.deltaY)){var value=e.deltaY*pixelTatio;if(Math.abs(value)<90)return;}var wheelValue=e.wheelDelta;if(!IFrameSplitOperator.IsObjectExist(e.wheelDelta))wheelValue=e.deltaY*-0.01;var enableZoomUpDown=true;//是否允许缩放
7081
7076
  if(this.EnableZoomUpDown&&this.EnableZoomUpDown.Wheel===false)enableZoomUpDown=false;if(this.SourceData&&this.SourceData.Data){if(isInClient&&wheelValue<0&&enableZoomUpDown)//缩小
7082
7077
  {var cursorIndex={ZoomType:this.ZoomType,IsLockRight:this.IsZoomLockRight};cursorIndex.Index=parseInt(Math.abs(this.CursorIndex-0.5).toFixed(0));if(e.ctrlKey)cursorIndex.ZoomType=1;//ctrl+滚轴 十字中心缩放
7083
7078
  if(this.Frame.ZoomDown(cursorIndex,{ZoomDownloadDataCallback:function ZoomDownloadDataCallback(requestData){_this16.ZoomDownloadData(requestData);}})){this.CursorIndex=cursorIndex.Index;this.UpdataDataoffset();this.UpdatePointByCursorIndex();this.UpdateFrameMaxMin();this.ResetFrameXSplit();if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true){}else{this.Draw();}this.OnKLinePageChange("wheel");}}else if(isInClient&&wheelValue>0&&enableZoomUpDown)//放大
@@ -7917,7 +7912,8 @@ if(!tick)continue;item.Date=tick[0];item.Time=tick[1];item.YClose=tick[2];item.L
7917
7912
  // 走势图
7918
7913
  //
7919
7914
  function MinuteChartContainer(uielement,offscreenElement,cacheElement){this.newMethod=JSChartContainer;//派生
7920
- this.newMethod(uielement,offscreenElement,cacheElement);delete this.newMethod;this.ClassName='MinuteChartContainer';this.WindowIndex=new Array();this.Symbol;this.Name;this.SourceData;//原始的历史数据
7915
+ this.newMethod(uielement,offscreenElement,cacheElement);delete this.newMethod;this.ClassName='MinuteChartContainer';this.WindowIndex=new Array();this.Symbol;this.AryDate;//日期列表[]
7916
+ this.Name;this.SourceData;//原始的历史数据
7921
7917
  this.IndexBindData;//计算指标需要绑定的分钟数据
7922
7918
  this.IsAutoUpdate=true;//是否自动更新行情数据
7923
7919
  this.AutoUpdateFrequency=30000;//30秒更新一次数据
@@ -8134,8 +8130,8 @@ if(option.ClearOverlay===true){for(var i=0;i<this.OverlayChartPaint.length;++i){
8134
8130
  if(option.Overlay&&IFrameSplitOperator.IsNonEmptyArray(option.Overlay)){var setSymbol=new _set2.default();for(var i=0;i<this.OverlayChartPaint.length;++i)//已有的叠加
8135
8131
  {var item=this.OverlayChartPaint[i];setSymbol.add(item.Symbol);}for(var i=0;i<option.Overlay.length;++i){var item=option.Overlay[i];if(setSymbol.has(item.Symbol))continue;var paint=new ChartOverlayMinutePriceLine();paint.Canvas=this.Canvas;paint.ChartBorder=this.Frame.SubFrame[0].Frame.ChartBorder;paint.ChartFrame=this.Frame.SubFrame[0].Frame;paint.Name="Overlay-Minute";paint.Symbol=item.Symbol;paint.Identify='Overlay-Minute-'+item.Symbol;if(item.Color)paint.Color=item.Color;//外部设置颜色
8136
8132
  else paint.Color=g_JSChartResource.OverlaySymbol.Color[g_JSChartResource.OverlaySymbol.Random%g_JSChartResource.OverlaySymbol.Color.length];++g_JSChartResource.OverlaySymbol.Random;paint.MainData=this.SourceData;//绑定主图数据
8137
- if(paint.SetOption)paint.SetOption(item);this.OverlayChartPaint.push(paint);}}}if(!symbol||this.DayCount<=0){this.DrawEmpty();}else{this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);this.ChartSplashPaint.EnableSplash(true);//增加下载动画
8138
- this.Draw();this.RequestData();}};this.SetPageInfo=function(pageInfo){if(!pageInfo)return;if(IFrameSplitOperator.IsBool(pageInfo.Enable))this.PageInfo.Enable=pageInfo.Enable;if(IFrameSplitOperator.IsNumber(pageInfo.Offset))this.PageInfo.Offset=pageInfo.Offset;if(IFrameSplitOperator.IsNumber(pageInfo.ShowDayCount))this.PageInfo.ShowDayCount=pageInfo.ShowDayCount;};this.ClearMinuteData=function(){this.SourceData=null;this.DayData=null;this.BeforeOpenData=null;this.AfterCloseData=null;this.MultiDayBeforeOpenData=null;this.MultiDayAfterCloseData=null;};this.ChangeDayCount=function(count,option){if(count<0)return;this.StopDisplayLatest();this.CancelAutoUpdate();this.AutoUpdateEvent(false,"MinuteChartContainer::ChangeDayCount");this.DayCount=count;this.ClearMinuteData();if(option&&option.PageInfo){this.SetPageInfo(option.PageInfo);this.ResetDayOffset();}this.ReloadChartDrawPicture();this.ResetDataStatus();this.ClearIndexPaint();//清空指标
8133
+ if(paint.SetOption)paint.SetOption(item);this.OverlayChartPaint.push(paint);}}if(IFrameSplitOperator.IsNonEmptyArray(option.AryDate)){this.AryDate=option.AryDate.slice();}}if(!symbol||this.DayCount<=0){this.DrawEmpty();}else{this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);this.ChartSplashPaint.EnableSplash(true);//增加下载动画
8134
+ this.Draw();this.RequestData();}};this.SetPageInfo=function(pageInfo){if(!pageInfo)return;if(IFrameSplitOperator.IsBool(pageInfo.Enable))this.PageInfo.Enable=pageInfo.Enable;if(IFrameSplitOperator.IsNumber(pageInfo.Offset))this.PageInfo.Offset=pageInfo.Offset;if(IFrameSplitOperator.IsNumber(pageInfo.ShowDayCount))this.PageInfo.ShowDayCount=pageInfo.ShowDayCount;};this.ClearMinuteData=function(){this.SourceData=null;this.DayData=null;this.BeforeOpenData=null;this.AfterCloseData=null;this.MultiDayBeforeOpenData=null;this.MultiDayAfterCloseData=null;};this.ChangeDayCount=function(count,option){if(count<0)return;this.StopDisplayLatest();this.CancelAutoUpdate();this.AutoUpdateEvent(false,"MinuteChartContainer::ChangeDayCount");this.DayCount=count;this.ClearMinuteData();if(option&&option.PageInfo){this.SetPageInfo(option.PageInfo);this.ResetDayOffset();}if(option){if(IFrameSplitOperator.IsNonEmptyArray(option.AryDate)){this.AryDate=option.AryDate.slice();}}this.ReloadChartDrawPicture();this.ResetDataStatus();this.ClearIndexPaint();//清空指标
8139
8135
  this.Frame.ClearYCoordinateMaxMin();this.ResetOverlaySymbolStatus();this.RequestData();};this.ChangeBaselineType=function(type){if(this.BaselineType==type)return;this.BaselineType=type;if(this.DayCount>1)this.RequestData();};//[{ Symbol: , Color, Option: }]
8140
8136
  this.OverlaySymbols=function(aryData,option){if(option&&option.ClearAll===true)//全部清空
8141
8137
  {for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];item.IsDelete=true;}this.OverlayChartPaint=[];}var aryNewOverlay=[];for(var i=0,j=0;i<aryData.length;++i)//去重,已经叠加过的不用在叠加
@@ -8155,7 +8151,7 @@ if(IFrameSplitOperator.IsBool(obj.Left)&&this.IsShowBeforeData!=obj.Left){this.I
8155
8151
  for(var i=0;i<this.Frame.SubFrame.length;++i){var subFrame=this.Frame.SubFrame[i];for(var j=0;j<subFrame.OverlayIndex.length;++j){var overlayItem=subFrame.OverlayIndex[j];for(var k=0;k<overlayItem.ChartPaint.length;++k){var item=overlayItem.ChartPaint[k];if(!item.Data)continue;item.Data.DataOffset=this.DayOffset.DataOffset;}}}};//请求历史分钟数据
8156
8152
  this.RequestHistoryMinuteData=function(){var self=this;this.IsBeforeData=false;this.IsAfterData=false;this.ChartSplashPaint.SetTitle(this.LoadDataSplashTitle);this.ChartSplashPaint.EnableSplash(true);this.Draw();if(this.NetworkFilter){var callCation={Before:this.IsShowMultiDayBeforeData,After:this.IsShowMultiDayAfterData//集合竞价
8157
8153
  };var obj={Name:'MinuteChartContainer::RequestHistoryMinuteData',//类名::函数
8158
- Explain:'多日分时数据',Request:{Url:self.HistoryMinuteApiUrl,Data:{daycount:self.DayCount,symbol:self.Symbol,callcation:callCation},Type:'POST'},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.ChartSplashPaint.EnableSplash(false);self.RecvHistoryMinuteData(data);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
8154
+ Explain:'多日分时数据',Request:{Url:self.HistoryMinuteApiUrl,Data:{daycount:self.DayCount,symbol:self.Symbol,callcation:callCation,AryDate:this.AryDate},Type:'POST'},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){self.ChartSplashPaint.EnableSplash(false);self.RecvHistoryMinuteData(data);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
8159
8155
  }JSNetwork.HttpRequest({url:self.HistoryMinuteApiUrl,data:{"symbol":self.Symbol,"daycount":self.DayCount},type:"post",dataType:"json",async:true,success:function success(data){self.ChartSplashPaint.EnableSplash(false);self.RecvHistoryMinuteData(data);}});};this.RecvHistoryMinuteData=function(data){if(this.EnableVerifyRecvData&&data.symbol!=this.Symbol){JSConsole.Chart.Warn('[MinuteChartContainer::RecvHistoryMinuteData] recv data symbol not match. HQChart['+this.Symbol+'] , Recv['+data.symbol+']');return;}this.DayData=MinuteChartContainer.JsonDataToMinuteDataArray(data);this.ColorLineData=MinuteChartContainer.JsonDataToHistoryMinuteLineColorData(data);this.MultiDayBeforeOpenData=MinuteChartContainer.JosnDataToBeforeOpenDataArray(data);this.MultiDayAfterCloseData=MinuteChartContainer.JosnDataToAfterCloseDataArray(data);var updateTime=MinuteChartContainer.JsonDataToHistoryMinuteLastUpdateTime(data);this.DataStatus.MultiDay=true;this.CaclutateCallCationYRange();this.Symbol=data.symbol;this.Name=data.name;this.SetCallCationDataBorder({Left:false,Right:false,MultiDay:{Left:this.IsShowMultiDayBeforeData,Right:this.IsShowMultiDayAfterData}});this.CaclutateLimitPrice(this.DayData[0].YClose,data.data[0].limitprice);//计算涨停价格
8160
8156
  this.UpdateHistoryMinuteUI(updateTime);this.RecvMinuteDataEvent({FunctionName:"RecvHistoryMinuteData"});this.RequestOverlayHistoryMinuteData();this.BindAllOverlayIndexData(this.SourceData);this.AutoUpdateEvent(true,"MinuteChartContainer::RequestHistoryMinuteData");this.AutoUpdate();};this.CaclutateCallCationYRange=function(){//多日集合竞价Y轴统一成交量
8161
8157
  var afterRange=null,beforeRange=null;if(IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData)){var range={Max:null,Min:null};for(var i=0;i<this.MultiDayAfterCloseData.length;++i){var item=this.MultiDayAfterCloseData[i];if(range.Max==null)range.Max=item.VolMax;else if(range.Max<item.VolMax)range.Max=item.VolMax;if(range.Min==null)range.Min=item.VolMin;else if(range.Min>item.VolMin)range.Min=item.VolMin;}afterRange=range;}if(IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData)){var range={Max:null,Min:null};for(var i=0;i<this.MultiDayBeforeOpenData.length;++i){var item=this.MultiDayBeforeOpenData[i];if(range.Max==null)range.Max=item.VolMax;else if(range.Max<item.VolMax)range.Max=item.VolMax;if(range.Min==null)range.Min=item.VolMin;else if(range.Min>item.VolMin)range.Min=item.VolMin;}beforeRange=range;}if(this.ShareAfterVol==2)// 公用坐标
@@ -8182,7 +8178,7 @@ fields.push("clearing");fields.push("yclearing");}// 盘前数据(A股)
8182
8178
  this.IsBeforeData=false;if(this.IsShowBeforeData&&this.DayCount===1&&MARKET_SUFFIX_NAME.IsSHSZStockA(self.Symbol)){this.IsBeforeData=true;fields.push('before');}this.IsAfterData=false;if(this.IsShowAfterData&&this.DayCount===1&&MARKET_SUFFIX_NAME.IsSHSZStockA(self.Symbol)){this.IsAfterData=true;}if(this.NetworkFilter){var dateRange=null;if(this.DayCount>1){if(IFrameSplitOperator.IsNonEmptyArray(this.DayData)){var dayData=this.DayData[0];dateRange=dayData.GetDateRange();}}else{if(this.SourceData)dateRange=this.SourceData.GetDateRange();}var callCation={Before:this.IsShowBeforeData,After:this.IsShowAfterData//集合竞价
8183
8179
  };if(this.DayCount>1)callCation={Before:this.IsShowMultiDayBeforeData,After:this.IsShowMultiDayAfterData//多日集合竞价
8184
8180
  };var obj={Name:'MinuteChartContainer::RequestMinuteData',//类名::函数名
8185
- Explain:'最新分时数据',Request:{Url:self.MinuteApiUrl,Data:{field:fields,symbol:[self.Symbol],callcation:callCation},Type:'POST'},Self:this,PreventDefault:false};if(dateRange)obj.DateRange=dateRange;//本地数据日期范围
8181
+ Explain:'最新分时数据',Request:{Url:self.MinuteApiUrl,Data:{field:fields,symbol:[self.Symbol],callcation:callCation,AryDate:this.AryDate},Type:'POST'},Self:this,PreventDefault:false};if(dateRange)obj.DateRange=dateRange;//本地数据日期范围
8186
8182
  this.NetworkFilter(obj,function(data){self.ChartSplashPaint.EnableSplash(false);self.RecvMinuteData(data);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
8187
8183
  }JSNetwork.HttpRequest({url:self.MinuteApiUrl,data:{"field":fields,"symbol":[self.Symbol],"start":-1},type:"post",dataType:"json",async:true,success:function success(data){self.ChartSplashPaint.EnableSplash(false);self.RecvMinuteData(data);}});};this.RecvMinuteDataEvent=function(option){if(!this.mapEvent.has(JSCHART_EVENT_ID.RECV_MINUTE_DATA))return;var event=this.mapEvent.get(JSCHART_EVENT_ID.RECV_MINUTE_DATA);var data={MinuteData:this.SourceData,Stock:{Symbol:this.Symbol,Name:this.Name},Option:option,DataStatus:this.DataStatus};event.Callback(event,data,this);};this.UpdateLineColorData=function(data,date){if(!this.ColorLineData){this.ColorLineData=data;return;}//移除当前的
8188
8184
  var aryColorLineData=this.ColorLineData.filter(function(item,index,arr){return item.Date!=date;});if(IFrameSplitOperator.IsNonEmptyArray(data)){for(var i in data){aryColorLineData.push(data[i]);}}this.ColorLineData=aryColorLineData;};this.UpdateCallCationData=function(beforeOpenData,afterCloseData){if(beforeOpenData&&IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData)){var lastItem=this.MultiDayBeforeOpenData[this.MultiDayBeforeOpenData.length-1];if(lastItem.Date==beforeOpenData.Date)//存在更新
@@ -8423,7 +8419,7 @@ item.ColorID=jsData[4];//柱子颜色ID
8423
8419
  item.DateTime=date.toString()+" "+item.Time.toString();var totalVol=item.Vol[0];if(IFrameSplitOperator.IsNumber(jsData[5]))totalVol=jsData[5];if(totalVol>max)max=totalVol;if(jsData[extendDataIndex])item.ExtendData=jsData[extendDataIndex];beforeOpenData.Data.push(item);}beforeOpenData.VolMax=max/unit;beforeOpenData.VolMin=0;}return beforeOpenData;};//收盘集合竞价
8424
8420
  MinuteChartContainer.JsonDataToAfterCloseData=function(data){var yClose=data.stock[0].yclose;var preClose=data.stock[0].yclose;//前一个数据价格
8425
8421
  var stockData=data.stock[0];var date=stockData.date;//日期
8426
- if(!stockData.afterinfo)return null;var symbol=data.stock[0].symbol;var upperSymbol=symbol.toLowerCase();var afterCloseData={Data:[],TotalCount:3*60,Ver:2.0,Date:date};var item=stockData.afterinfo;if(IFrameSplitOperator.IsNumber(item.totalcount))afterCloseData.TotalCount=item.totalcount;if(IFrameSplitOperator.IsNumber(item.ver))afterCloseData.Ver=item.ver;var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_AFTERCLOSE_EXTENDDATA;//扩展数据序号
8422
+ if(!stockData.afterinfo)return null;var symbol=data.stock[0].symbol;var upperSymbol=symbol.toUpperCase();var afterCloseData={Data:[],TotalCount:3*60,Ver:2.0,Date:date};var item=stockData.afterinfo;if(IFrameSplitOperator.IsNumber(item.totalcount))afterCloseData.TotalCount=item.totalcount;if(IFrameSplitOperator.IsNumber(item.ver))afterCloseData.Ver=item.ver;var extendDataIndex=JSCHART_DATA_FIELD_ID.MINUTE_AFTERCLOSE_EXTENDDATA;//扩展数据序号
8427
8423
  var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);if(afterCloseData.Ver==1.0){for(var i=0;i<stockData.after.length;++i){var item=new AfterCloseData();var jsData=stockData.after[i];item.YClose=yClose;item.Time=jsData[0];item.Date=date;item.Price=jsData[1];item.Vol[0]=jsData[2];item.Amount=jsData[3];if(IFrameSplitOperator.IsNumber(jsData[4]))//日期
8428
8424
  item.Date=jsData[4];item.DateTime=item.Date+' '+item.Time;afterCloseData.Data.push(item);}}else if(afterCloseData.Ver==2.0){var max=0;for(var i in stockData.after){var item=new AfterCloseData();var jsData=stockData.after[i];item.YClose=yClose;item.Time=jsData[0];item.Date=date;item.Price=jsData[1];item.Vol[0]=jsData[2];//匹配量
8429
8425
  item.Vol[1]=jsData[3];//未匹配量
@@ -12872,7 +12868,7 @@ this.ResizeListener;//大小变动监听
12872
12868
  this.CanvasElement=document.createElement("canvas");this.CanvasElement.className='jstreport-drawing';this.CanvasElement.id=Guid();this.CanvasElement.setAttribute("tabindex",0);if(this.CanvasElement.style)this.CanvasElement.style.outline='none';if(divElement.hasChildNodes()){JSConsole.Chart.Log("[JSTReportChart::JSReportChart] divElement hasChildNodes",divElement.childNodes);}divElement.appendChild(this.CanvasElement);this.OnSize=function(){//画布大小通过div获取 如果有style里的大小 使用style里的
12873
12869
  var height=this.DivElement.offsetHeight;var width=this.DivElement.offsetWidth;if(this.DivElement.style.height&&this.DivElement.style.width){if(this.DivElement.style.height.includes("px"))height=parseInt(this.DivElement.style.height.replace("px",""));if(this.DivElement.style.width.includes("px"))width=parseInt(this.DivElement.style.width.replace("px",""));}this.CanvasElement.height=height;this.CanvasElement.width=width;this.CanvasElement.style.width=this.CanvasElement.width+'px';this.CanvasElement.style.height=this.CanvasElement.height+'px';var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
12874
12870
  this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;JSConsole.Chart.Log('[JSTReportChart::OnSize] devicePixelRatio='+window.devicePixelRatio+', height='+this.CanvasElement.height+', width='+this.CanvasElement.width);if(this.JSChartContainer&&this.JSChartContainer.OnSize){this.JSChartContainer.OnSize();}};this.SetOption=function(option){var chart=this.CreateJSTReportChartContainer(option);if(!chart)return false;if(option.OnCreatedCallback)option.OnCreatedCallback(chart);this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
12875
- if(option.EnableResize==true)this.CreateResizeListener();if(option.Symbol){chart.Draw();var name=option.Symbol;if(option.Name)name=option.Name;chart.ChangeSymbol(option.Symbol,{Name:name});//下载列表码表
12871
+ if(option.EnableResize==true)this.CreateResizeListener();if(option.MinuteChartTooltip&&option.MinuteChartTooltip.Enable){chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);}if(option.Symbol){chart.Draw();var name=option.Symbol;if(option.Name)name=option.Name;chart.ChangeSymbol(option.Symbol,{Name:name});//下载列表码表
12876
12872
  }};this.CreateJSTReportChartContainer=function(option){var chart=new JSTReportChartContainer(this.CanvasElement);chart.Create(option);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(IFrameSplitOperator.IsNonEmptyArray(option.Tab))chart.SetTab(option.Tab);if(IFrameSplitOperator.IsNumber(option.TabSelected))chart.SetSelectedTab(option.TabSelected);if(IFrameSplitOperator.IsBool(option.EnableDragRow))chart.EnableDragRow=option.EnableDragRow;if(IFrameSplitOperator.IsNumber(option.DragRowType))chart.DragRowType=option.DragRowType;if(IFrameSplitOperator.IsBool(option.EnableDragHeader))chart.EnableDragHeader=option.EnableDragHeader;if(IFrameSplitOperator.IsBool(option.EnablePageCycle))chart.EnablePageCycle=option.EnablePageCycle;if(IFrameSplitOperator.IsNumber(option.FixedRowCount))chart.SetFixedRowCount(option.FixedRowCount);//固定行
12877
12873
  if(option.SortInfo){var item=option.SortInfo;if(IFrameSplitOperator.IsNumber(item.Field))chart.SortInfo.Field=item.Field;if(IFrameSplitOperator.IsNumber(item.Sort))chart.SortInfo.Sort=item.Sort;}this.SetChartBorder(chart,option);//是否自动更新
12878
12874
  if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;if(IFrameSplitOperator.IsBool(option.EnableFilter))chart.EnableFilter=option.EnableFilter;//注册事件
@@ -12920,9 +12916,11 @@ this.IsOnTouch=false;this.TouchDrag;this.TouchMoveMinAngle=70;//左右移动最
12920
12916
  this.YStepPixel=5*GetDevicePixelRatio();this.XStepPixel=10*GetDevicePixelRatio();//拖拽滚动条
12921
12917
  this.DragXScroll=null;//{Start:{x,y}, End:{x, y}}
12922
12918
  this.EnablePageCycle=false;//是否循环翻页
12923
- this.IsDestroy=false;//是否已经销毁了
12919
+ this.TooltipMinuteChart;//分时图
12920
+ this.LastMouseStatus={MoveStatus:null,TooltipStatus:null,MouseOnStatus:null};this.IsDestroy=false;//是否已经销毁了
12924
12921
  this.ChartDestory=function()//销毁
12925
- {this.IsDestroy=true;this.StopAutoUpdate();};//清空固定行数据
12922
+ {this.IsDestroy=true;this.StopAutoUpdate();this.DestroyMinuteChartTooltip();};this.InitalMinuteChartTooltip=function(option){if(this.TooltipMinuteChart)return;this.TooltipMinuteChart=new JSTooltipMinuteChart();this.TooltipMinuteChart.Inital(this,option);this.TooltipMinuteChart.Create();};this.DestroyMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Destroy();this.TooltipMinuteChart=null;};//data={ Symbol }
12923
+ this.ShowMinuteChartTooltip=function(x,y,data){if(!this.TooltipMinuteChart)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var offsetLeft=rtClient.left+rtScroll.Left;var offsetTop=rtClient.top+rtScroll.Top;data.Offset={Left:offsetLeft,Top:offsetTop};this.TooltipMinuteChart.Show(data,x,y);};this.HideMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Hide();};//清空固定行数据
12926
12924
  this.ClearFixedRowData=function(){this.FixedRowData.Data=[];};//设置固定行
12927
12925
  this.SetFixedRowCount=function(value){var chart=this.ChartPaint[0];if(!chart)return;chart.FixedRowCount=value;};//创建
12928
12926
  this.Create=function(option){var _this63=this;this.UIElement.JSChartContainer=this;//创建等待提示
@@ -12934,10 +12932,10 @@ if(IFrameSplitOperator.IsNumber(option.BorderLine))this.Frame.BorderLine=option.
12934
12932
  if(IFrameSplitOperator.IsBool(option.ItemBorder))chart.IsDrawBorder=option.ItemBorder;//单元格边框
12935
12933
  if(IFrameSplitOperator.IsNumber(option.SelectedModel))chart.SelectedModel=option.SelectedModel;}var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSTReportChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSTReportChartContainer::Create] not register wheel event.');}}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this63.OnKeyDown(e);},true);//键盘消息
12936
12934
  if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this63.OnWheel(e);},true);//上下滚动消息
12937
- this.UIElement.ondblclick=function(e){_this63.UIOnDblClick(e);};this.UIElement.onmousedown=function(e){_this63.UIOnMouseDown(e);};/*
12935
+ this.UIElement.ondblclick=function(e){_this63.UIOnDblClick(e);};this.UIElement.onmousedown=function(e){_this63.UIOnMouseDown(e);};this.UIElement.onmousemove=function(e){_this63.UIOnMouseMove(e);};/*
12938
12936
  this.UIElement.onmouseup=(e)=>{ this.UIOnMounseUp(e); }
12939
12937
  this.UIElement.oncontextmenu=(e)=> { this.UIOnContextMenu(e); }
12940
- this.UIElement.onmousemove=(e)=>{ this.UIOnMouseMove(e);}
12938
+
12941
12939
  this.UIElement.onmouseout=(e)=>{ this.UIOnMounseOut(e); }
12942
12940
  this.UIElement.onmouseleave=(e)=>{ this.UIOnMouseleave(e); }
12943
12941
 
@@ -12948,7 +12946,7 @@ this.UIElement.ondblclick=function(e){_this63.UIOnDblClick(e);};this.UIElement.o
12948
12946
  this.UIElement.ontouchend=(e)=> {this.OnTouchEnd(e); }
12949
12947
  */};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
12950
12948
  this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
12951
- if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
12949
+ this.LastMouseStatus.MouseOnStatus=null;if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
12952
12950
  for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw();}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw();}if(this.GlobalOption.FlashBGCount>0){this.DelayDraw(500);}};this.DelayDraw=function(frequency){var _this64=this;if(typeof this.FlashBGTimer=='number'){clearTimeout(this.FlashBGTimer);this.FlashBGTimer=null;}this.FlashBGTimer=setTimeout(function(){_this64.Draw();},frequency);};this.ClearData=function(){this.SourceData.Data=[];this.Data.Data=[];this.Data.Price=null;this.Data.XOffset=0;//清空偏移
12953
12951
  this.Data.YOffset=0;this.MapStockData=new _map2.default();this.MapExePriceData=null;this.BorderData.MapData=null;};this.StopAutoUpdate=function(){this.CancelAutoUpdate();this.AutoUpdateEvent(false,'JSTReportChartContainer::StopAutoUpdate');if(!this.IsAutoUpdate)return;this.IsAutoUpdate=false;};//设置事件回调
12954
12952
  //{event:事件id, callback:回调函数}
@@ -12995,7 +12993,17 @@ this.DelayUpdateStockData=function(){var _this66=this;if(this.DelayUpdateTimer!=
12995
12993
  {if(clickData.Redraw==true)this.Draw();}else if(clickData.Type==3&&e.button==0)//表头
12996
12994
  {this.OnClickHeader(clickData,e);}//document.onmousemove=(e)=>{ this.DocOnMouseMove(e); }
12997
12995
  //document.onmouseup=(e)=> { this.DocOnMouseUp(e); }
12998
- };//点表头
12996
+ };this.GetReportChart=function(){var chart=this.ChartPaint[0];if(!chart)return;return chart;};this.UIOnMouseMove=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var oldMouseOnStatus=this.LastMouseStatus.MouseOnStatus;this.LastMouseStatus.OnMouseMove=null;var bDrawTooltip=false;if(this.LastMouseStatus.TooltipStatus)bDrawTooltip=true;this.LastMouseStatus.TooltipStatus=null;var bShowChartTooltip=false;var chartTooltipData=null;this.LastMouseStatus.OnMouseMove={X:x,Y:y};var mouseStatus={Cursor:"default",Name:"Default"};;//鼠标状态
12997
+ var report=this.GetReportChart();var bDraw=false;if(report){var tooltipData=report.GetTooltipData(x,y);//单元格提示信息
12998
+ if(tooltipData){if(tooltipData.Type==20){if(tooltipData.Data&&tooltipData.Data.Symbol){bShowChartTooltip=true;chartTooltipData={Symbol:tooltipData.Data.Symbol,Rect:tooltipData.Rect};}}else{this.LastMouseStatus.TooltipStatus={X:x,Y:y,Data:tooltipData,ClientX:e.clientX,ClientY:e.clientY};bDrawTooltip=true;}}}/* 目前没有用到
12999
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_MOUSE_MOVE);
13000
+ if (event)
13001
+ {
13002
+ var sendData={X:x, Y:y, Cell:cell };
13003
+ event.Callback(event,sendData,this);
13004
+ }
13005
+ */if(mouseStatus)this.UIElement.style.cursor=mouseStatus.Cursor;//if (bDrawTooltip) this.DrawTooltip(this.LastMouseStatus.TooltipStatus);
13006
+ if(bShowChartTooltip){this.ShowMinuteChartTooltip(null,null,chartTooltipData);}else{this.HideMinuteChartTooltip();}};//点表头
12999
13007
  this.OnClickHeader=function(clickData,e){var header=clickData.Header;if(header.Column&&header.Column.Sort==1){var data={CellType:header.CellType,ColumnIndex:header.ColumnIndex};this.SortHeader(header.Column,data);}};//排序
13000
13008
  this.SortHeader=function(column,sortData){var _this67=this;var sortInfo={Field:this.SortInfo.Field,Sort:this.SortInfo.Sort,CellType:this.SortInfo.CellType};var arySortType=column.SortType;if(sortInfo.Field!=sortData.ColumnIndex||sortInfo.CellType!=sortData.CellType){sortInfo.Field=sortData.ColumnIndex;sortInfo.CellType=sortData.CellType;sortInfo.Sort=arySortType[0];}else{if(arySortType.length==1){sortInfo.Sort=arySortType[0];}else{for(var i=0;i<arySortType.length;++i){if(sortInfo.Sort==arySortType[i]){sortInfo.Sort=arySortType[(i+1)%arySortType.length];break;}}}}if(sortInfo.Sort==0)//还原
13001
13009
  {this.Data.Data=[];for(var i=0;i<this.SourceData.Data.length;++i){this.Data.Data.push(this.SourceData.Data[i]);}}else{var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_TREPORT_LOCAL_SORT);if(event&&event.Callback){var sendData={Column:column,SortInfo:sortInfo,SymbolList:this.Data.Data,Result:null};event.Callback(event,sendData,this);if(Array.isArray(sendData.Result))this.Data.Data=sendData.Result;}else{this.Data.Data.sort(function(left,right){return _this67.LocalSort(left,right,column,sortInfo.Sort,sortInfo.CellType);});}}this.Data.YOffset=0;this.SortInfo.Field=sortInfo.Field;this.SortInfo.Sort=sortInfo.Sort;this.SortInfo.CellType=sortInfo.CellType;this.Draw();this.DelayUpdateStockData();};//本地排序
@@ -13103,7 +13111,7 @@ this.Column=//{ Type:列id, Title:标题, TextAlign:文字对齐方式, MaxText:
13103
13111
  //{ Type:TREPORT_COLUMN_ID.POSITION_ID, Title:"持仓量", TextAlign:"right", Width:null, MaxText:"88888", TextColor:g_JSChartResource.TReport.FieldColor.Position },
13104
13112
  {Type:TREPORT_COLUMN_ID.NAME_ID,Title:"合约代码",TextAlign:"right",Width:null,TextColor:g_JSChartResource.TReport.FieldColor.Name,MaxText:"AAAAAA-A-AAAA"}];this.CenterColumn={Type:TREPORT_COLUMN_ID.EXE_PRICE_ID,Title:"购<行权价>沽",TextAlign:"center",Width:null,MaxText:"99999.99",Sort:1,SortType:[1,2]};this.RectClient={};this.TooltipRect=[];this.ReloadResource=function(resource){};this.SetColumn=function(aryColumn){if(!IFrameSplitOperator.IsNonEmptyArray(aryColumn))return;this.Column=[];for(var i=0;i<aryColumn.length;++i){var item=aryColumn[i];var colItem=this.GetDefaultColunm(item.Type);if(!colItem)continue;if(item.Title)colItem.Title=item.Title;if(item.TextAlign)colItem.TextAlign=item.TextAlign;if(item.TextColor)colItem.TextColor=item.TextColor;if(item.MaxText)colItem.MaxText=item.MaxText;if(item.ID)colItem.ID=item.ID;if(IFrameSplitOperator.IsNumber(item.Sort))colItem.Sort=item.Sort;if(IFrameSplitOperator.IsBool(item.EnableTooltip))colItem.EnableTooltip=item.EnableTooltip;if(IFrameSplitOperator.IsNumber(item.FixedWidth))colItem.FixedWidth=item.FixedWidth;if(IFrameSplitOperator.IsNumber(item.FloatPrecision))colItem.FloatPrecision=item.FloatPrecision;//小数位数
13105
13113
  if(IFrameSplitOperator.IsNumber(item.ColorType))colItem.ColorType=item.ColorType;//0=默认 1=(>0, =0, <0) 2=(>=0, <0)
13106
- if(item.DefaultText)colItem.DefaultText=item.DefaultText;if(item.Sort==1)//1本地排序 2=远程排序
13114
+ if(item.DefaultText)colItem.DefaultText=item.DefaultText;if(IFrameSplitOperator.IsBool(item.EnableChartTooltip))colItem.EnableChartTooltip=item.EnableChartTooltip;if(item.Sort==1)//1本地排序 2=远程排序
13107
13115
  {colItem.SortType=[1,2];//默认 降序 ,升序
13108
13116
  if(IFrameSplitOperator.IsNonEmptyArray(item.SortType))colItem.SortType=item.SortType.slice();}this.Column.push(colItem);}};this.GetDefaultColunm=function(id){var DEFAULT_COLUMN=[{Type:TREPORT_COLUMN_ID.INDEX_ID,Title:"序号",TextAlign:"center",Width:null,TextColor:g_JSChartResource.TReport.FieldColor.Index,MaxText:"8888"},{Type:TREPORT_COLUMN_ID.SYMBOL_ID,Title:"代码",TextAlign:"right",Width:null,TextColor:g_JSChartResource.TReport.FieldColor.Symbol,MaxText:"888888"},{Type:TREPORT_COLUMN_ID.NAME_ID,Title:"合约名称",TextAlign:"right",Width:null,TextColor:g_JSChartResource.TReport.FieldColor.Name,MaxText:"AAAAAA-A-AAAA"},{Type:TREPORT_COLUMN_ID.INCREASE_ID,Title:"涨幅%",TextAlign:"right",Width:null,MaxText:"-888.88",Sort:1,SortType:[1,2,0]},{Type:TREPORT_COLUMN_ID.PRICE_ID,Title:"现价",TextAlign:"right",Width:null,MaxText:"88888.88",Sort:1,SortType:[1,2,0]},{Type:TREPORT_COLUMN_ID.UPDOWN_ID,Title:"涨跌",TextAlign:"right",Width:null,MaxText:"-888.88",Sort:1,SortType:[1,2,0]},{Type:TREPORT_COLUMN_ID.AMPLITUDE_ID,Title:"振幅%",TextAlign:"right",Width:null,MaxText:"888.88",Sort:1,SortType:[1,2,0]},{Type:TREPORT_COLUMN_ID.BUY_PRICE_ID,Title:"买价",TextAlign:"right",Width:null,MaxText:"88888.88",Sort:1,SortType:[1,2,0]},{Type:TREPORT_COLUMN_ID.SELL_PRICE_ID,Title:"卖价",TextAlign:"right",Width:null,MaxText:"88888.88",Sort:1,SortType:[1,2,0]},{Type:TREPORT_COLUMN_ID.AVERAGE_PRICE_ID,Title:"均价",TextAlign:"right",Width:null,MaxText:"88888.88",Sort:1,SortType:[1,2,0]},{Type:TREPORT_COLUMN_ID.OPEN_ID,Title:"今开",TextAlign:"right",Width:null,MaxText:"88888.88",Sort:1,SortType:[1,2,0]},{Type:TREPORT_COLUMN_ID.HIGH_ID,Title:"最高",TextAlign:"right",Width:null,MaxText:"88888.88",Sort:1,SortType:[1,2,0]},{Type:TREPORT_COLUMN_ID.LOW_ID,Title:"最低",TextAlign:"right",Width:null,MaxText:"88888.88",Sort:1,SortType:[1,2,0]},{Type:TREPORT_COLUMN_ID.YCLOSE_ID,Title:"昨收",TextAlign:"right",Width:null,MaxText:"88888.88",Sort:1,SortType:[1,2,0]},{Type:TREPORT_COLUMN_ID.POSITION_ID,Title:"持仓量",TextAlign:"right",Width:null,MaxText:"88888",Sort:1,SortType:[1,2,0],TextColor:g_JSChartResource.TReport.FieldColor.Position},{Type:TREPORT_COLUMN_ID.VOL_ID,Title:"总量",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Vol,Width:null,MaxText:"88888",Sort:1,SortType:[1,2,0]},{Type:TREPORT_COLUMN_ID.AMOUNT_ID,Title:"总金额",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Amount,Width:null,MaxText:"8888.8擎",Sort:1,SortType:[1,2,0]},{Type:TREPORT_COLUMN_ID.BUY_VOL_ID,Title:"买量",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Vol,Width:null,MaxText:"88888",Sort:1,SortType:[1,2,0]},{Type:TREPORT_COLUMN_ID.SELL_VOL_ID,Title:"卖量",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Vol,Width:null,MaxText:"88888",Sort:1,SortType:[1,2,0]},{Type:TREPORT_COLUMN_ID.RESERVE_NUMBER1_ID,Title:"数值1",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:TREPORT_COLUMN_ID.RESERVE_NUMBER2_ID,Title:"数值2",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:TREPORT_COLUMN_ID.RESERVE_NUMBER3_ID,Title:"数值3",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:TREPORT_COLUMN_ID.RESERVE_NUMBER4_ID,Title:"数值4",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:TREPORT_COLUMN_ID.RESERVE_NUMBER5_ID,Title:"数值5",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:TREPORT_COLUMN_ID.RESERVE_NUMBER6_ID,Title:"数值6",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:TREPORT_COLUMN_ID.RESERVE_NUMBER7_ID,Title:"数值7",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:TREPORT_COLUMN_ID.RESERVE_NUMBER8_ID,Title:"数值8",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:TREPORT_COLUMN_ID.RESERVE_NUMBER9_ID,Title:"数值9",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:TREPORT_COLUMN_ID.RESERVE_NUMBER10_ID,Title:"数值10",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:TREPORT_COLUMN_ID.RESERVE_STRING1_ID,Title:"文字1",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:TREPORT_COLUMN_ID.RESERVE_STRING2_ID,Title:"文字2",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:TREPORT_COLUMN_ID.RESERVE_STRING3_ID,Title:"文字3",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:TREPORT_COLUMN_ID.RESERVE_STRING4_ID,Title:"文字4",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:TREPORT_COLUMN_ID.RESERVE_STRING5_ID,Title:"文字5",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:TREPORT_COLUMN_ID.RESERVE_STRING6_ID,Title:"文字6",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:TREPORT_COLUMN_ID.RESERVE_STRING7_ID,Title:"文字7",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:TREPORT_COLUMN_ID.RESERVE_STRING8_ID,Title:"文字8",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:TREPORT_COLUMN_ID.RESERVE_STRING9_ID,Title:"文字9",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:TREPORT_COLUMN_ID.RESERVE_STRING10_ID,Title:"文字10",TextAlign:"right",TextColor:g_JSChartResource.TReport.FieldColor.Text,MaxText:"擎擎擎擎擎擎"}];for(var i=0;i<DEFAULT_COLUMN.length;++i){var item=DEFAULT_COLUMN[i];if(item.Type==id)return item;}return null;};this.Draw=function(){this.ShowSymbol=[];this.TooltipRect=[];this.RectSelectedRow=null;if(this.GlobalOption)this.GlobalOption.FlashBGCount=0;if(this.SizeChange)this.CalculateSize();else this.UpdateCacheData();this.Canvas.save();this.Canvas.beginPath();this.Canvas.rect(this.RectClient.Left,this.RectClient.Top,this.RectClient.Right-this.RectClient.Left,this.RectClient.Bottom-this.RectClient.Top);//this.Canvas.stroke(); //调试用
13109
13117
  this.Canvas.clip();this.DrawHeader();this.DrawBody();this.Canvas.restore();//this.DrawBorder();
@@ -13130,7 +13138,7 @@ var reportleft=this.RectClient.Left;var reportRight=this.RectClient.Right;var da
13130
13138
  {var item=data.TData.LeftData;data.TData.LeftFlashBG=this.GetFlashBGDataCallback(item.Symbol,Date.now());if(item.Symbol)data.Decimal=JSTReportChart.GetfloatPrecision(item.Symbol);}if(data.TData.RightData)//右侧
13131
13139
  {var item=data.TData.RightData;data.TData.RightFlashBG=this.GetFlashBGDataCallback(item.Symbol,Date.now());if(item.Symbol)data.Decimal=JSTReportChart.GetfloatPrecision(item.Symbol);}}var bSelected=false;if(this.SelectedRow&&this.SelectedRow.ExePrice==exePrice)bSelected=true;var rtItem={Left:xLeft,Right:xRight,Top:top,Height:this.RowHeight};rtItem.Bottom=rtItem.Top+rtItem.Height;rtItem.Width=rtItem.Right-rtItem.Left;this.DrawCenterItem(dataIndex,data,this.CenterColumn,rtItem,0);if(bSelected&&this.SelectedRow.CellType==0)this.RectSelectedRow=rtItem;if(IFrameSplitOperator.IsNumber(this.Data.Price)){var leftBGColor=null,rightBGColor=null;if(exePrice>this.Data.Price){leftBGColor=this.UpBGColor;rightBGColor=this.DownBGColor;}else{leftBGColor=this.DownBGColor;rightBGColor=this.UpBGColor;}if(leftBGColor){var rtBG={Left:reportleft+1,Right:rtCenterItem.Left,Top:top,Height:this.RowHeight};rtBG.Bottom=rtBG.Top+rtBG.Height;rtBG.Width=rtBG.Right-rtBG.Left;this.Canvas.fillStyle=leftBGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}if(rightBGColor){var rtBG={Left:rtCenterItem.Right,Right:reportRight,Top:top,Height:this.RowHeight};rtBG.Bottom=rtBG.Top+rtBG.Height;rtBG.Width=rtBG.Right-rtBG.Left;this.Canvas.fillStyle=rightBGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}}for(var i=this.Data.XOffset;i<this.Column.length;++i){var item=this.Column[i];var itemWidth=item.Width+this.ItemExtraWidth;xLeft-=itemWidth;if(xLeft<reportleft)break;var leftData=null,rightData=null;if(data.TData)leftData=data.TData.LeftData;if(data.TData)rightData=data.TData.RightData;rtItem={Left:xLeft,Right:xLeft+itemWidth,Top:top,Height:this.RowHeight,Width:itemWidth};rtItem.Bottom=rtItem.Top+rtItem.Height;this.DrawItem(dataIndex,data,leftData,item,rtItem,1);if(bSelected&&this.SelectedRow.CellType==1){if(!this.RectSelectedRow)this.RectSelectedRow=rtItem;else this.RectSelectedRow.Left=rtItem.Left;}rtItem={Left:xRight,Right:xRight+itemWidth,Top:top,Height:this.RowHeight,Width:itemWidth};rtItem.Bottom=rtItem.Top+rtItem.Height;this.DrawItem(dataIndex,data,rightData,item,rtItem,2);xRight+=itemWidth;if(bSelected&&this.SelectedRow.CellType==2){if(!this.RectSelectedRow)this.RectSelectedRow=rtItem;else this.RectSelectedRow.Right=rtItem.Right;}}};this.DrawCenterItem=function(index,data,column,rtItem,cellType)//cellType 0=中间字段 1=左侧 2=右侧
13132
13140
  {//tooltip提示
13133
- if(column.EnableTooltip===true)this.TooltipRect.push({Rect:rtItem,data:data,Index:index,Column:column,CellType:cellType});var rtText={Left:rtItem.Left+this.ItemMergin.Left,Right:rtItem.Right-this.ItemMergin.Right,Top:rtItem.Top+this.ItemMergin.Top,Bottom:rtItem.Bottom-this.ItemMergin.Bottom};rtText.Width=rtText.Right-rtText.Left;rtText.Height=rtText.Bottom-rtText.Top;var drawInfo={Text:null,TextColor:this.CenterItemConfig.TextColor,BGColor:this.CenterItemConfig.BGColor,TextAlign:column.TextAlign,Rect:rtItem,RectText:rtText};drawInfo.Text=''+data.ExePrice.toFixed(data.Decimal);this.DrawCell(drawInfo);};this.DrawItem=function(index,exePriceData,data,column,rtItem,cellType){if(column.EnableTooltip===true)this.TooltipRect.push({Rect:rtItem,data:data,Index:index,Column:column,CellType:cellType});var rtText={Left:rtItem.Left+this.ItemMergin.Left,Right:rtItem.Right-this.ItemMergin.Right,Top:rtItem.Top+this.ItemMergin.Top,Bottom:rtItem.Bottom-this.ItemMergin.Bottom};rtText.Width=rtText.Right-rtText.Left;rtText.Height=rtText.Bottom-rtText.Top;var drawInfo={Text:null,TextColor:column.TextColor,TextAlign:column.TextAlign,Rect:rtItem,RectText:rtText};if(data){switch(column.Type){case TREPORT_COLUMN_ID.SYMBOL_ID:case TREPORT_COLUMN_ID.NAME_ID:var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(fieldName)drawInfo.Text=data[fieldName];break;case TREPORT_COLUMN_ID.PRICE_ID://最新价格
13141
+ if(column.EnableTooltip===true)this.TooltipRect.push({Rect:rtItem,Data:data,Index:index,Column:column,CellType:cellType,Type:1});var rtText={Left:rtItem.Left+this.ItemMergin.Left,Right:rtItem.Right-this.ItemMergin.Right,Top:rtItem.Top+this.ItemMergin.Top,Bottom:rtItem.Bottom-this.ItemMergin.Bottom};rtText.Width=rtText.Right-rtText.Left;rtText.Height=rtText.Bottom-rtText.Top;var drawInfo={Text:null,TextColor:this.CenterItemConfig.TextColor,BGColor:this.CenterItemConfig.BGColor,TextAlign:column.TextAlign,Rect:rtItem,RectText:rtText};drawInfo.Text=''+data.ExePrice.toFixed(data.Decimal);this.DrawCell(drawInfo);};this.DrawItem=function(index,exePriceData,data,column,rtItem,cellType){if(column.EnableTooltip===true)this.TooltipRect.push({Rect:rtItem,Data:data,Index:index,Column:column,CellType:cellType,Type:1});var rtText={Left:rtItem.Left+this.ItemMergin.Left,Right:rtItem.Right-this.ItemMergin.Right,Top:rtItem.Top+this.ItemMergin.Top,Bottom:rtItem.Bottom-this.ItemMergin.Bottom};rtText.Width=rtText.Right-rtText.Left;rtText.Height=rtText.Bottom-rtText.Top;var drawInfo={Text:null,TextColor:column.TextColor,TextAlign:column.TextAlign,Rect:rtItem,RectText:rtText};if(data){switch(column.Type){case TREPORT_COLUMN_ID.SYMBOL_ID:case TREPORT_COLUMN_ID.NAME_ID:var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(fieldName)drawInfo.Text=data[fieldName];break;case TREPORT_COLUMN_ID.PRICE_ID://最新价格
13134
13142
  case TREPORT_COLUMN_ID.BUY_PRICE_ID://买价
13135
13143
  case TREPORT_COLUMN_ID.SELL_PRICE_ID://卖价
13136
13144
  var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(fieldName)this.GetPriceDrawInfo(data[fieldName],data,exePriceData,drawInfo);break;case TREPORT_COLUMN_ID.SELL_VOL_ID://卖量
@@ -13138,13 +13146,13 @@ case TREPORT_COLUMN_ID.BUY_VOL_ID://买量
13138
13146
  case TREPORT_COLUMN_ID.POSITION_ID://持仓量
13139
13147
  case TREPORT_COLUMN_ID.VOL_ID://成交量
13140
13148
  case TREPORT_COLUMN_ID.AMOUNT_ID://成交金额
13141
- var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(fieldName)drawInfo.Text=this.FormatVolString(data[fieldName]);break;case TREPORT_COLUMN_ID.INCREASE_ID:case TREPORT_COLUMN_ID.UPDOWN_ID:case TREPORT_COLUMN_ID.AMPLITUDE_ID:var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(fieldName){var value=data[fieldName];if(IFrameSplitOperator.IsNumber(value)){drawInfo.Text=value.toFixed(2);drawInfo.TextColor=this.GetUpDownColor(value,0);}else{this.GetNullDrawInfo(drawInfo);}}break;case TREPORT_COLUMN_ID.RESERVE_NUMBER1_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER2_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER3_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER4_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER5_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER6_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER7_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER8_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER9_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER10_ID:this.FormatReserveNumber(column,data,drawInfo);break;case TREPORT_COLUMN_ID.RESERVE_STRING1_ID:case TREPORT_COLUMN_ID.RESERVE_STRING2_ID:case TREPORT_COLUMN_ID.RESERVE_STRING3_ID:case TREPORT_COLUMN_ID.RESERVE_STRING4_ID:case TREPORT_COLUMN_ID.RESERVE_STRING5_ID:case TREPORT_COLUMN_ID.RESERVE_STRING6_ID:case TREPORT_COLUMN_ID.RESERVE_STRING7_ID:case TREPORT_COLUMN_ID.RESERVE_STRING8_ID:case TREPORT_COLUMN_ID.RESERVE_STRING9_ID:case TREPORT_COLUMN_ID.RESERVE_STRING10_ID:this.FormatReserveString(column,data,drawInfo);break;default:drawInfo.Text='-----';}this.GetMarkBorderData(drawInfo,exePriceData.ExePrice,column.Type,cellType);this.GetFlashBGData(drawInfo,exePriceData,column.Type,cellType);}this.DrawCell(drawInfo,exePriceData,column.Type,cellType);};this.FormatReserveNumber=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var value=data[fieldName];if(!IFrameSplitOperator.IsNumber(value))return;if(IFrameSplitOperator.IsNumber(column.ColorType)){if(column.ColorType==1){drawInfo.TextColor=this.GetUpDownColor(value,0);}else if(column.ColorType==2){drawInfo.TextColor=this.GetUpDownColorV2(value,0);}}//TODO: 不同类型的 格式化输出
13149
+ var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(fieldName)drawInfo.Text=this.FormatVolString(data[fieldName]);break;case TREPORT_COLUMN_ID.INCREASE_ID:case TREPORT_COLUMN_ID.UPDOWN_ID:case TREPORT_COLUMN_ID.AMPLITUDE_ID:var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(fieldName){var value=data[fieldName];if(IFrameSplitOperator.IsNumber(value)){drawInfo.Text=value.toFixed(2);drawInfo.TextColor=this.GetUpDownColor(value,0);}else{this.GetNullDrawInfo(drawInfo);}}break;case TREPORT_COLUMN_ID.RESERVE_NUMBER1_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER2_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER3_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER4_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER5_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER6_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER7_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER8_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER9_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER10_ID:this.FormatReserveNumber(column,data,drawInfo);break;case TREPORT_COLUMN_ID.RESERVE_STRING1_ID:case TREPORT_COLUMN_ID.RESERVE_STRING2_ID:case TREPORT_COLUMN_ID.RESERVE_STRING3_ID:case TREPORT_COLUMN_ID.RESERVE_STRING4_ID:case TREPORT_COLUMN_ID.RESERVE_STRING5_ID:case TREPORT_COLUMN_ID.RESERVE_STRING6_ID:case TREPORT_COLUMN_ID.RESERVE_STRING7_ID:case TREPORT_COLUMN_ID.RESERVE_STRING8_ID:case TREPORT_COLUMN_ID.RESERVE_STRING9_ID:case TREPORT_COLUMN_ID.RESERVE_STRING10_ID:this.FormatReserveString(column,data,drawInfo);break;default:drawInfo.Text='-----';}this.GetMarkBorderData(drawInfo,exePriceData.ExePrice,column.Type,cellType);this.GetFlashBGData(drawInfo,exePriceData,column.Type,cellType);}this.DrawCell(drawInfo,exePriceData,column.Type,cellType);if(column.EnableChartTooltip){var tooltipData={Rect:rtItem,Data:data,Index:index,Column:column,CellType:cellType,Type:20};this.TooltipRect.push(tooltipData);}};this.FormatReserveNumber=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var value=data[fieldName];if(!IFrameSplitOperator.IsNumber(value))return;if(IFrameSplitOperator.IsNumber(column.ColorType)){if(column.ColorType==1){drawInfo.TextColor=this.GetUpDownColor(value,0);}else if(column.ColorType==2){drawInfo.TextColor=this.GetUpDownColorV2(value,0);}}//TODO: 不同类型的 格式化输出
13142
13150
  drawInfo.Text=value.toFixed(column.FloatPrecision);};this.FormatReserveString=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(IFrameSplitOperator.IsObject(item)){if(item.Text)drawInfo.Text=item.Text;if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;}else if(IFrameSplitOperator.IsString(item)){drawInfo.Text=item;}};this.GetFlashBGData=function(drawInfo,exePriceData,columnType,cellType){if(!exePriceData.TData)return;var data=null;if(cellType==1)data=exePriceData.TData.LeftFlashBG;else if(cellType==2)data=exePriceData.TData.RightFlashBG;if(!data||!data.Data)return;if(data.Data.has(columnType)){var item=data.Data.get(columnType);drawInfo.FlashBGColor=item.Color;--item.Count;if(this.GlobalOption)++this.GlobalOption.FlashBGCount;}};this.GetMarkBorderData=function(drawInfo,exePrice,columnType,cellType){if(!this.BorderData||!this.BorderData.MapData)return;if(!this.BorderData.MapData.has(columnType))return;var borderData=this.BorderData.MapData.get(columnType);if(!IFrameSplitOperator.IsNonEmptyArray(borderData.Data))return;if(cellType==1){var leftBorder=borderData.Data[1];if(!leftBorder)return;if(leftBorder.ExePrice==exePrice){drawInfo.BorderColor=this.MarkBorderConfig.MaxPositionColor;}}else if(cellType==2){var rightBorder=borderData.Data[2];if(!rightBorder)return;if(rightBorder.ExePrice==exePrice){drawInfo.BorderColor=this.MarkBorderConfig.MaxPositionColor;}}};this.GetNullDrawInfo=function(drawInfo){drawInfo.Text="--";drawInfo.TextColor=this.UnchangeColor;};this.GetPriceDrawInfo=function(price,stock,data,drawInfo){if(!IFrameSplitOperator.IsNumber(price)){this.GetNullDrawInfo(drawInfo);return;}drawInfo.Text=price.toFixed(data.Decimal);if(!IFrameSplitOperator.IsNumber(stock.YClose))drawInfo.TextColor=this.UnchangeColor;else drawInfo.TextColor=this.GetUpDownColor(price,stock.YClose);};//单独处理成交量显示
13143
13151
  this.FormatVolString=function(value,languageID){if(!IFrameSplitOperator.IsNumber(value))return null;return IFrameSplitOperator.FormatVolString(value,languageID);};this.GetUpDownColor=function(price,price2){if(price>price2)return this.UpColor;else if(price<price2)return this.DownColor;else return this.UnchangeColor;};this.GetUpDownColorV2=function(price,price2){if(price>=price2)return this.UpColor;else return this.DownColor;};this.DrawCell=function(drawInfo){var rtText=drawInfo.RectText;var yCenter=rtText.Top+rtText.Height/2;if(drawInfo.BGColor)//背景
13144
13152
  {var rtItem=drawInfo.Rect;this.Canvas.fillStyle=drawInfo.BGColor;this.Canvas.fillRect(rtItem.Left,rtItem.Top,rtItem.Width,rtItem.Height);}if(drawInfo.FlashBGColor)//闪动背景
13145
13153
  {var rtItem=drawInfo.Rect;this.Canvas.fillStyle=drawInfo.FlashBGColor;this.Canvas.fillRect(rtItem.Left,rtItem.Top,rtItem.Width,rtItem.Height);}if(drawInfo.BorderColor)//边框
13146
13154
  {var rtItem=drawInfo.Rect;this.Canvas.strokeStyle=drawInfo.BorderColor;this.Canvas.strokeRect(ToFixedPoint(rtItem.Left),ToFixedPoint(rtItem.Top+1),ToFixedRect(rtItem.Width),ToFixedRect(rtItem.Height-3));}if(drawInfo.Text)//文字
13147
- {if(drawInfo.TextColor)this.Canvas.fillStyle=drawInfo.TextColor;this.DrawText(drawInfo.Text,drawInfo.TextAlign,rtText.Left,yCenter,rtText.Width);}};this.OnMouseDown=function(x,y,e)//Type: 2=行 3=表头
13155
+ {if(drawInfo.TextColor)this.Canvas.fillStyle=drawInfo.TextColor;this.DrawText(drawInfo.Text,drawInfo.TextAlign,rtText.Left,yCenter,rtText.Width);}};this.GetTooltipData=function(x,y){if(!IFrameSplitOperator.IsNonEmptyArray(this.TooltipRect))return null;for(var i=0;i<this.TooltipRect.length;++i){var item=this.TooltipRect[i];var rt=item.Rect;if(!rt)continue;if(x>=rt.Left&&x<=rt.Right&&y>=rt.Top&&y<=rt.Bottom){return{Rect:item.Rect,Data:item.Data,Column:item.Column,Index:item.Index,Type:item.Type,CellType:item.CellType};}}return null;};this.OnMouseDown=function(x,y,e)//Type: 2=行 3=表头
13148
13156
  {if(!this.Data)return null;var pixelTatio=GetDevicePixelRatio();var insidePoint={X:x/pixelTatio,Y:y/pixelTatio};if(this.UIElement)var uiElement={Left:this.UIElement.getBoundingClientRect().left,Top:this.UIElement.getBoundingClientRect().top};else var uiElement={Left:null,Top:null};var row=this.PtInBody(x,y);if(row){var bRedraw=false;if(!this.SelectedRow){this.SelectedRow={ExePrice:row.ExePrice,CellType:row.CellType};bRedraw=true;}else if(this.SelectedRow.ExePrice!=row.ExePrice||this.SelectedRow.CellType!=row.CellType){this.SelectedRow.ExePrice=row.ExePrice;this.SelectedRow.CellType=row.CellType;bRedraw=true;}var eventID=JSCHART_EVENT_ID.ON_CLICK_TREPORT_ROW;if(e.button==2)eventID=JSCHART_EVENT_ID.ON_RCLICK_TREPORT_ROW;this.SendClickEvent(eventID,{Data:row,X:x,Y:y,e:e,Inside:insidePoint,UIElement:uiElement});return{Type:2,Redraw:bRedraw,Row:row};//行
13149
13157
  }var header=this.PtInHeader(x,y);if(header){var eventID=JSCHART_EVENT_ID.ON_CLICK_TREPORT_HEADER;if(e.button==2){eventID=JSCHART_EVENT_ID.ON_RCLICK_TREPORT_HEADER;}else if(e.button==0){eventID=JSCHART_EVENT_ID.ON_CLICK_TREPORT_HEADER;}this.SendClickEvent(eventID,{Data:header,X:x,Y:y,e:e,Inside:insidePoint,UIElement:uiElement});return{Type:3,Redraw:bRedraw,Header:header};//表头
13150
13158
  }return null;};this.PtInBody=function(x,y){if(!this.Data)return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;var top=this.RectClient.Top+this.HeaderHeight;var left=this.RectClient.Left;var right=this.RectClient.Right;var textTop=top+this.FixedRowHeight*this.FixedRowCount;for(var i=this.Data.YOffset,j=0;i<this.Data.Data.length&&j<this.RowCount;++i,++j){var exePrice=this.Data.Data[i];var rtRow={Left:left,Top:textTop,Right:right,Bottom:textTop+this.RowHeight};rtRow.Height=rtRow.Bottom-rtRow.Top;rtRow.Width=rtRow.Right-rtRow.Left;if(x>=rtRow.Left&&x<=rtRow.Right&&y>=rtRow.Top&&y<=rtRow.Bottom){var data={RectRow:rtRow,DataIndex:i,Index:j,ExePrice:exePrice};return this.PtInItem(x,y,data);}textTop+=this.RowHeight;}return null;};this.PtInItem=function(x,y,info,exePrice){var rtCenterItem=this.GetCenterItemRect();var rtRow=info.RectRow;var rtCenter={Left:rtCenterItem.Left,Right:rtCenterItem.Right,Top:rtRow.Top,Height:rtRow.Height,Bottom:rtRow.Bottom};if(x>=rtCenter.Left&&x<=rtCenter.Right&&y>=rtCenter.Top&&y<=rtCenter.Bottom){var data={Rect:rtCenter,DataIndex:info.DataIndex,Index:info.Index,ExePrice:info.ExePrice,CellType:0,Column:this.CenterColumn};data.Item=this.GetExePriceDataCallback(info.ExePrice);return data;}var xLeft=rtCenterItem.Left;//左边
@@ -13582,7 +13590,7 @@ IsShowRightMenu:false,//是否显示右键菜单
13582
13590
  EnableSelectRect:true,EnableZoomIndexWindow:true,EnableResize:true,//BeforeOpen:{IsShow:true, Width:120, IsShowMultiDay:true, MulitiDayWidth:100, },
13583
13591
  //AfterClose:{IsShow:true, Width:100, IsShowMultiDay:true, MulitiDayWidth:50, ShareVol:2 }, //ShareVol:0=盘后成交量独立坐标, 1==盘后成交量主图共用 2==盘后成交量盘前共用
13584
13592
  CorssCursorInfo:{Left:2,Right:1,Bottom:1},MinuteLine:{},MinuteTitle:{IsShowTime:true,IsShowName:true,IsShowDate:true,IsShowVolTitle:true,//IsAlwaysShowLastData:true,
13585
- IsTitleShowLatestData:true},MinuteVol:{BarColorType:1},//Language:'EN',
13593
+ IsTitleShowLatestData:true,ShowPostion:{Type:1,Margin:{Left:5*GetDevicePixelRatio(),Right:5*GetDevicePixelRatio()}}},MinuteVol:{BarColorType:1},//Language:'EN',
13586
13594
  Border://边框
13587
13595
  {Left:20,//左边间距
13588
13596
  Right:120,//右边间距
@@ -13855,7 +13863,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
13855
13863
  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);};}/********************************************************************************
13856
13864
  * 版本信息输出
13857
13865
  *
13858
- */var HQCHART_VERSION="1.1.14132";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();//把给外界调用的方法暴露出来
13866
+ */var HQCHART_VERSION="1.1.14142";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();//把给外界调用的方法暴露出来
13859
13867
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
13860
13868
  // BaseIndex:BaseIndex,
13861
13869
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.14133",
3
+ "version": "1.1.14143",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -524,6 +524,8 @@ JSTooltipMinuteChart.GetMinuteOption=function()
524
524
  IsShowVolTitle:true,
525
525
  //IsAlwaysShowLastData:true,
526
526
  IsTitleShowLatestData:true,
527
+
528
+ ShowPostion:{ Type:1 , Margin:{ Left:5*GetDevicePixelRatio(), Right:5*GetDevicePixelRatio() } }
527
529
  },
528
530
 
529
531
  MinuteVol: