hqchart 1.1.15046 → 1.1.15051
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/umychart.vue.js
CHANGED
|
@@ -1243,7 +1243,9 @@ if(option.CorssCursorInfo){var item=option.CorssCursorInfo;if(!isNaN(option.Cors
|
|
|
1243
1243
|
if(IFrameSplitOperator.IsBool(option.CorssCursorInfo.IsFixXLastTime))chart.ChartCorssCursor.IsFixXLastTime=option.CorssCursorInfo.IsFixXLastTime;if(item.RightButton){if(IFrameSplitOperator.IsBool(item.RightButton.Enable))chart.ChartCorssCursor.RightButton.Enable=item.RightButton.Enable;}if(item.BottomButton){var subItem=item.BottomButton;if(IFrameSplitOperator.IsBool(subItem.Enable))chart.ChartCorssCursor.BottomButton.Enable=subItem.Enable;}if(IFrameSplitOperator.IsNumber(item.PriceFormatType))chart.ChartCorssCursor.StringFormatY.PriceFormatType=item.PriceFormatType;if(IFrameSplitOperator.IsNumber(item.DataFormatType))chart.ChartCorssCursor.StringFormatY.DataFormatType=item.DataFormatType;if(IFrameSplitOperator.IsNumber(item.HPenType))chart.ChartCorssCursor.HPenType=item.HPenType;if(IFrameSplitOperator.IsNumber(item.VPenType))chart.ChartCorssCursor.VPenType=item.VPenType;if(IFrameSplitOperator.IsBool(item.EnableKeyboard))chart.ChartCorssCursor.EnableKeyboard=item.EnableKeyboard;if(IFrameSplitOperator.IsBool(item.EnableDBClick))chart.ChartCorssCursor.EnableDBClick=item.EnableDBClick;if(IFrameSplitOperator.IsBool(item.IsShowCorssPoint))chart.ChartCorssCursor.CorssPointConfig.Enable=item.IsShowCorssPoint;if(IFrameSplitOperator.IsNumber(item.VLineType))chart.ChartCorssCursor.VLineType=item.VLineType;}if(option.MinuteInfo)chart.CreateMinuteInfo(option.MinuteInfo);if(IFrameSplitOperator.IsBool(option.IsShowRightMenu))chart.IsShowRightMenu=option.IsShowRightMenu;if(IFrameSplitOperator.IsNumber(option.DayCount))chart.DayCount=option.DayCount;this.SetChartBorder(chart,option);if(option.SplashTitle)chart.ChartSplashPaint.SplashTitle=option.SplashTitle;if(IFrameSplitOperator.IsBool(option.EnableBorderDrag)){chart.EnableBorderDrag=option.EnableBorderDrag;}if(IFrameSplitOperator.IsBool(option.EnableBuySellBar)){var barChart=chart.GetChartMinuteBuySellBar();if(barChart)barChart.IsShow=option.EnableBuySellBar;}this.AdjustChartBorder(chart);if(option.Frame){for(var i=0;i<option.Frame.length;++i){var item=option.Frame[i];if(!chart.Frame.SubFrame[i])continue;var subFrame=chart.Frame.SubFrame[i].Frame;if(IFrameSplitOperator.IsNumber(item.SplitCount))chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitCount=item.SplitCount;if(item.StringFormat)chart.Frame.SubFrame[i].Frame.YSplitOperator.StringFormat=item.StringFormat;if(IFrameSplitOperator.IsNumber(item.SplitType)){chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitType=item.SplitType;chart.Frame.SubFrame[i].Frame.YSplitOperator.DefaultSplitType=item.SplitType;}if(IFrameSplitOperator.IsNumber(item.FilterType))subFrame.YSplitOperator.FilterType=item.FilterType;if(item.IsShowLeftText==false){chart.Frame.SubFrame[i].Frame.IsShowYText[0]=item.IsShowLeftText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowLeftText=item.IsShowLeftText;//显示左边刻度
|
|
1244
1244
|
}if(item.IsShowRightText==false){chart.Frame.SubFrame[i].Frame.IsShowYText[1]=item.IsShowRightText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowRightText=item.IsShowRightText;//显示右边刻度
|
|
1245
1245
|
}if(item.Height>=0)chart.Frame.SubFrame[i].Height=item.Height;if(item.Custom)chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;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;//是否显示关闭集合竞价按钮
|
|
1246
|
-
if(IFrameSplitOperator.IsBool(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;if(i==0){if(IFrameSplitOperator.IsNumber(item.RightTextFormat))
|
|
1246
|
+
if(IFrameSplitOperator.IsBool(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;if(i==0){if(IFrameSplitOperator.IsNumber(item.RightTextFormat))//废弃
|
|
1247
|
+
{subFrame.YSplitOperator.RightTextConfig.Format=item.RightTextFormat;if(item.RightTextFormat==2)subFrame.MultiTextFormat=1;}if(item.RightText)//主图右侧坐标设置
|
|
1248
|
+
{var subItem=item.RightText;if(IFrameSplitOperator.IsNumber(subItem.Format))subFrame.YSplitOperator.RightTextConfig.Format=subItem.Format;if(subItem.Format==2)subFrame.MultiTextFormat=1;if(subItem.Percentage&&IFrameSplitOperator.IsNumber(subItem.Percentage.Dec))subFrame.YSplitOperator.RightTextConfig.Percentage.Dec=subItem.Percentage.Dec;}}}chart.UpdateXShowText();}if(option.ExtendChart){for(var i=0;i<option.ExtendChart.length;++i){var item=option.ExtendChart[i];chart.CreateExtendChart(item.Name,item);}}//叠加股票
|
|
1247
1249
|
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;//标题栏均线也不显示
|
|
1248
1250
|
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||item.ShowPosition)//显示位置高级配置
|
|
1249
1251
|
{var subItem=item.ShowPostion;if(item.ShowPosition)subItem=item.ShowPosition;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个指标窗口设置
|
|
@@ -1258,9 +1260,9 @@ if(IFrameSplitOperator.IsNonEmptyArray(option.OverlayIndex)){for(var i=0;i<optio
|
|
|
1258
1260
|
if(option.CorssCursorInfo){var item=option.CorssCursorInfo;if(IFrameSplitOperator.IsNumber(option.CorssCursorInfo.Left))chart.ChartCorssCursor.ShowTextMode.Left=option.CorssCursorInfo.Left;if(IFrameSplitOperator.IsNumber(option.CorssCursorInfo.Right))chart.ChartCorssCursor.ShowTextMode.Right=option.CorssCursorInfo.Right;if(IFrameSplitOperator.IsNumber(option.CorssCursorInfo.Bottom))chart.ChartCorssCursor.ShowTextMode.Bottom=option.CorssCursorInfo.Bottom;if(option.CorssCursorInfo.IsShowCorss===false)chart.ChartCorssCursor.IsShowCorss=option.CorssCursorInfo.IsShowCorss;if(option.CorssCursorInfo.RightTextFormat>0)chart.ChartCorssCursor.TextFormat.Right=option.CorssCursorInfo.RightTextFormat;if(option.CorssCursorInfo.IsOnlyDrawMinute==true)chart.ChartCorssCursor.IsOnlyDrawMinute=option.CorssCursorInfo.IsOnlyDrawMinute;//Y轴显示收盘价
|
|
1259
1261
|
if(IFrameSplitOperator.IsBool(option.CorssCursorInfo.IsFixXLastTime))chart.ChartCorssCursor.IsFixXLastTime=option.CorssCursorInfo.IsFixXLastTime;if(item.RightButton){if(IFrameSplitOperator.IsBool(item.RightButton.Enable))chart.ChartCorssCursor.RightButton.Enable=item.RightButton.Enable;}if(IFrameSplitOperator.IsNumber(item.PriceFormatType))chart.ChartCorssCursor.StringFormatY.PriceFormatType=item.PriceFormatType;if(IFrameSplitOperator.IsNumber(item.DataFormatType))chart.ChartCorssCursor.StringFormatY.DataFormatType=item.DataFormatType;if(IFrameSplitOperator.IsNumber(option.CorssCursorInfo.HPenType))chart.ChartCorssCursor.HPenType=option.CorssCursorInfo.HPenType;if(IFrameSplitOperator.IsNumber(option.CorssCursorInfo.VPenType))chart.ChartCorssCursor.VPenType=option.CorssCursorInfo.VPenType;}if(IFrameSplitOperator.IsNumber(option.DayCount))chart.DayCount=option.DayCount;this.SetChartBorder(chart,option);if(option.SplashTitle)chart.ChartSplashPaint.SplashTitle=option.SplashTitle;if(IFrameSplitOperator.IsBool(option.EnableVerifyRecvData))chart.EnableVerifyRecvData=option.EnableVerifyRecvData;chart.TitlePaint[0].IsShow=false;//主窗口 隐藏刻度
|
|
1260
1262
|
var mainFrame=chart.Frame.SubFrame[0];mainFrame.Frame.IsShowYText[0]=false;mainFrame.Frame.IsShowYText[1]=false;mainFrame.Frame.IsShowXLine=false;mainFrame.Frame.IsShowYLine=false;mainFrame.Frame.BorderLine=0;chart.Frame.SubFrame[1].Height=0;//隐藏成交量
|
|
1261
|
-
chart.EnableBorderDrag=false;if(option.Frame){for(var i=0;i<option.Frame.length;++i){var item=option.Frame[i];if(!chart.Frame.SubFrame[i])continue;if(item.SplitCount)chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitCount=item.SplitCount;if(item.StringFormat)chart.Frame.SubFrame[i].Frame.YSplitOperator.StringFormat=item.StringFormat;if(IFrameSplitOperator.IsNumber(item.SplitType)){chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitType=item.SplitType;chart.Frame.SubFrame[i].Frame.YSplitOperator.DefaultSplitType=item.SplitType;}if(IFrameSplitOperator.IsBool(item.IsShowLeftText)){chart.Frame.SubFrame[i].Frame.IsShowYText[0]=item.IsShowLeftText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowLeftText=item.IsShowLeftText;//显示左边刻度
|
|
1263
|
+
chart.EnableBorderDrag=false;if(option.Frame){for(var i=0;i<option.Frame.length;++i){var item=option.Frame[i];if(!chart.Frame.SubFrame[i])continue;var subFrame=chart.Frame.SubFrame[i].Frame;if(item.SplitCount)chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitCount=item.SplitCount;if(item.StringFormat)chart.Frame.SubFrame[i].Frame.YSplitOperator.StringFormat=item.StringFormat;if(IFrameSplitOperator.IsNumber(item.SplitType)){chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitType=item.SplitType;chart.Frame.SubFrame[i].Frame.YSplitOperator.DefaultSplitType=item.SplitType;}if(IFrameSplitOperator.IsBool(item.IsShowLeftText)){chart.Frame.SubFrame[i].Frame.IsShowYText[0]=item.IsShowLeftText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowLeftText=item.IsShowLeftText;//显示左边刻度
|
|
1262
1264
|
}if(IFrameSplitOperator.IsBool(item.IsShowRightText)){chart.Frame.SubFrame[i].Frame.IsShowYText[1]=item.IsShowRightText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowRightText=item.IsShowRightText;//显示右边刻度
|
|
1263
|
-
}if(item.Height>=0)chart.Frame.SubFrame[i].Height=item.Height;if(item.Custom)chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;if(
|
|
1265
|
+
}if(item.Height>=0)chart.Frame.SubFrame[i].Height=item.Height;if(item.Custom)chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;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(i==0){if(IFrameSplitOperator.IsNumber(item.RightTextFormat))subFrame.YSplitOperator.RightTextConfig.Format=item.RightTextFormat;}}}chart.UpdateXShowText();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;//标题栏均线也不显示
|
|
1264
1266
|
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;}this.AdjustTitleHeight(chart);if(option.DisableMouseEvent===true){//取消鼠标事件
|
|
1265
1267
|
this.CanvasElement.onmousemove=function(e){};this.CanvasElement.oncontextmenu=function(e){};this.CanvasElement.ondblclick=function(e){};this.CanvasElement.onmousedown=function(e){};this.CanvasElement.onmouseout=function(e){};this.CanvasElement.onmouseleave=function(e){};}if(option.ExtendChart){for(var i=0;i<option.ExtendChart.length;++i){var item=option.ExtendChart[i];chart.CreateExtendChart(item.Name,item);}}return chart;};/*废弃
|
|
1266
1268
|
//统一全部使用 MinuteChartContainer
|
|
@@ -5830,8 +5832,9 @@ this.Data;//分钟数据
|
|
|
5830
5832
|
this.SourceData;//原始数据
|
|
5831
5833
|
this.OverlayChartPaint;this.SplitCount=7;this.Symbol;this.SplitType=0;//0=默认根据最大最小值分割 1=涨跌停分割 2=数据最大最大值分割
|
|
5832
5834
|
this.DefaultSplitType=0;this.LimitPrice;//{Max: Min:} 涨跌停价
|
|
5833
|
-
this.Custom
|
|
5834
|
-
this.
|
|
5835
|
+
this.Custom;//this.RightTextFormat=0; //右边刻度显示模式 0=百分比 1=价格 2=价格 | 百分比 !!! 废弃, 用下面的格式
|
|
5836
|
+
this.RightTextConfig={Percentage:{Dec:2},Format:0//Percentage:{ Dec: 百分比小数位数 }, Format: 0=百分比 1=价格 2=价格 | 百分比
|
|
5837
|
+
};this.BeforeOpenData;this.IsBeforeData=false;this.AfterCloseData;this.IsAfterData=false;this.MultiDayBeforeOpenData;this.MultiDayAfterCloseData;this.DayOffset;this.AverageData;//均线
|
|
5835
5838
|
this.DayCount=1;this.GlobalOption;this.HQChart;this.FixedYMaxMin;//{ Max, Min} 固定Y轴最大最小值
|
|
5836
5839
|
this.EnableZoomUpDown=false;this.IsEnableDragY=function(){return true;};this.Operator=function(){this.Frame.HorizontalInfo=[];this.Frame.CustomHorizontalInfo=[];if(!this.Data)return;var range=null;var isFixedMaxMin=this.FixedYMaxMin&&IFrameSplitOperator.IsNumber(this.FixedYMaxMin.Max)&&IFrameSplitOperator.IsNumber(this.FixedYMaxMin.Min);if(isFixedMaxMin){range={Max:this.FixedYMaxMin.Max,Min:this.FixedYMaxMin.Min};JSConsole.Chart.Log('[FrameSplitMinutePriceY::Operator] FixedYMaxMin.Max='+this.FixedYMaxMin.Max+' FixedYMaxMin.Min='+this.FixedYMaxMin.Min+' ');}else{range=this.GetMaxMin();}if(this.Symbol&&MARKET_SUFFIX_NAME.IsUSA(this.Symbol.toUpperCase())){this.USASplit(range,isFixedMaxMin);}else if(this.SplitType==2){this.USASplit(range,isFixedMaxMin);}else{this.DefaultSplit(range,isFixedMaxMin);}this.CustomCoordinate();if(this.EnableZoomUpDown==true&&!this.FixedYMaxMin)this.FixedYMaxMin={Max:range.Max,Min:range.Min};this.ReservedHeight({Max:this.Frame.HorizontalMax,Min:this.Frame.HorizontalMin});//预留高度
|
|
5837
5840
|
if(this.GetEventCallback){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_SPLIT_YCOORDINATE);if(event&&event.Callback){var data={ID:this.Frame.Identify,Frame:this.Frame};event.Callback(event,data,this);}}};this.CustomCoordinate=function()//自定义刻度
|
|
@@ -5855,13 +5858,13 @@ var spacePrice=5*pixelTatio*(max-min)/height;max+=spacePrice;min-=spacePrice;if(
|
|
|
5855
5858
|
}for(var i=0;i<showCount;++i){var price=min+distance*i;if(this.YClose&&price==this.YClose)continue;var coordinate=new CoordinateInfo();coordinate.Value=price;this.FormatCoordinate(coordinate,defaultfloatPrecision);this.Frame.HorizontalInfo.push(coordinate);}if(this.YClose>min&&this.YClose<max)//前收盘线
|
|
5856
5859
|
{var coordinate=new CoordinateInfo();coordinate.Value=this.YClose;coordinate.LineType=2;//中间的线画虚线
|
|
5857
5860
|
if(g_JSChartResource.FrameDotSplitPen)coordinate.LineColor=g_JSChartResource.FrameDotSplitPen;var strPrice=this.YClose.toFixed(defaultfloatPrecision);//价格刻度字符串
|
|
5858
|
-
if(this.IsShowLeftText)coordinate.Message[0]=strPrice;if(this.IsShowRightText){if(this.
|
|
5861
|
+
if(this.IsShowLeftText)coordinate.Message[0]=strPrice;if(this.IsShowRightText){var value=0;var dec=this.RightTextConfig.Percentage.Dec;if(this.RightTextConfig.Format==1)coordinate.Message[1]=strPrice;else coordinate.Message[1]=value.toFixed(dec)+'%';//百分比
|
|
5859
5862
|
}this.Frame.HorizontalInfo.push(coordinate);}this.Frame.HorizontalInfo.sort(function(a,b){return a.Value-b.Value;});this.Frame.HorizontalMax=max;this.Frame.HorizontalMin=min;};this.DefaultSplit=function(range,isFixedMaxMin){var max=range.Max;var min=range.Min;if(!isFixedMaxMin){if(this.YClose==max&&this.YClose==min){max=this.YClose+this.YClose*0.1;min=this.YClose-this.YClose*0.1;}else{var distanceValue=Math.max(Math.abs(this.YClose-max),Math.abs(this.YClose-min));max=this.YClose+distanceValue;min=this.YClose-distanceValue;//if (min<0) min=range.Min;
|
|
5860
5863
|
}}var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
5861
5864
|
var width=this.Frame.ChartBorder.GetChartWidth();//画布的宽度
|
|
5862
5865
|
var isPhoneModel=width<450*pixelTatio;JSConsole.Chart.Log('[FrameSplitMinutePriceY]'+'max='+max+' min='+min+' isPhoneModel='+isPhoneModel);var showCount=this.SplitCount;var distance=(max-min)/(showCount-1);var minDistance=[1,0.1,0.01,0.001,0.0001];var defaultfloatPrecision=GetfloatPrecision(this.Symbol);if(isPhoneModel&&MARKET_SUFFIX_NAME.IsSHSZIndex(this.Symbol))defaultfloatPrecision=0;//手机端指数不显示小数位数,太长了
|
|
5863
5866
|
if(distance<minDistance[defaultfloatPrecision]&&!isFixedMaxMin){distance=minDistance[defaultfloatPrecision];max=this.YClose+distance*(showCount-1)/2;min=this.YClose-distance*(showCount-1)/2;}var aryCoordinate=[];var extendValue=distance*0.5;for(var price=this.YClose,i=0;price<=max+extendValue&&i<30;price+=distance,++i){var coordinate=new CoordinateInfo();coordinate.Value=price;this.FormatCoordinate(coordinate,defaultfloatPrecision);aryCoordinate.push(coordinate);}for(var price=this.YClose-distance,i=0;price>=min-extendValue&&i<30;price-=distance,++i){var coordinate=new CoordinateInfo();coordinate.Value=price;this.FormatCoordinate(coordinate,defaultfloatPrecision);aryCoordinate.push(coordinate);}aryCoordinate.sort(function(left,right){return left.Value-right.Value;});this.Frame.HorizontalInfo=aryCoordinate;this.Frame.HorizontalMax=max;this.Frame.HorizontalMin=min;};this.FormatCoordinate=function(coordinate,defaultfloatPrecision){var price=coordinate.Value;var strPrice=price.toFixed(defaultfloatPrecision);//价格刻度字符串
|
|
5864
|
-
if(this.IsShowLeftText)coordinate.Message[0]=strPrice;if(IFrameSplitOperator.IsNumber(this.YClose)&&this.YClose!=0){var per=(price/this.YClose-1)*100;if(per>0)coordinate.TextColor=g_JSChartResource.UpTextColor;else if(per<0)coordinate.TextColor=g_JSChartResource.DownTextColor;var strPer=IFrameSplitOperator.FormatValueString(per,
|
|
5867
|
+
if(this.IsShowLeftText)coordinate.Message[0]=strPrice;if(IFrameSplitOperator.IsNumber(this.YClose)&&this.YClose!=0){var per=(price/this.YClose-1)*100;if(per>0)coordinate.TextColor=g_JSChartResource.UpTextColor;else if(per<0)coordinate.TextColor=g_JSChartResource.DownTextColor;var dec=this.RightTextConfig.Percentage.Dec;var strPer=IFrameSplitOperator.FormatValueString(per,dec)+'%';if(this.IsShowRightText){if(this.RightTextConfig.Format==1){coordinate.Message[1]=strPrice;}else if(this.RightTextConfig.Format==2)//价格/百分比
|
|
5865
5868
|
{coordinate.Message[1]=[{Text:strPrice},{Text:"/"},{Text:strPer}];}else{coordinate.Message[1]=strPer;//百分比
|
|
5866
5869
|
}}if(Math.abs(price-this.YClose)<0.00000000001)//小数有精度问题 使用差值
|
|
5867
5870
|
{coordinate.LineType=2;//中间的线画虚线
|
|
@@ -6455,9 +6458,9 @@ this.PointMagnetKLine=function(){if(!this.IsSupportMagnet)return false;if(!this.
|
|
|
6455
6458
|
this.PointToValue=function(){if(!this.Frame)return false;if(this.Frame.ClassName=="MinuteFrame"||this.Frame.Class=="MinuteHScreenFrame"){return this.PointToValue_Minute();}else{return this.PointToValue_KLine();}};this.PointToKLine=function(aryPoint){if(!this.Frame)return null;var data=this.Frame.Data;if(!data)return null;var kLine=[];var isHScreen=this.Frame.IsHScreen;if(isHScreen){for(var i in aryPoint){var item=aryPoint[i];var xValue=parseInt(this.Frame.GetXData(item.Y))+data.DataOffset;var yValue=this.Frame.GetYData(item.X);var valueItem={XValue:xValue,YValue:yValue};var kline=data.Data[xValue];valueItem.DateTime={Date:kline.Date};if(IFrameSplitOperator.IsNumber(kline.Time))valueItem.DateTime.Time=kline.Time;kLine[i]=valueItem;}}else{for(var i in aryPoint){var item=aryPoint[i];var index=parseInt(this.Frame.GetXData(item.X,false));var xValue=index+data.DataOffset;if(xValue<0)xValue=0;else if(xValue>=data.Data.length){xValue=data.Data.length-1;index=xValue-data.DataOffset;}var yValue=this.Frame.GetYData(item.Y,false);var valueItem={XValue:xValue,YValue:yValue,XIndex:index};var kline=data.Data[xValue];valueItem.DateTime={Date:kline.Date};if(IFrameSplitOperator.IsNumber(kline.Time))valueItem.DateTime.Time=kline.Time;kLine[i]=valueItem;}}return kLine;};this.PointToValue_KLine=function(){if(!this.Frame)return false;var data=this.Frame.Data;if(!data)return false;var isHScreen=this.Frame.IsHScreen;if(isHScreen){for(var i=0;i<this.Point.length;++i){var item=this.Point[i];var xValue=parseInt(this.Frame.GetXData(item.Y,false))+data.DataOffset;var yValue=this.Frame.GetYData(item.X,false);var valueItem={XValue:xValue,YValue:yValue};var kline=data.Data[xValue];valueItem.DateTime={Date:kline.Date};if(IFrameSplitOperator.IsNumber(kline.Time))valueItem.DateTime.Time=kline.Time;this.Value[i]=valueItem;}}else{for(var i=0;i<this.Point.length;++i){var item=this.Point[i];var xValue=parseInt(this.Frame.GetXData(item.X,false))+data.DataOffset;if(xValue<0)xValue=0;else if(xValue>=data.Data.length)xValue=data.Data.length-1;var yValue=this.Frame.GetYData(item.Y,false);var valueItem={XValue:xValue,YValue:yValue};var kline=data.Data[xValue];valueItem.DateTime={Date:kline.Date};if(IFrameSplitOperator.IsNumber(kline.Time))valueItem.DateTime.Time=kline.Time;this.Value[i]=valueItem;}}return true;};this.PointToValue_Minute=function(){if(!this.Frame)return false;var data=this.Frame.Data;if(!data)return false;var isHScreen=this.Frame.IsHScreen;if(isHScreen){for(var i=0;i<this.Point.length;++i){var item=this.Point[i];var xValue=parseInt(this.Frame.GetXData(item.Y,false));var yValue=this.Frame.GetYData(item.X,false);var valueItem={XValue:xValue,YValue:yValue};var minuteItem=data.Data[xValue];valueItem.DateTime={Date:minuteItem.Date,Time:minuteItem.Time};this.Value[i]=valueItem;}}else{var xDatetime=g_MinuteTimeStringData.GetTimeData(this.Symbol);for(var i=0;i<this.Point.length;++i){var item=this.Point[i];var xValue=parseInt(this.Frame.GetXData(item.X,false));var yValue=this.Frame.GetYData(item.Y,false);if(xValue>=data.Data.length)//超过当前数据,直接读固定时间
|
|
6456
6459
|
{var index=xValue%xDatetime.length;var dataIndex=data.Data.length-1;var valueItem={XValue:xValue,YValue:yValue};var minuteItem=data.Data[dataIndex];var timeItem=xDatetime[index];valueItem.DateTime={Date:minuteItem.Date,Time:timeItem};this.Value[i]=valueItem;}else{var valueItem={XValue:xValue,YValue:yValue};var minuteItem=data.Data[xValue];valueItem.DateTime={Date:minuteItem.Date,Time:minuteItem.Time};this.Value[i]=valueItem;}}}return true;};this.IsPointIn=function(x,y,option){return false;};//Value => Point
|
|
6457
6460
|
this.ValueToPoint=function(){if(!this.Frame)return false;var data=this.Frame.Data;if(!data)return false;//this.UpdateXValue();
|
|
6458
|
-
var isHScreen=this.Frame.IsHScreen;this.Point=[];for(var i=0;i<this.Value.length;++i){var item=this.Value[i];var pt=new Point();if(isHScreen){pt.Y=this.Frame.GetXFromIndex(item.XValue-data.DataOffset,false);pt.X=this.Frame.GetYFromData(item.YValue,false);}else{pt.X=this.Frame.GetXFromIndex(item.XValue-data.DataOffset,false);pt.Y=this.Frame.GetYFromData(item.YValue,false);}this.Point[i]=pt;}};this.
|
|
6459
|
-
this.ChangePeriod=function(period){var kData=this.
|
|
6460
|
-
{var data=this.
|
|
6461
|
+
var isHScreen=this.Frame.IsHScreen;this.Point=[];for(var i=0;i<this.Value.length;++i){var item=this.Value[i];var pt=new Point();if(isHScreen){pt.Y=this.Frame.GetXFromIndex(item.XValue-data.DataOffset,false);pt.X=this.Frame.GetYFromData(item.YValue,false);}else{pt.X=this.Frame.GetXFromIndex(item.XValue-data.DataOffset,false);pt.Y=this.Frame.GetYFromData(item.YValue,false);}this.Point[i]=pt;}};this.GetKData=function(){if(!this.Frame)return null;var data=this.Frame.Data;if(!data)return null;return data;};//周期变动 X重新定位
|
|
6462
|
+
this.ChangePeriod=function(period){var kData=this.GetKData();if(!kData)return;var aryDateTime=[];for(var i=0;i<this.Value.length;++i){var item=this.Value[i];if(!item.DateTime)break;var dateTime={Date:item.DateTime.Date,Time:0,Match:null};if(IFrameSplitOperator.IsNumber(item.DateTime.Time))dateTime.Time=item.DateTime.Time;aryDateTime[i]=dateTime;}var findCount=0;var perData=null;var perIndex=-1;for(var i=0,j=0;i<kData.Data.length;++i){var kItem=kData.Data[i];for(j=0;j<aryDateTime.length;++j){var item=aryDateTime[j];if(item.Match)continue;if(ChartData.IsDayPeriod(period,true)){if(kItem.Date>item.Date){item.Match={KItem:perData,Index:perIndex};++findCount;}}else if(ChartData.IsMinutePeriod(period,true)){if(kItem.Date>item.Date||kItem.Date==item.Date&&kItem.Time>item.Time){item.Match={KItem:perData,Index:perIndex};++findCount;}}}perData=kItem;perIndex=i;if(findCount>=aryDateTime.length)break;}for(var i=0;i<aryDateTime.length;++i){var item=aryDateTime[i];var valueItem=this.Value[i];if(item.Match&&item.Match.KItem){valueItem.DateTime={Date:item.Match.Date,Time:item.Match.Time};valueItem.XValue=item.Match.Index;}else{valueItem.DateTime=null;valueItem.XValue=null;}}this.Period=period;};this.UpdateXValue=function()//通过datetime更新x的索引
|
|
6463
|
+
{var data=this.GetKData();if(!data)return false;var aryDateTime=[];for(var i=0;i<this.Value.length;++i){var item=this.Value[i];if(!item.DateTime)break;var dateTime={Date:item.DateTime.Date};if(IFrameSplitOperator.IsNumber(item.DateTime.Time))dateTime.Time=item.DateTime.Time;aryDateTime[i]=dateTime;}data.FindDataIndexByDateTime(aryDateTime);for(var i=0;i<aryDateTime.length;++i){var findItem=aryDateTime[i];var valueItem=this.Value[i];if(findItem.Index>=0)valueItem.XValue=findItem.Index;}};//重置X索引数据
|
|
6461
6464
|
this.ResetXValue=function(){for(var i=0;i<this.Value.length;++i){var item=this.Value[i];item.XValue=null;}return true;};//xStep,yStep 移动的偏移量
|
|
6462
6465
|
this.Move=function(xStep,yStep){if(this.Status!=20)return false;if(!this.Frame)return false;var data=this.Frame.Data;if(!data)return false;if(this.MovePointIndex==null)return false;var index=parseInt(this.MovePointIndex);if(index===100)//整体移动
|
|
6463
6466
|
{if(this.IsMoveOutOfBounds(this.Point,xStep,yStep))return false;for(var i in this.Point){this.Point[i].X+=xStep;this.Point[i].Y+=yStep;}}else if(index===0||index===1||index===2||index===3||index===4||index===5){if(index<this.Point.length){this.Point[index].X+=xStep;this.Point[index].Y+=yStep;}}else{return false;}};//是否超出边界了
|
|
@@ -7159,7 +7162,7 @@ var stockItem={Symbol:item.Symbol,MapPicture:new _map2.default()};for(var j=0;j<
|
|
|
7159
7162
|
{if(!this.StorageKey)return;var saveData=[];var _iteratorNormalCompletion14=true;var _didIteratorError14=false;var _iteratorError14=undefined;try{for(var _iterator14=(0,_getIterator3.default)(this.DrawDataV2),_step14;!(_iteratorNormalCompletion14=(_step14=_iterator14.next()).done);_iteratorNormalCompletion14=true){var mapItem=_step14.value;var symbol=mapItem[0];var stockItem=mapItem[1];var itemData={Symbol:symbol,AryPicture:[]};var _iteratorNormalCompletion15=true;var _didIteratorError15=false;var _iteratorError15=undefined;try{for(var _iterator15=(0,_getIterator3.default)(stockItem.MapPicture),_step15;!(_iteratorNormalCompletion15=(_step15=_iterator15.next()).done);_iteratorNormalCompletion15=true){var pictureItem=_step15.value;var drawItem=pictureItem[1];if(drawItem.EnableSave===false)continue;itemData.AryPicture.push(drawItem);}}catch(err){_didIteratorError15=true;_iteratorError15=err;}finally{try{if(!_iteratorNormalCompletion15&&_iterator15.return){_iterator15.return();}}finally{if(_didIteratorError15){throw _iteratorError15;}}}if(IFrameSplitOperator.IsNonEmptyArray(itemData.AryPicture))saveData.push(itemData);}}catch(err){_didIteratorError14=true;_iteratorError14=err;}finally{try{if(!_iteratorNormalCompletion14&&_iterator14.return){_iterator14.return();}}finally{if(_didIteratorError14){throw _iteratorError14;}}}JSConsole.Chart.Log('[ChartDrawStorage::Save] save to localStorage, key='+this.StorageKey);var strData=(0,_stringify2.default)({Ver:2.0,Data:saveData});localStorage[this.StorageKey]=strData;};this.SaveDrawData=function(drawPicture)//保存一个画图工具
|
|
7160
7163
|
{var symbol=drawPicture.Symbol;var data=drawPicture.ExportStorageData();if(!data)return;if(this.DrawDataV2.has(symbol))//更新
|
|
7161
7164
|
{JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] Upate: symbol, drawPicture, data',symbol,drawPicture,data);var stockItem=this.DrawDataV2.get(symbol);stockItem.MapPicture.set(data.Guid,data);}else//新增
|
|
7162
|
-
{JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] Insert: symbol, drawPicture, data',symbol,drawPicture,data);var stockItem={Symbol:symbol,MapPicture:new _map2.default()};stockItem.set(data.Guid,data);this.DrawDataV2.set(symbol,
|
|
7165
|
+
{JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] Insert: symbol, drawPicture, data',symbol,drawPicture,data);var stockItem={Symbol:symbol,MapPicture:new _map2.default()};stockItem.MapPicture.set(data.Guid,data);this.DrawDataV2.set(symbol,stockItem);}JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] All draw data: ',this.DrawDataV2);this.Save();};this.DeleteDrawData=function(drawPicture)//删除一个画图工具
|
|
7163
7166
|
{var symbol=drawPicture.Symbol;if(!this.DrawDataV2.has(symbol))return;var stockItem=this.DrawDataV2.get(symbol);if(!stockItem.MapPicture.has(drawPicture.Guid))return;stockItem.MapPicture.delete(drawPicture.Guid);this.Save();};this.Clear=function(){this.DrawDataV2=new _map2.default();this.Save();};this.GetDrawData=function(obj)//获取已有的画图工具数据{ Symbol: , Period:, }
|
|
7164
7167
|
{var aryData=[];var symbol=obj.Symbol;if(!this.DrawDataV2.has(symbol))return aryData;var stockItem=this.DrawDataV2.get(symbol);var _iteratorNormalCompletion16=true;var _didIteratorError16=false;var _iteratorError16=undefined;try{for(var _iterator16=(0,_getIterator3.default)(stockItem.MapPicture),_step16;!(_iteratorNormalCompletion16=(_step16=_iterator16.next()).done);_iteratorNormalCompletion16=true){var mapItem=_step16.value;var drawItem=mapItem[1];if(this.EnableCrossPeriod){aryData.push(drawItem);}else{if(drawItem.Period==obj.Period)aryData.push(drawItem);}}}catch(err){_didIteratorError16=true;_iteratorError16=err;}finally{try{if(!_iteratorNormalCompletion16&&_iterator16.return){_iterator16.return();}}finally{if(_didIteratorError16){throw _iteratorError16;}}}return aryData;};}/////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
7165
7168
|
// 数据分割
|
|
@@ -15333,7 +15336,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
15333
15336
|
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);};}/********************************************************************************
|
|
15334
15337
|
* 版本信息输出
|
|
15335
15338
|
*
|
|
15336
|
-
*/var HQCHART_VERSION="1.1.
|
|
15339
|
+
*/var HQCHART_VERSION="1.1.15050";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();//把给外界调用的方法暴露出来
|
|
15337
15340
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
15338
15341
|
// BaseIndex:BaseIndex,
|
|
15339
15342
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -1186,11 +1186,19 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
1186
1186
|
|
|
1187
1187
|
if (i==0)
|
|
1188
1188
|
{
|
|
1189
|
-
if (IFrameSplitOperator.IsNumber(item.RightTextFormat))
|
|
1189
|
+
if (IFrameSplitOperator.IsNumber(item.RightTextFormat)) //废弃
|
|
1190
1190
|
{
|
|
1191
|
-
subFrame.YSplitOperator.
|
|
1191
|
+
subFrame.YSplitOperator.RightTextConfig.Format=item.RightTextFormat;
|
|
1192
1192
|
if (item.RightTextFormat==2) subFrame.MultiTextFormat=1;
|
|
1193
1193
|
}
|
|
1194
|
+
|
|
1195
|
+
if (item.RightText) //主图右侧坐标设置
|
|
1196
|
+
{
|
|
1197
|
+
var subItem=item.RightText;
|
|
1198
|
+
if (IFrameSplitOperator.IsNumber(subItem.Format)) subFrame.YSplitOperator.RightTextConfig.Format=subItem.Format;
|
|
1199
|
+
if (subItem.Format==2) subFrame.MultiTextFormat=1;
|
|
1200
|
+
if (subItem.Percentage && IFrameSplitOperator.IsNumber(subItem.Percentage.Dec)) subFrame.YSplitOperator.RightTextConfig.Percentage.Dec=subItem.Percentage.Dec;
|
|
1201
|
+
}
|
|
1194
1202
|
}
|
|
1195
1203
|
}
|
|
1196
1204
|
|
|
@@ -1442,6 +1450,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
1442
1450
|
{
|
|
1443
1451
|
var item=option.Frame[i];
|
|
1444
1452
|
if (!chart.Frame.SubFrame[i]) continue;
|
|
1453
|
+
var subFrame=chart.Frame.SubFrame[i].Frame;
|
|
1445
1454
|
if (item.SplitCount) chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitCount=item.SplitCount;
|
|
1446
1455
|
if (item.StringFormat) chart.Frame.SubFrame[i].Frame.YSplitOperator.StringFormat=item.StringFormat;
|
|
1447
1456
|
if (IFrameSplitOperator.IsNumber(item.SplitType))
|
|
@@ -1461,7 +1470,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
1461
1470
|
}
|
|
1462
1471
|
if (item.Height>=0) chart.Frame.SubFrame[i].Height = item.Height;
|
|
1463
1472
|
if (item.Custom) chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;
|
|
1464
|
-
|
|
1473
|
+
|
|
1465
1474
|
if (IFrameSplitOperator.IsNumber(item.TitleHeight)) chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;
|
|
1466
1475
|
if (IFrameSplitOperator.IsNumber(item.BorderLine)) chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;
|
|
1467
1476
|
if (IFrameSplitOperator.IsBool(item.EnableRemoveZero)) chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;
|
|
@@ -1469,6 +1478,11 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
1469
1478
|
if (IFrameSplitOperator.IsBool(item.IsShowXLine)) chart.Frame.SubFrame[i].Frame.IsShowXLine=item.IsShowXLine;
|
|
1470
1479
|
if (IFrameSplitOperator.IsBool(item.IsShowYLine)) chart.Frame.SubFrame[i].Frame.IsShowYLine=item.IsShowYLine;
|
|
1471
1480
|
if (IFrameSplitOperator.IsNumber(item.YTextBaseline)) chart.Frame.SubFrame[i].Frame.YTextBaseline=item.YTextBaseline;
|
|
1481
|
+
|
|
1482
|
+
if (i==0)
|
|
1483
|
+
{
|
|
1484
|
+
if (IFrameSplitOperator.IsNumber(item.RightTextFormat)) subFrame.YSplitOperator.RightTextConfig.Format=item.RightTextFormat;
|
|
1485
|
+
}
|
|
1472
1486
|
}
|
|
1473
1487
|
}
|
|
1474
1488
|
|
|
@@ -56782,7 +56796,8 @@ function FrameSplitMinutePriceY()
|
|
|
56782
56796
|
this.DefaultSplitType=0;
|
|
56783
56797
|
this.LimitPrice; //{Max: Min:} 涨跌停价
|
|
56784
56798
|
this.Custom;
|
|
56785
|
-
this.RightTextFormat=0; //右边刻度显示模式 0=百分比 1=价格 2=价格 | 百分比
|
|
56799
|
+
//this.RightTextFormat=0; //右边刻度显示模式 0=百分比 1=价格 2=价格 | 百分比 !!! 废弃, 用下面的格式
|
|
56800
|
+
this.RightTextConfig={ Percentage:{ Dec:2 }, Format:0 } //Percentage:{ Dec: 百分比小数位数 }, Format: 0=百分比 1=价格 2=价格 | 百分比
|
|
56786
56801
|
|
|
56787
56802
|
this.BeforeOpenData;
|
|
56788
56803
|
this.IsBeforeData=false;
|
|
@@ -57244,8 +57259,10 @@ function FrameSplitMinutePriceY()
|
|
|
57244
57259
|
|
|
57245
57260
|
if (this.IsShowRightText)
|
|
57246
57261
|
{
|
|
57247
|
-
|
|
57248
|
-
|
|
57262
|
+
var value=0;
|
|
57263
|
+
var dec=this.RightTextConfig.Percentage.Dec;
|
|
57264
|
+
if (this.RightTextConfig.Format==1) coordinate.Message[1]=strPrice;
|
|
57265
|
+
else coordinate.Message[1]=`${value.toFixed(dec)}%`; //百分比
|
|
57249
57266
|
}
|
|
57250
57267
|
|
|
57251
57268
|
this.Frame.HorizontalInfo.push(coordinate);
|
|
@@ -57331,15 +57348,17 @@ function FrameSplitMinutePriceY()
|
|
|
57331
57348
|
var per=(price/this.YClose-1)*100;
|
|
57332
57349
|
if (per>0) coordinate.TextColor=g_JSChartResource.UpTextColor;
|
|
57333
57350
|
else if (per<0) coordinate.TextColor=g_JSChartResource.DownTextColor;
|
|
57334
|
-
|
|
57351
|
+
|
|
57352
|
+
var dec=this.RightTextConfig.Percentage.Dec;
|
|
57353
|
+
var strPer=`${IFrameSplitOperator.FormatValueString(per,dec)}%`;
|
|
57335
57354
|
|
|
57336
57355
|
if (this.IsShowRightText)
|
|
57337
57356
|
{
|
|
57338
|
-
if (this.
|
|
57357
|
+
if (this.RightTextConfig.Format==1)
|
|
57339
57358
|
{
|
|
57340
57359
|
coordinate.Message[1]=strPrice;
|
|
57341
57360
|
}
|
|
57342
|
-
else if (this.
|
|
57361
|
+
else if (this.RightTextConfig.Format==2) //价格/百分比
|
|
57343
57362
|
{
|
|
57344
57363
|
coordinate.Message[1]=[ {Text:strPrice}, {Text:"/"}, { Text:strPer} ];
|
|
57345
57364
|
}
|
|
@@ -64637,7 +64656,7 @@ function IChartDrawPicture()
|
|
|
64637
64656
|
}
|
|
64638
64657
|
}
|
|
64639
64658
|
|
|
64640
|
-
this.
|
|
64659
|
+
this.GetKData=function()
|
|
64641
64660
|
{
|
|
64642
64661
|
if (!this.Frame) return null;
|
|
64643
64662
|
var data=this.Frame.Data;
|
|
@@ -64649,7 +64668,7 @@ function IChartDrawPicture()
|
|
|
64649
64668
|
//周期变动 X重新定位
|
|
64650
64669
|
this.ChangePeriod=function(period)
|
|
64651
64670
|
{
|
|
64652
|
-
var kData=this.
|
|
64671
|
+
var kData=this.GetKData();
|
|
64653
64672
|
if (!kData) return;
|
|
64654
64673
|
|
|
64655
64674
|
var aryDateTime=[];
|
|
@@ -64719,7 +64738,7 @@ function IChartDrawPicture()
|
|
|
64719
64738
|
|
|
64720
64739
|
this.UpdateXValue=function() //通过datetime更新x的索引
|
|
64721
64740
|
{
|
|
64722
|
-
var data=this.
|
|
64741
|
+
var data=this.GetKData();
|
|
64723
64742
|
if (!data) return false;
|
|
64724
64743
|
|
|
64725
64744
|
var aryDateTime=[];
|
|
@@ -76528,8 +76547,8 @@ function ChartDrawStorage()
|
|
|
76528
76547
|
{
|
|
76529
76548
|
JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] Insert: symbol, drawPicture, data', symbol, drawPicture,data);
|
|
76530
76549
|
var stockItem={ Symbol:symbol, MapPicture:new Map() } ;
|
|
76531
|
-
stockItem.set(data.Guid, data);
|
|
76532
|
-
this.DrawDataV2.set(symbol,
|
|
76550
|
+
stockItem.MapPicture.set(data.Guid, data);
|
|
76551
|
+
this.DrawDataV2.set(symbol,stockItem);
|
|
76533
76552
|
}
|
|
76534
76553
|
|
|
76535
76554
|
JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] All draw data: ', this.DrawDataV2);
|
|
@@ -5282,11 +5282,19 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5282
5282
|
|
|
5283
5283
|
if (i==0)
|
|
5284
5284
|
{
|
|
5285
|
-
if (IFrameSplitOperator.IsNumber(item.RightTextFormat))
|
|
5285
|
+
if (IFrameSplitOperator.IsNumber(item.RightTextFormat)) //废弃
|
|
5286
5286
|
{
|
|
5287
|
-
subFrame.YSplitOperator.
|
|
5287
|
+
subFrame.YSplitOperator.RightTextConfig.Format=item.RightTextFormat;
|
|
5288
5288
|
if (item.RightTextFormat==2) subFrame.MultiTextFormat=1;
|
|
5289
5289
|
}
|
|
5290
|
+
|
|
5291
|
+
if (item.RightText) //主图右侧坐标设置
|
|
5292
|
+
{
|
|
5293
|
+
var subItem=item.RightText;
|
|
5294
|
+
if (IFrameSplitOperator.IsNumber(subItem.Format)) subFrame.YSplitOperator.RightTextConfig.Format=subItem.Format;
|
|
5295
|
+
if (subItem.Format==2) subFrame.MultiTextFormat=1;
|
|
5296
|
+
if (subItem.Percentage && IFrameSplitOperator.IsNumber(subItem.Percentage.Dec)) subFrame.YSplitOperator.RightTextConfig.Percentage.Dec=subItem.Percentage.Dec;
|
|
5297
|
+
}
|
|
5290
5298
|
}
|
|
5291
5299
|
}
|
|
5292
5300
|
|
|
@@ -5538,6 +5546,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5538
5546
|
{
|
|
5539
5547
|
var item=option.Frame[i];
|
|
5540
5548
|
if (!chart.Frame.SubFrame[i]) continue;
|
|
5549
|
+
var subFrame=chart.Frame.SubFrame[i].Frame;
|
|
5541
5550
|
if (item.SplitCount) chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitCount=item.SplitCount;
|
|
5542
5551
|
if (item.StringFormat) chart.Frame.SubFrame[i].Frame.YSplitOperator.StringFormat=item.StringFormat;
|
|
5543
5552
|
if (IFrameSplitOperator.IsNumber(item.SplitType))
|
|
@@ -5557,7 +5566,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5557
5566
|
}
|
|
5558
5567
|
if (item.Height>=0) chart.Frame.SubFrame[i].Height = item.Height;
|
|
5559
5568
|
if (item.Custom) chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;
|
|
5560
|
-
|
|
5569
|
+
|
|
5561
5570
|
if (IFrameSplitOperator.IsNumber(item.TitleHeight)) chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;
|
|
5562
5571
|
if (IFrameSplitOperator.IsNumber(item.BorderLine)) chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;
|
|
5563
5572
|
if (IFrameSplitOperator.IsBool(item.EnableRemoveZero)) chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;
|
|
@@ -5565,6 +5574,11 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5565
5574
|
if (IFrameSplitOperator.IsBool(item.IsShowXLine)) chart.Frame.SubFrame[i].Frame.IsShowXLine=item.IsShowXLine;
|
|
5566
5575
|
if (IFrameSplitOperator.IsBool(item.IsShowYLine)) chart.Frame.SubFrame[i].Frame.IsShowYLine=item.IsShowYLine;
|
|
5567
5576
|
if (IFrameSplitOperator.IsNumber(item.YTextBaseline)) chart.Frame.SubFrame[i].Frame.YTextBaseline=item.YTextBaseline;
|
|
5577
|
+
|
|
5578
|
+
if (i==0)
|
|
5579
|
+
{
|
|
5580
|
+
if (IFrameSplitOperator.IsNumber(item.RightTextFormat)) subFrame.YSplitOperator.RightTextConfig.Format=item.RightTextFormat;
|
|
5581
|
+
}
|
|
5568
5582
|
}
|
|
5569
5583
|
}
|
|
5570
5584
|
|
|
@@ -60878,7 +60892,8 @@ function FrameSplitMinutePriceY()
|
|
|
60878
60892
|
this.DefaultSplitType=0;
|
|
60879
60893
|
this.LimitPrice; //{Max: Min:} 涨跌停价
|
|
60880
60894
|
this.Custom;
|
|
60881
|
-
this.RightTextFormat=0; //右边刻度显示模式 0=百分比 1=价格 2=价格 | 百分比
|
|
60895
|
+
//this.RightTextFormat=0; //右边刻度显示模式 0=百分比 1=价格 2=价格 | 百分比 !!! 废弃, 用下面的格式
|
|
60896
|
+
this.RightTextConfig={ Percentage:{ Dec:2 }, Format:0 } //Percentage:{ Dec: 百分比小数位数 }, Format: 0=百分比 1=价格 2=价格 | 百分比
|
|
60882
60897
|
|
|
60883
60898
|
this.BeforeOpenData;
|
|
60884
60899
|
this.IsBeforeData=false;
|
|
@@ -61340,8 +61355,10 @@ function FrameSplitMinutePriceY()
|
|
|
61340
61355
|
|
|
61341
61356
|
if (this.IsShowRightText)
|
|
61342
61357
|
{
|
|
61343
|
-
|
|
61344
|
-
|
|
61358
|
+
var value=0;
|
|
61359
|
+
var dec=this.RightTextConfig.Percentage.Dec;
|
|
61360
|
+
if (this.RightTextConfig.Format==1) coordinate.Message[1]=strPrice;
|
|
61361
|
+
else coordinate.Message[1]=`${value.toFixed(dec)}%`; //百分比
|
|
61345
61362
|
}
|
|
61346
61363
|
|
|
61347
61364
|
this.Frame.HorizontalInfo.push(coordinate);
|
|
@@ -61427,15 +61444,17 @@ function FrameSplitMinutePriceY()
|
|
|
61427
61444
|
var per=(price/this.YClose-1)*100;
|
|
61428
61445
|
if (per>0) coordinate.TextColor=g_JSChartResource.UpTextColor;
|
|
61429
61446
|
else if (per<0) coordinate.TextColor=g_JSChartResource.DownTextColor;
|
|
61430
|
-
|
|
61447
|
+
|
|
61448
|
+
var dec=this.RightTextConfig.Percentage.Dec;
|
|
61449
|
+
var strPer=`${IFrameSplitOperator.FormatValueString(per,dec)}%`;
|
|
61431
61450
|
|
|
61432
61451
|
if (this.IsShowRightText)
|
|
61433
61452
|
{
|
|
61434
|
-
if (this.
|
|
61453
|
+
if (this.RightTextConfig.Format==1)
|
|
61435
61454
|
{
|
|
61436
61455
|
coordinate.Message[1]=strPrice;
|
|
61437
61456
|
}
|
|
61438
|
-
else if (this.
|
|
61457
|
+
else if (this.RightTextConfig.Format==2) //价格/百分比
|
|
61439
61458
|
{
|
|
61440
61459
|
coordinate.Message[1]=[ {Text:strPrice}, {Text:"/"}, { Text:strPer} ];
|
|
61441
61460
|
}
|
|
@@ -68733,7 +68752,7 @@ function IChartDrawPicture()
|
|
|
68733
68752
|
}
|
|
68734
68753
|
}
|
|
68735
68754
|
|
|
68736
|
-
this.
|
|
68755
|
+
this.GetKData=function()
|
|
68737
68756
|
{
|
|
68738
68757
|
if (!this.Frame) return null;
|
|
68739
68758
|
var data=this.Frame.Data;
|
|
@@ -68745,7 +68764,7 @@ function IChartDrawPicture()
|
|
|
68745
68764
|
//周期变动 X重新定位
|
|
68746
68765
|
this.ChangePeriod=function(period)
|
|
68747
68766
|
{
|
|
68748
|
-
var kData=this.
|
|
68767
|
+
var kData=this.GetKData();
|
|
68749
68768
|
if (!kData) return;
|
|
68750
68769
|
|
|
68751
68770
|
var aryDateTime=[];
|
|
@@ -68815,7 +68834,7 @@ function IChartDrawPicture()
|
|
|
68815
68834
|
|
|
68816
68835
|
this.UpdateXValue=function() //通过datetime更新x的索引
|
|
68817
68836
|
{
|
|
68818
|
-
var data=this.
|
|
68837
|
+
var data=this.GetKData();
|
|
68819
68838
|
if (!data) return false;
|
|
68820
68839
|
|
|
68821
68840
|
var aryDateTime=[];
|
|
@@ -80624,8 +80643,8 @@ function ChartDrawStorage()
|
|
|
80624
80643
|
{
|
|
80625
80644
|
JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] Insert: symbol, drawPicture, data', symbol, drawPicture,data);
|
|
80626
80645
|
var stockItem={ Symbol:symbol, MapPicture:new Map() } ;
|
|
80627
|
-
stockItem.set(data.Guid, data);
|
|
80628
|
-
this.DrawDataV2.set(symbol,
|
|
80646
|
+
stockItem.MapPicture.set(data.Guid, data);
|
|
80647
|
+
this.DrawDataV2.set(symbol,stockItem);
|
|
80629
80648
|
}
|
|
80630
80649
|
|
|
80631
80650
|
JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] All draw data: ', this.DrawDataV2);
|
|
@@ -153296,7 +153315,7 @@ function ScrollBarBGChart()
|
|
|
153296
153315
|
|
|
153297
153316
|
|
|
153298
153317
|
|
|
153299
|
-
var HQCHART_VERSION="1.1.
|
|
153318
|
+
var HQCHART_VERSION="1.1.15050";
|
|
153300
153319
|
|
|
153301
153320
|
function PrintHQChartVersion()
|
|
153302
153321
|
{
|
|
@@ -5326,11 +5326,19 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5326
5326
|
|
|
5327
5327
|
if (i==0)
|
|
5328
5328
|
{
|
|
5329
|
-
if (IFrameSplitOperator.IsNumber(item.RightTextFormat))
|
|
5329
|
+
if (IFrameSplitOperator.IsNumber(item.RightTextFormat)) //废弃
|
|
5330
5330
|
{
|
|
5331
|
-
subFrame.YSplitOperator.
|
|
5331
|
+
subFrame.YSplitOperator.RightTextConfig.Format=item.RightTextFormat;
|
|
5332
5332
|
if (item.RightTextFormat==2) subFrame.MultiTextFormat=1;
|
|
5333
5333
|
}
|
|
5334
|
+
|
|
5335
|
+
if (item.RightText) //主图右侧坐标设置
|
|
5336
|
+
{
|
|
5337
|
+
var subItem=item.RightText;
|
|
5338
|
+
if (IFrameSplitOperator.IsNumber(subItem.Format)) subFrame.YSplitOperator.RightTextConfig.Format=subItem.Format;
|
|
5339
|
+
if (subItem.Format==2) subFrame.MultiTextFormat=1;
|
|
5340
|
+
if (subItem.Percentage && IFrameSplitOperator.IsNumber(subItem.Percentage.Dec)) subFrame.YSplitOperator.RightTextConfig.Percentage.Dec=subItem.Percentage.Dec;
|
|
5341
|
+
}
|
|
5334
5342
|
}
|
|
5335
5343
|
}
|
|
5336
5344
|
|
|
@@ -5582,6 +5590,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5582
5590
|
{
|
|
5583
5591
|
var item=option.Frame[i];
|
|
5584
5592
|
if (!chart.Frame.SubFrame[i]) continue;
|
|
5593
|
+
var subFrame=chart.Frame.SubFrame[i].Frame;
|
|
5585
5594
|
if (item.SplitCount) chart.Frame.SubFrame[i].Frame.YSplitOperator.SplitCount=item.SplitCount;
|
|
5586
5595
|
if (item.StringFormat) chart.Frame.SubFrame[i].Frame.YSplitOperator.StringFormat=item.StringFormat;
|
|
5587
5596
|
if (IFrameSplitOperator.IsNumber(item.SplitType))
|
|
@@ -5601,7 +5610,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5601
5610
|
}
|
|
5602
5611
|
if (item.Height>=0) chart.Frame.SubFrame[i].Height = item.Height;
|
|
5603
5612
|
if (item.Custom) chart.Frame.SubFrame[i].Frame.YSplitOperator.Custom=item.Custom;
|
|
5604
|
-
|
|
5613
|
+
|
|
5605
5614
|
if (IFrameSplitOperator.IsNumber(item.TitleHeight)) chart.Frame.SubFrame[i].Frame.ChartBorder.TitleHeight=item.TitleHeight;
|
|
5606
5615
|
if (IFrameSplitOperator.IsNumber(item.BorderLine)) chart.Frame.SubFrame[i].Frame.BorderLine=item.BorderLine;
|
|
5607
5616
|
if (IFrameSplitOperator.IsBool(item.EnableRemoveZero)) chart.Frame.SubFrame[i].Frame.YSplitOperator.EnableRemoveZero=item.EnableRemoveZero;
|
|
@@ -5609,6 +5618,11 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
5609
5618
|
if (IFrameSplitOperator.IsBool(item.IsShowXLine)) chart.Frame.SubFrame[i].Frame.IsShowXLine=item.IsShowXLine;
|
|
5610
5619
|
if (IFrameSplitOperator.IsBool(item.IsShowYLine)) chart.Frame.SubFrame[i].Frame.IsShowYLine=item.IsShowYLine;
|
|
5611
5620
|
if (IFrameSplitOperator.IsNumber(item.YTextBaseline)) chart.Frame.SubFrame[i].Frame.YTextBaseline=item.YTextBaseline;
|
|
5621
|
+
|
|
5622
|
+
if (i==0)
|
|
5623
|
+
{
|
|
5624
|
+
if (IFrameSplitOperator.IsNumber(item.RightTextFormat)) subFrame.YSplitOperator.RightTextConfig.Format=item.RightTextFormat;
|
|
5625
|
+
}
|
|
5612
5626
|
}
|
|
5613
5627
|
}
|
|
5614
5628
|
|
|
@@ -60922,7 +60936,8 @@ function FrameSplitMinutePriceY()
|
|
|
60922
60936
|
this.DefaultSplitType=0;
|
|
60923
60937
|
this.LimitPrice; //{Max: Min:} 涨跌停价
|
|
60924
60938
|
this.Custom;
|
|
60925
|
-
this.RightTextFormat=0; //右边刻度显示模式 0=百分比 1=价格 2=价格 | 百分比
|
|
60939
|
+
//this.RightTextFormat=0; //右边刻度显示模式 0=百分比 1=价格 2=价格 | 百分比 !!! 废弃, 用下面的格式
|
|
60940
|
+
this.RightTextConfig={ Percentage:{ Dec:2 }, Format:0 } //Percentage:{ Dec: 百分比小数位数 }, Format: 0=百分比 1=价格 2=价格 | 百分比
|
|
60926
60941
|
|
|
60927
60942
|
this.BeforeOpenData;
|
|
60928
60943
|
this.IsBeforeData=false;
|
|
@@ -61384,8 +61399,10 @@ function FrameSplitMinutePriceY()
|
|
|
61384
61399
|
|
|
61385
61400
|
if (this.IsShowRightText)
|
|
61386
61401
|
{
|
|
61387
|
-
|
|
61388
|
-
|
|
61402
|
+
var value=0;
|
|
61403
|
+
var dec=this.RightTextConfig.Percentage.Dec;
|
|
61404
|
+
if (this.RightTextConfig.Format==1) coordinate.Message[1]=strPrice;
|
|
61405
|
+
else coordinate.Message[1]=`${value.toFixed(dec)}%`; //百分比
|
|
61389
61406
|
}
|
|
61390
61407
|
|
|
61391
61408
|
this.Frame.HorizontalInfo.push(coordinate);
|
|
@@ -61471,15 +61488,17 @@ function FrameSplitMinutePriceY()
|
|
|
61471
61488
|
var per=(price/this.YClose-1)*100;
|
|
61472
61489
|
if (per>0) coordinate.TextColor=g_JSChartResource.UpTextColor;
|
|
61473
61490
|
else if (per<0) coordinate.TextColor=g_JSChartResource.DownTextColor;
|
|
61474
|
-
|
|
61491
|
+
|
|
61492
|
+
var dec=this.RightTextConfig.Percentage.Dec;
|
|
61493
|
+
var strPer=`${IFrameSplitOperator.FormatValueString(per,dec)}%`;
|
|
61475
61494
|
|
|
61476
61495
|
if (this.IsShowRightText)
|
|
61477
61496
|
{
|
|
61478
|
-
if (this.
|
|
61497
|
+
if (this.RightTextConfig.Format==1)
|
|
61479
61498
|
{
|
|
61480
61499
|
coordinate.Message[1]=strPrice;
|
|
61481
61500
|
}
|
|
61482
|
-
else if (this.
|
|
61501
|
+
else if (this.RightTextConfig.Format==2) //价格/百分比
|
|
61483
61502
|
{
|
|
61484
61503
|
coordinate.Message[1]=[ {Text:strPrice}, {Text:"/"}, { Text:strPer} ];
|
|
61485
61504
|
}
|
|
@@ -68777,7 +68796,7 @@ function IChartDrawPicture()
|
|
|
68777
68796
|
}
|
|
68778
68797
|
}
|
|
68779
68798
|
|
|
68780
|
-
this.
|
|
68799
|
+
this.GetKData=function()
|
|
68781
68800
|
{
|
|
68782
68801
|
if (!this.Frame) return null;
|
|
68783
68802
|
var data=this.Frame.Data;
|
|
@@ -68789,7 +68808,7 @@ function IChartDrawPicture()
|
|
|
68789
68808
|
//周期变动 X重新定位
|
|
68790
68809
|
this.ChangePeriod=function(period)
|
|
68791
68810
|
{
|
|
68792
|
-
var kData=this.
|
|
68811
|
+
var kData=this.GetKData();
|
|
68793
68812
|
if (!kData) return;
|
|
68794
68813
|
|
|
68795
68814
|
var aryDateTime=[];
|
|
@@ -68859,7 +68878,7 @@ function IChartDrawPicture()
|
|
|
68859
68878
|
|
|
68860
68879
|
this.UpdateXValue=function() //通过datetime更新x的索引
|
|
68861
68880
|
{
|
|
68862
|
-
var data=this.
|
|
68881
|
+
var data=this.GetKData();
|
|
68863
68882
|
if (!data) return false;
|
|
68864
68883
|
|
|
68865
68884
|
var aryDateTime=[];
|
|
@@ -80668,8 +80687,8 @@ function ChartDrawStorage()
|
|
|
80668
80687
|
{
|
|
80669
80688
|
JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] Insert: symbol, drawPicture, data', symbol, drawPicture,data);
|
|
80670
80689
|
var stockItem={ Symbol:symbol, MapPicture:new Map() } ;
|
|
80671
|
-
stockItem.set(data.Guid, data);
|
|
80672
|
-
this.DrawDataV2.set(symbol,
|
|
80690
|
+
stockItem.MapPicture.set(data.Guid, data);
|
|
80691
|
+
this.DrawDataV2.set(symbol,stockItem);
|
|
80673
80692
|
}
|
|
80674
80693
|
|
|
80675
80694
|
JSConsole.Chart.Log('[ChartDrawStorage::SaveDrawData] All draw data: ', this.DrawDataV2);
|
|
@@ -165176,7 +165195,7 @@ function HQChartScriptWorker()
|
|
|
165176
165195
|
|
|
165177
165196
|
|
|
165178
165197
|
|
|
165179
|
-
var HQCHART_VERSION="1.1.
|
|
165198
|
+
var HQCHART_VERSION="1.1.15050";
|
|
165180
165199
|
|
|
165181
165200
|
function PrintHQChartVersion()
|
|
165182
165201
|
{
|