hqchart 1.1.14457 → 1.1.14464
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 +20 -16
- package/package.json +1 -1
- package/src/jscommon/umychart.TReport.js +4 -4
- package/src/jscommon/umychart.deal.js +9 -1
- package/src/jscommon/umychart.js +53 -2
- package/src/jscommon/umychart.keyboard.js +4 -4
- package/src/jscommon/umychart.report.js +4 -4
- package/src/jscommon/umychart.scrollbar.js +4 -4
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +75 -16
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +79 -20
package/lib/umychart.vue.js
CHANGED
|
@@ -1208,7 +1208,7 @@ if(option.SelectedChart){var item=option.SelectedChart;if(IFrameSplitOperator.Is
|
|
|
1208
1208
|
}}if(option.EnableYDrag){var item=option.EnableYDrag;if(IFrameSplitOperator.IsBool(item.Left))chart.EnableYDrag.Left=item.Left;if(IFrameSplitOperator.IsBool(item.Right))chart.EnableYDrag.Right=item.Right;if(IFrameSplitOperator.IsBool(item.Wheel))chart.EnableYDrag.Wheel=item.Wheel;if(IFrameSplitOperator.IsNumber(item.WheelYMove))chart.EnableYDrag.WheelYMove=item.WheelYMove;}//分页
|
|
1209
1209
|
if(option.PageInfo)chart.SetPageInfo(option.PageInfo);chart.Create(windowsCount,option);//创建子窗口
|
|
1210
1210
|
if(option.CorssCursorInfo){var item=option.CorssCursorInfo;if(!isNaN(option.CorssCursorInfo.Left))chart.ChartCorssCursor.ShowTextMode.Left=option.CorssCursorInfo.Left;if(!isNaN(option.CorssCursorInfo.Right))chart.ChartCorssCursor.ShowTextMode.Right=option.CorssCursorInfo.Right;if(!isNaN(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轴显示收盘价
|
|
1211
|
-
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(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.IsShowCorssPoint))chart.ChartCorssCursor.CorssPointConfig.Enable=item.IsShowCorssPoint;}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;}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;//显示左边刻度
|
|
1211
|
+
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(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.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;}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;//显示左边刻度
|
|
1212
1212
|
}if(item.IsShowRightText==false){chart.Frame.SubFrame[i].Frame.IsShowYText[1]=item.IsShowRightText;chart.Frame.SubFrame[i].Frame.YSplitOperator.IsShowRightText=item.IsShowRightText;//显示右边刻度
|
|
1213
1213
|
}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;//是否显示关闭集合竞价按钮
|
|
1214
1214
|
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;if(i==0){if(IFrameSplitOperator.IsNumber(item.RightTextFormat)){subFrame.YSplitOperator.RightTextFormat=item.RightTextFormat;if(item.RightTextFormat==2)subFrame.MultiTextFormat=1;}}}chart.UpdateXShowText();}if(option.ExtendChart){for(var i=0;i<option.ExtendChart.length;++i){var item=option.ExtendChart[i];chart.CreateExtendChart(item.Name,item);}}//叠加股票
|
|
@@ -2551,11 +2551,11 @@ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_MINUTE_NIGHT_DAY_X_IN
|
|
|
2551
2551
|
this.Canvas.font=this.NightDayConfig.Font;this.Canvas.textBaseline="bottom";this.Canvas.textAlign='left';var aryTitle=[{Title:"夜盘",Position:1,Config:this.NightDayConfig.Night},{Title:"日盘",Position:0,Config:this.NightDayConfig.Day}];var textHeight=this.Canvas.measureText("擎").width;for(var i=0;i<aryTitle.length;++i){var item=aryTitle[i];var text=g_JSChartLocalization.GetText(item.Title,this.HQChart.LanguageID);var testWidth=this.Canvas.measureText(text).width;var rtItem={Width:testWidth+item.Config.Margin.Left+item.Config.Margin.Right,Height:textHeight+item.Config.Margin.Top+item.Config.Margin.Bottom,Bottom:border.Bottom};rtItem.Top=rtItem.Bottom-rtItem.Height;if(item.Position===1){rtItem.Right=x-1;rtItem.Left=rtItem.Right-rtItem.Width;}else{rtItem.Left=x+1;rtItem.Right=rtItem.Left+rtItem.Width;}if(item.Config.BGColor){this.Canvas.fillStyle=item.Config.BGColor;this.Canvas.fillRect(rtItem.Left,rtItem.Top,rtItem.Width,rtItem.Height);}if(item.Config.BorderColor){this.Canvas.strokeStyle=item.Config.BorderColor;this.Canvas.strokeRect(ToFixedPoint(rtItem.Left),ToFixedPoint(rtItem.Top),ToFixedRect(rtItem.Width),ToFixedRect(rtItem.Height));}this.Canvas.fillStyle=item.Config.Color;this.Canvas.fillText(text,rtItem.Left+item.Config.Margin.Left,rtItem.Bottom-item.Config.Margin.Bottom);}};//选中的画图工具X轴坐标信息
|
|
2552
2552
|
this.DrawPictureXCoordinate=function(drawPicture,range,option){if(this.IsHScreen)return;if(!range)return;if(!IFrameSplitOperator.IsNonEmptyArray(range.Points))return;var border=this.GetBorder();var left=border.Left;var right=border.Right;this.Canvas.font=this.DrawPicture.Font;var fontHeight=this.GetFontHeight();if(range.X){var xRange=range.X;var xLeft=xRange.Min.X;var xRight=xRange.Max.X;if(xLeft<left)xLeft=left;if(xRight>right)xRight=right;this.Canvas.fillStyle=this.DrawPicture.BGColor;this.Canvas.fillRect(xLeft,border.Bottom,xRight-xLeft,fontHeight);}for(var i=0;i<range.Points.length;++i){var item=range.Points[i];if(item.X<left||item.X>right)continue;var index=parseInt(this.GetXData(item.X));var kItem=this.GetKItem(index,option);if(kItem){//var text=IFrameSplitOperator.FormatDateString(kItem.Date,null);
|
|
2553
2553
|
var text=IFrameSplitOperator.FormatTimeString(kItem.Time,"HH:MM");var textWidth=this.Canvas.measureText(text).width+2;var textLeft=item.X-textWidth/2;if(textLeft<left)textLeft=left;this.Canvas.fillStyle=this.DrawPicture.TextBGColor;this.Canvas.fillRect(textLeft,border.Bottom,textWidth,fontHeight);this.Canvas.fillStyle=this.DrawPicture.TextColor;var yCenter=border.Bottom+fontHeight;this.Canvas.fillText(text,textLeft+1,yCenter);}}};this.GetKItem=function(currentIndex,option){if(!this.Data)return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;if(currentIndex<this.Data.Data.length){return this.Data.Data[currentIndex];}else{var kItem=this.Data.Data[this.Data.Data.length-1];var xDatetime=g_MinuteTimeStringData.GetTimeData(option.Symbol);var index=currentIndex%xDatetime.length;var timeItem=xDatetime[index];return{Date:kItem.Date,Time:timeItem};}};this.DrawDayVertical=function(dayItem,x,border){if(!dayItem.BG)return;var bgItem=dayItem.BG;var xStart=this.GetXFromIndex(bgItem.Index.Start);var xEnd=this.GetXFromIndex(bgItem.Index.End);var maxWidth=xEnd-xStart;var bgHeight=this.ChartBorder.Bottom;if(IFrameSplitOperator.IsNumber(bgItem.Height))bgHeight=bgItem.Height;if(bgItem.Color){this.Canvas.fillStyle=bgItem.Color;var rtBG={Left:xStart,Width:maxWidth,Top:border.Bottom,Height:bgHeight};this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}if(IFrameSplitOperator.IsNonEmptyArray(dayItem.AryText))//[ [{Text:, Color:},], []]
|
|
2554
|
-
{this.Canvas.textAlign="left";this.Canvas.textBaseline="top";var yText=border.Bottom+2;var lineHeight=this.Canvas.measureText("擎").width+2;for(var i=0,j=0;i<dayItem.AryText.length;++i){var aryText=dayItem.AryText[i];var itemWidth=0;var aryOut=[];for(j=0;j<aryText.length;++j){var item=aryText[j];var textWidth=this.Canvas.measureText(item.Text).width;if(itemWidth+textWidth>maxWidth)break;var newItem={Text:item.Text,Width:textWidth,Color:item.Color,Space:item.Space};itemWidth+=textWidth;item.Width=textWidth;if(item.Space>=1)itemWidth+=item.Space;aryOut.push(newItem);}var xText=xStart+(maxWidth-itemWidth)/2;for(var j=0;j<aryOut.length;++j){var item=aryOut[j];if(!IFrameSplitOperator.IsNumber(item.Width))break;if(item.Color)this.Canvas.fillStyle=item.Color;else if(dayItem.TextColor)this.Canvas.fillStyle=dayItem.TextColor;this.Canvas.fillText(item.Text,xText,yText);xText+=item.Width;if(item.Space>=1)xText+=item.Space;}yText+=lineHeight;}}};//分割x,y轴坐标信息
|
|
2554
|
+
{if(dayItem.Font)this.Canvas.font=dayItem.Font;this.Canvas.textAlign="left";this.Canvas.textBaseline="top";var yText=border.Bottom+2;var lineHeight=this.Canvas.measureText("擎").width+2;for(var i=0,j=0;i<dayItem.AryText.length;++i){var aryText=dayItem.AryText[i];var itemWidth=0;var aryOut=[];for(j=0;j<aryText.length;++j){var item=aryText[j];var textWidth=this.Canvas.measureText(item.Text).width;if(itemWidth+textWidth>maxWidth)break;var newItem={Text:item.Text,Width:textWidth,Color:item.Color,Space:item.Space};itemWidth+=textWidth;item.Width=textWidth;if(item.Space>=1)itemWidth+=item.Space;aryOut.push(newItem);}var xText=xStart+(maxWidth-itemWidth)/2;for(var j=0;j<aryOut.length;++j){var item=aryOut[j];if(!IFrameSplitOperator.IsNumber(item.Width))break;if(item.Color)this.Canvas.fillStyle=item.Color;else if(dayItem.TextColor)this.Canvas.fillStyle=dayItem.TextColor;this.Canvas.fillText(item.Text,xText,yText);xText+=item.Width;if(item.Space>=1)xText+=item.Space;}yText+=lineHeight;}}};//分割x,y轴坐标信息
|
|
2555
2555
|
this.SplitXYCoordinate=function(){if(this.XYSplit==false){//计算自定义刻度
|
|
2556
2556
|
if(this.YCustomSplit){if(this.YSplitOperator&&this.YSplitOperator.CustomCoordinate)this.YSplitOperator.CustomCoordinate();}return;}if(this.XSplitOperator!=null)this.XSplitOperator.Operator();if(this.YSplitOperator!=null)this.YSplitOperator.Operator();};this.GetMultiDayXFromIndex=function(index,border){var dayBorder=border.DayBorder;var minuteIndex=index%this.MinuteCount;var dayIndex=parseInt(index/this.MinuteCount);if(dayIndex>=dayBorder.length)dayIndex=dayBorder.length-1;var client=dayBorder[dayIndex];var count=this.MinuteCount-1;if(minuteIndex>=count){return client.RightEx;}else{var width=client.RightEx-client.LeftEx;var offset=client.LeftEx+width*minuteIndex/count;return offset;}};this.GetXFromIndex=function(index){var count=this.XPointCount-1;var border=this.ChartBorder.GetBorder();if(border.DayBorder)return this.GetMultiDayXFromIndex(index,border);if(count==1){if(index==0)return border.LeftEx;else return border.RightEx;}else if(count<=0){return border.LeftEx;}else if(index>=count){return border.RightEx;}else{var width=border.RightEx-border.LeftEx;var offset=border.LeftEx+width*index/count;return offset;}};this.GetMultiDayXData=function(x,border){var dayBorder=border.DayBorder;for(var i=0;i<dayBorder.length;++i){var client=dayBorder[i];if(x>=client.Left&&x<=client.Right){var count=this.MinuteCount-1;var dayMinuteCount=this.MinuteCount*i;if(x<=client.LeftEx)return 0+dayMinuteCount;if(x>=client.RightEx)return count+dayMinuteCount;var width=client.RightEx-client.LeftEx;return(x-client.LeftEx)*(count*1.0/width)+dayMinuteCount;}}};//X坐标转x轴数值
|
|
2557
2557
|
this.GetXData=function(x){var count=this.XPointCount-1;if(count<0)count=0;var border=this.ChartBorder.GetBorder();if(border.DayBorder)return this.GetMultiDayXData(x,border);if(x<=border.LeftEx)return 0;if(x>=border.RightEx)return count;var width=border.RightEx-border.LeftEx;return(x-border.LeftEx)*(count*1.0/width);};this.DrawCustomHorizontal=function()//Y轴刻度定制显示
|
|
2558
|
-
{if(this.IsMinSize)return;for(var i in this.CustomHorizontalInfo){var item=this.CustomHorizontalInfo[i];switch(item.Type){case 0:case 1:case 10://自定义的
|
|
2558
|
+
{if(this.IsMinSize)return;if(this.ChartBorder.IsShowTitleOnly)return;for(var i in this.CustomHorizontalInfo){var item=this.CustomHorizontalInfo[i];switch(item.Type){case 0:case 1:case 10://自定义的
|
|
2559
2559
|
this.DrawCustomItem(item);//自定义刻度
|
|
2560
2560
|
break;}}};this.GetLeftExtendXFromIndex=function(index,obj){var count=obj.TotalCount-1;var border=this.ChartBorder.GetBorder();if(border.DayBorder)return this.GetLeftExtendMultiDayXFromIndex(index,obj,border);var left=border.Left;var width=this.ChartBorder.LeftExtendWidth;var offset=left+width*index/count;return offset;};this.GetLeftExtendMultiDayXFromIndex=function(index,obj,border){var dayBorder=border.DayBorder;var client=dayBorder[obj.Index];var count=obj.TotalCount-1;var left=client.Left;var right=client.LeftEx;var width=right-left;var offset=left+width*index/count;return offset;};this.GetLeftExtendMultiDayXData=function(x,obj,border){var dayBorder=border.DayBorder;for(var i=0;i<dayBorder.length;++i){var client=dayBorder[i];if(x>=client.Left&&x<=client.LeftEx){if(!obj[i])return null;var count=obj[i].TotalCount-1;var left=client.Left;var right=client.LeftEx;var width=right-left;var index=(x-left)*(count*1.0/width);return{DayIndex:parseInt(i),DataIndex:index};}}};this.GetLeftExtendXData=function(x,obj){var border=this.ChartBorder.GetBorder();if(border.DayBorder)return this.GetLeftExtendMultiDayXData(x,obj,border);var count=obj.TotalCount-1;if(count<0)count=0;var left=border.Left;var right=border.LeftEx;if(x<=left)return 0;if(x>=right)return count;var width=right-left;return(x-left)*(count*1.0/width);};this.MoveXIndexLeft=function(step,obj){JSConsole.Chart.Log("[MinuteFrame::MoveXIndexLeft] obj ",obj);if(obj.DataType==2)//多日数据
|
|
2561
2561
|
{var dayIndex=obj.IndexData.DayIndex;var dataIndex=obj.IndexData.DataIndex-step;var itemIndex=-1;if(obj.IndexData.Type==20)itemIndex=0;else if(obj.IndexData.Type==10)itemIndex=1;else if(obj.IndexData.Type==30)itemIndex=2;else return false;for(var i=dayIndex,j=itemIndex;i>=0;--i){var dayItem=obj.Data[i];for(;j>=0;--j){var dataItem=dayItem[j];if(!dataItem.DayItem||!dataItem.DayItem.Data)continue;if(dataIndex==null)dataIndex=dataItem.DayItem.Data.length-1;for(;dataIndex>=0;--dataIndex){var item=dataItem.DayItem.Data[dataIndex];if(!item)continue;if(dataItem.Type==10){var cursorIndex=this.MinuteCount*i+dataIndex;obj.Point.X=this.GetXFromIndex(cursorIndex);obj.Point.Y=this.GetYFromData(item.Close);obj.IndexData.CursorIndex=cursorIndex;obj.IndexData.DayIndex=i;obj.IndexData.DataIndex=dataIndex;obj.IndexData.Type=dataItem.Type;return true;}else if(dataItem.Type==20){if(!IFrameSplitOperator.IsNumber(item.Price))continue;obj.Point.X=this.GetLeftExtendXFromIndex(dataIndex,dataItem.DayItem);obj.Point.Y=this.GetLeftExtendYFromData(item.Price);obj.IndexData.CursorIndex=-1;obj.IndexData.DayIndex=i;obj.IndexData.DataIndex=dataIndex;obj.IndexData.Type=dataItem.Type;return true;}else if(dataItem.Type==30){if(!IFrameSplitOperator.IsNumber(item.Price))continue;obj.Point.X=this.GetRightExtendXFromIndex(dataIndex,dataItem.DayItem);obj.Point.Y=this.GetRightExtendYFromData(item.Price);obj.IndexData.CursorIndex=-1;obj.IndexData.DayIndex=i;obj.IndexData.DataIndex=dataIndex;obj.IndexData.Type=dataItem.Type;return true;}}dataIndex=null;}j=2;}return false;}else if(obj.DataType==1)//单日
|
|
@@ -5576,7 +5576,8 @@ this.TextColor=g_JSChartResource.CorssCursorTextColor;//文本颜色
|
|
|
5576
5576
|
this.TextBGColor=g_JSChartResource.CorssCursorBGColor;//文本背景色
|
|
5577
5577
|
this.BorderColor=g_JSChartResource.CorssCursorBorderColor;//边框颜色
|
|
5578
5578
|
this.XRangeBGColor=g_JSChartResource.CorssCursorXRangeBGColor;this.LineDash=g_JSChartResource.CorssCursorLineDash.slice();//虚线
|
|
5579
|
-
this.CorssPointConfig.Center=CloneData(g_JSChartResource.CorssCursor.CorssPoint.Center);this.CorssPointConfig.Border=CloneData(g_JSChartResource.CorssCursor.CorssPoint.Border);};this.GetCloseYPoint=function(index){if(!this.StringFormatX.Data)return null;var data=this.StringFormatX.Data;if(!data.Data||data.Data.length<=0)return null;var dataIndex=data.DataOffset+index;if(dataIndex>=data.Data.length)dataIndex=data.Data.length-1;if(dataIndex<0)return null;var klineData=data.Data[dataIndex];if(!klineData)return null;this.Close=klineData.Close;var yPoint=this.Frame.GetYFromData(this.Close);return yPoint;};this.GetMinuteCloseYPoint=function(index){if(this.EnableNewIndex&&this.CorssCursorIndex){if(!this.StringFormatX||!this.StringFormatX.GetMinuteCloseYPoint)return null;var closeData=this.StringFormatX.GetMinuteCloseYPoint(this.CorssCursorIndex);if(!closeData)return null;this.Close=closeData.Price;return closeData.Y;}else{if(!IFrameSplitOperator.IsNumber(index))return null;index=parseInt(index
|
|
5579
|
+
this.CorssPointConfig.Center=CloneData(g_JSChartResource.CorssCursor.CorssPoint.Center);this.CorssPointConfig.Border=CloneData(g_JSChartResource.CorssCursor.CorssPoint.Border);};this.GetCloseYPoint=function(index){if(!this.StringFormatX.Data)return null;var data=this.StringFormatX.Data;if(!data.Data||data.Data.length<=0)return null;var dataIndex=data.DataOffset+index;if(dataIndex>=data.Data.length)dataIndex=data.Data.length-1;if(dataIndex<0)return null;var klineData=data.Data[dataIndex];if(!klineData)return null;this.Close=klineData.Close;var yPoint=this.Frame.GetYFromData(this.Close);return yPoint;};this.GetMinuteCloseYPoint=function(index){if(this.EnableNewIndex&&this.CorssCursorIndex){if(!this.StringFormatX||!this.StringFormatX.GetMinuteCloseYPoint)return null;var closeData=this.StringFormatX.GetMinuteCloseYPoint(this.CorssCursorIndex);if(!closeData)return null;this.Close=closeData.Price;return closeData.Y;}else{if(!IFrameSplitOperator.IsNumber(index))return null;index=parseInt(index.toFixed(0));//index=parseInt(index);
|
|
5580
|
+
if(!this.StringFormatX.Data)return null;var data=this.StringFormatX.Data;if(!data.Data||data.Data.length<=0)return null;var dataIndex=data.DataOffset+index;if(dataIndex>=data.Data.length)dataIndex=data.Data.length-1;if(dataIndex<0)return null;var close=data.Data[dataIndex];if(!IFrameSplitOperator.IsNumber(index))return null;this.Close=close;var yPoint=this.Frame.GetYFromData(this.Close);return yPoint;}};this.GetDateTimeRange=function(index,option){if(!IFrameSplitOperator.IsNumber(index))return null;index=parseInt(index);var data=this.StringFormatX.Data;if(!data.Data||data.Data.length<=0)return null;var dataIndex=data.DataOffset+index;if(dataIndex>=data.Data.length||dataIndex<0)return null;if(!this.Frame||!this.Frame.SubFrame[0]||!this.Frame.SubFrame[0].Frame)return null;var frame=this.Frame.SubFrame[0].Frame;var dataWidth=frame.DataWidth;var distanceWidth=frame.DistanceWidth;var xPointCount=frame.XPointCount;var kItem=data.Data[dataIndex];if(!kItem)return null;var date=kItem.Date*1000000;var time=parseInt(kItem.Time/100)*100;var startTime=date+time;var endTime=date+time+59;var endIndex=dataIndex;for(var i=dataIndex;i<data.Data.length;++i){var item=data.Data[i];var dateTime=item.Date*1000000+item.Time;if(dateTime>endTime)break;if(i-data.DataOffset>=xPointCount)break;endIndex=i;}var startIndex=dataIndex;for(var i=dataIndex;i>=0&&i>=data.DataOffset;--i){var item=data.Data[i];var dateTime=item.Date*1000000+item.Time;if(dateTime<startTime)break;startIndex=i;}var range={StartIndex:startIndex,EndIndex:endIndex};range.XStart=this.Frame.GetXFromIndex(startIndex-data.DataOffset);range.XEnd=this.Frame.GetXFromIndex(endIndex-data.DataOffset);range.XStart-=(distanceWidth+dataWidth)/2;range.XEnd+=(distanceWidth+dataWidth)/2;return range;};this.FixMinuteLastTimeXPoint=function(index){if(!IFrameSplitOperator.IsNumber(index))return null;index=parseInt(index);if(!this.StringFormatX.Data)return null;var data=this.StringFormatX.Data;if(!data.Data||data.Data.length<=0)return null;var dataIndex=data.DataOffset+index;if(dataIndex<data.Data.length)return null;dataIndex=data.Data.length-1;dataIndex-=data.DataOffset;var xPoint=this.Frame.GetXFromIndex(dataIndex);return{X:xPoint,Index:dataIndex};};//返回 -1=不在客户区 1=在主区域 2=左边扩展 3=右边扩展
|
|
5580
5581
|
this.PtInClient=function(x,y){this.Canvas.beginPath();if(this.Frame.IsHScreen===true){var border=this.Frame.ChartBorder.GetHScreenBorder();this.Canvas.rect(border.Left,border.TopEx,border.Right-border.Left,border.BottomEx-border.TopEx);}else{var border=this.Frame.ChartBorder.GetBorder();this.Canvas.rect(border.LeftEx,border.Top,border.RightEx-border.LeftEx,border.Bottom-border.Top);}if(this.Canvas.isPointInPath(x,y))return 1;if(this.Frame.ChartBorder.LeftExtendWidth>10){this.Canvas.beginPath();if(this.Frame.IsHScreen===true){this.Canvas.rect(border.Left,border.Top,border.Right-border.Left,border.TopEx-border.Top);}else{this.Canvas.rect(border.Left,border.Top,border.LeftEx-border.Left,border.Bottom-border.Top);}if(this.Canvas.isPointInPath(x,y))return 2;}if(this.Frame.ChartBorder.RightExtendWidth>10){this.Canvas.beginPath();if(this.Frame.IsHScreen===true){this.Canvas.rect(border.Left,border.BottomEx,border.Right-border.Left,border.Bottom-border.BottomEx);}else{this.Canvas.rect(border.RightEx,border.Top,border.Right-border.RightEx,border.Bottom-border.Top);}if(this.Canvas.isPointInPath(x,y))return 3;}return-1;};this.GetFontHeight=function(font){return GetFontHeight(this.Canvas,font,"擎");};this.Draw=function(){this.Status=0;this.RightButton.Rect=null;this.LastValue=null;if(!this.LastPoint)return;this.Close=null;var x=this.LastPoint.X;var y=this.LastPoint.Y;var clientPos=this.PtInClient(x,y);this.PointY=null;this.PointY==null;this.ClientPos=clientPos;if(clientPos<=0)return;if(this.Frame.IsHScreen===true){this.HScreenDraw();return;}var border=this.Frame.ChartBorder.GetBorder();var left=border.Left;var right=border.Right;var top=border.TopTitle;var bottom=border.Bottom;var rightWidth=this.Frame.ChartBorder.Right;var chartRight=border.ChartWidth;if(this.IsOnlyDrawKLine)//手机端 十字只能画在K线上
|
|
5581
5582
|
{x=this.Frame.GetXFromIndex(this.CursorIndex);if(this.IsShowClose){var yPoint=this.GetCloseYPoint(this.CursorIndex);if(yPoint!=null)y=yPoint;}}else if(this.IsOnlyDrawMinute){var yPoint=this.GetMinuteCloseYPoint(this.CursorIndex);if(yPoint!=null)y=yPoint;}if(this.CallAcutionXOperator){this.CallAcutionXOperator.Value=x;this.CallAcutionXOperator.Point={X:x,Y:y};this.CallAcutionXOperator.ClientPos=clientPos;if(this.CallAcutionXOperator.Operator()){x=this.CallAcutionXOperator.X;}}if(this.IsFixXLastTime){var value=this.FixMinuteLastTimeXPoint(this.CursorIndex);if(value){x=value.X;this.CursorIndex=value.Index;}}this.PointY=[[left,y],[right,y]];this.PointX=[[x,top],[x,bottom]];//十字线
|
|
5582
5583
|
if(this.IsShowCorss){var rangeBG=null;if(this.IsDrawXRangeBG){rangeBG=this.GetDateTimeRange(this.CursorIndex);}var pixel=GetDevicePixelRatio();if(this.HPenType==1||this.HPenType==0)//0=虚线 1=实线
|
|
@@ -8283,7 +8284,10 @@ var aryOverlaySymbol=[];//叠加的股票列表
|
|
|
8283
8284
|
for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(item&&item.Symbol)aryOverlaySymbol.push(item.Symbol);}var bShowCorss=false;//十字光标十字线
|
|
8284
8285
|
var bCorssDrawCloseLine=false;//十字光标只能画在走势图价格线上
|
|
8285
8286
|
var bCorssDrawVaildTime=false;var bCorssDrawPoint=false;if(this.ChartCorssCursor){bShowCorss=this.ChartCorssCursor.IsShowCorss;bCorssDrawCloseLine=this.ChartCorssCursor.IsOnlyDrawMinute;bCorssDrawVaildTime=this.ChartCorssCursor.IsFixXLastTime;bCorssDrawPoint=this.ChartCorssCursor.CorssPointConfig.Enable;}var minItem=null;if(frameID>=0&&option&&IFrameSplitOperator.IsNumber(option.CursorIndex)){var kData=this.GetKData();if(kData&&IFrameSplitOperator.IsNonEmptyArray(kData.Data)){var dataIndex=kData.DataOffset+parseInt(option.CursorIndex.toFixed(0));if(dataIndex>=0&&dataIndex<kData.Data.length)minItem=kData.Data[dataIndex];}}var aryMenu=[{Name:"叠加品种",SubMenu:[{Name:"上证指数",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["000001.sh",!aryOverlaySymbol.includes("000001.sh")]},Checked:aryOverlaySymbol.includes("000001.sh")},{Name:"深证成指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399001.sz",!aryOverlaySymbol.includes("399001.sz")]},Checked:aryOverlaySymbol.includes("399001.sz")},{Name:"中小板指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399005.sz",!aryOverlaySymbol.includes("399005.sz")]},Checked:aryOverlaySymbol.includes("399005.sz")},{Name:"创业板指",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["399006.sz",!aryOverlaySymbol.includes("399006.sz")]},Checked:aryOverlaySymbol.includes("399006.sz")},{Name:"沪深300",Data:{ID:JSCHART_MENU_ID.CMD_OVERLAY_SYMBOL_ID,Args:["000300.sh",!aryOverlaySymbol.includes("000300.sh")]},Checked:aryOverlaySymbol.includes("000300.sh")}]},{Name:"多日分时图",SubMenu:[{Name:"当日分时图",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[1]},Checked:this.DayCount==1},{Name:"最近2日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[2]},Checked:this.DayCount==2},{Name:"最近3日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[3]},Checked:this.DayCount==3},{Name:"最近4日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[4]},Checked:this.DayCount==4},{Name:"最近5日",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DAY_COUNT_ID,Args:[5]},Checked:this.DayCount==5},{Name:"基准线选择",SubMenu:[{Name:"最新昨收价",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID,Args:[0]},Checked:this.BaselineType===0},{Name:"多日前昨收价",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_BASELINE_ID,Args:[1]},Checked:this.BaselineType===1}]}]},{Name:"指标窗口个数",SubMenu:[{Name:"1个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[2]},Checked:3==windowCount},{Name:"2个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[3]},Checked:4==windowCount},{Name:"3个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[4]},Checked:5==windowCount},{Name:"4个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[5]},Checked:6==windowCount},{Name:"5个窗口",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_WINDOW_COUNT_ID,Args:[6]},Checked:7==windowCount}]},{Name:"指标切换",SubMenu:[{Name:"MACD",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"MACD"]}},{Name:"DMI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"DMI"]}},{Name:"DMA",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"DMA"]}},{Name:"BRAR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"BRAR"]}},{Name:"KDJ",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"KDJ"]}},{Name:"RSI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"RSI"]}},{Name:"WR",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"WR"]}},{Name:"CCI",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"CCI"]}},{Name:"TRIX",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_INDEX_ID,Args:[frameID,"TRIX"]}}]},{Name:"区间选择",Data:{ID:JSCHART_MENU_ID.CMD_ENABLE_SELECT_RECT_ID,Args:[!this.EnableSelectRect]},Checked:this.EnableSelectRect},{Name:"十字光标",SubMenu:[{Name:"显示",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_CORSS_LINE_ID,Args:[!bShowCorss]},Checked:bShowCorss},{Name:"画在价格线上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_CLOSE_LINE_ID,Args:[!bCorssDrawCloseLine]},Checked:bCorssDrawCloseLine},{Name:"画在有效X轴上",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_ON_VAILD_TIME_ID,Args:[!bCorssDrawVaildTime]},Checked:bCorssDrawVaildTime},{Name:"画圆点",Data:{ID:JSCHART_MENU_ID.CMD_CORSS_POINT_ID,Args:[!bCorssDrawPoint]},Checked:bCorssDrawPoint}]},{Name:"其他设置",SubMenu:[{Name:"画图工具",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_DRAWTOOL_ID,Args:[]},Checked:this.IsShowDrawToolDialog()},{Name:JSPopMenu.SEPARATOR_LINE_NAME},{Name:"语言设置",SubMenu:[{Name:"中文",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["CN"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_CHINESE_ID},{Name:"英语",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["EN"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID},{Name:"繁体",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_LANGUAGE_ID,Args:["TC"]},Checked:this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_TRADITIONAL_CHINESE_ID}]},{Name:"区间选择样式",SubMenu:[{Name:"样式1(默认)",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[0]},Checked:0==this.ChartDragSelectRect.ShowMode},{Name:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[1]},Checked:1==this.ChartDragSelectRect.ShowMode},{Name:"样式3",Data:{ID:JSCHART_MENU_ID.CMD_CHANGE_DRAG_RECT_SHOW_MODE_ID,Args:[2]},Checked:2==this.ChartDragSelectRect.ShowMode}]},{Name:"K线浮动框",SubMenu:[{Name:"禁用",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:false}]},Checked:!this.DialogTooltip},{Name:"样式1",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:0}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===0},{Name:"样式2",Data:{ID:JSCHART_MENU_ID.CMD_DIALOG_TOOLTIP_ATTRIBUTE,Args:[{Enable:true,Style:1}]},Checked:this.DialogTooltip&&this.DialogTooltip.Style===1}]}]}];if(MARKET_SUFFIX_NAME.IsSHSZStockA(this.Symbol)){var item={Name:"集合竞价",Data:{ID:JSCHART_MENU_ID.CMD_SHOW_BEFORE_DATA_ID,Args:[!this.IsShowBeforeData]},Checked:this.IsShowBeforeData};aryMenu.splice(4,0,item);}for(var i=0;i<aryMenu.length;++i){var item=aryMenu[i];if(item.Name=="叠加品种")//删除菜单
|
|
8286
|
-
{for(var j=0;j<item.SubMenu.length;++j){if(item.SubMenu[j].Checked){item.SubMenu.push({Name:JSPopMenu.SEPARATOR_LINE_NAME});item.SubMenu.push({Name:"取消叠加",Data:{ID:JSCHART_MENU_ID.CMD_DELETE_ALL_OVERLAY_SYMBOL_ID}});break;}}}else if(item.Name=="十字光标"){if(minItem){var bLocked=this.IsLockCorssCursor();if(bLocked)item.SubMenu.push({Name:"锁十字光标",Data:{ID:JSCHART_MENU_ID.CMD_UNLOCK_CROSSCURSOR},Checked:bLocked});else item.SubMenu.push({Name:"锁十字光标",Data:{ID:JSCHART_MENU_ID.CMD_LOCK_CROSSCURSOR,Args:[{KItem:{Date:minItem.Date,Time:minItem.Time},Draw:true}]},Checked:bLocked});}}}return aryMenu;};this.OnWheel=function(e){JSConsole.Chart.Log('[MinuteChartContainer::OnWheel]',e);
|
|
8287
|
+
{for(var j=0;j<item.SubMenu.length;++j){if(item.SubMenu[j].Checked){item.SubMenu.push({Name:JSPopMenu.SEPARATOR_LINE_NAME});item.SubMenu.push({Name:"取消叠加",Data:{ID:JSCHART_MENU_ID.CMD_DELETE_ALL_OVERLAY_SYMBOL_ID}});break;}}}else if(item.Name=="十字光标"){if(minItem){var bLocked=this.IsLockCorssCursor();if(bLocked)item.SubMenu.push({Name:"锁十字光标",Data:{ID:JSCHART_MENU_ID.CMD_UNLOCK_CROSSCURSOR},Checked:bLocked});else item.SubMenu.push({Name:"锁十字光标",Data:{ID:JSCHART_MENU_ID.CMD_LOCK_CROSSCURSOR,Args:[{KItem:{Date:minItem.Date,Time:minItem.Time},Draw:true}]},Checked:bLocked});}}}return aryMenu;};this.OnWheel=function(e){JSConsole.Chart.Log('[MinuteChartContainer::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;var rtClient={Left:this.Frame.ChartBorder.GetLeft(),Right:this.Frame.ChartBorder.GetRight(),Top:this.Frame.ChartBorder.GetTop(),Bottom:this.Frame.ChartBorder.GetBottom(),Width:this.Frame.ChartBorder.GetWidth(),Height:this.Frame.ChartBorder.GetHeight()};if(x>=rtClient.Left&&x<=rtClient.Right&&y>=rtClient.Top&&y<=rtClient.Bottom)isInClient=true;if(!this.OnWheel_ZoomUpDownFrameY(e,x,y))return;if(e.preventDefault)e.preventDefault();else e.returnValue=false;};//通过滚轴缩放Y轴
|
|
8288
|
+
this.OnWheel_ZoomUpDownFrameY=function(e,x,y){if(!this.EnableYDrag.Wheel)return false;var frameID=this.Frame.PtInFrame(x,y);if(frameID<0)return false;var frame=this.Frame.SubFrame[frameID].Frame;var splitOper=frame.YSplitOperator;if(!splitOper||!splitOper.FixedYMaxMin)return false;//Y轴缩放状态下才有效
|
|
8289
|
+
var wheelValue=e.wheelDelta;if(!IFrameSplitOperator.IsObjectExist(e.wheelDelta))wheelValue=e.deltaY*-0.01;var yMove=this.EnableYDrag.WheelYMove;if(wheelValue>0)yMove*=-1;var dragY={Position:0,Index:frameID,Right:false,Left:false};//只能两边缩放
|
|
8290
|
+
if(!this.Frame.OnZoomUpDownFrameY(dragY,yMove))return false;this.Frame.SetSizeChage(true);this.Draw();return true;};this.OnDoubleClick=function(x,y,e){JSConsole.Chart.Log("[MinuteChartContainer::OnDoubleClick]",e);if(this.EnableYDrag&&(this.EnableYDrag.Left||this.EnableYDrag.Right)&&this.Frame&&this.Frame.PtInFrameY){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var dragY=this.Frame.PtInFrameY(x,y);if(dragY&&dragY.Index>=0){this.CancelZoomUpDownFrameY(dragY);}}if(this.ClickChartTimer!=null){clearTimeout(this.ClickChartTimer);this.ClickChartTimer=null;}var selectedChart;//图形选中
|
|
8287
8291
|
if(this.SelectedChart.EnableSelected){selectedChart=this.PtInChart(x,y);}var dbClickInfo={SelectedChart:selectedChart};this.DBClickEvent(dbClickInfo,e);//没有图形选中,双击缩放窗口
|
|
8288
8292
|
if(!selectedChart&&this.EnableZoomIndexWindow){var frameId=this.Frame.PtInFrame(x,y);JSConsole.Chart.Log("[MinuteChartContainer::OnDoubleClick] frameId",frameId);if(frameId>=this.Frame.ZoomStartWindowIndex){if(this.ZoomIndexWindow(frameId,{X:x,Y:y})){this.Frame.SetSizeChage(true);this.Draw();}}}};this.GetDataItem=function(pointInfo){if(!pointInfo)return null;if(!IFrameSplitOperator.IsNumber(pointInfo.Index))return null;if(!this.SourceData||!this.SourceData.Data)return null;var data=this.SourceData;var clientPos=pointInfo.ClientPos;if(clientPos==2||clientPos==3||clientPos>=200&&clientPos<=299||clientPos>=300&&clientPos<=399){if(!this.ChartCorssCursor||!this.ChartCorssCursor.CallAcutionXOperator)return null;var isHScreen=this.Frame.IsHScreen===true;var callAcutionXOper=this.ChartCorssCursor.CallAcutionXOperator;callAcutionXOper.Value=isHScreen?pointInfo.Point.Y:pointInfo.Point.X;callAcutionXOper.Point={X:pointInfo.Point.X,Y:pointInfo.Point.Y};callAcutionXOper.ClientPos=clientPos;if(clientPos==2){if(!this.BeforeOpenData)return null;}else if(clientPos==3){if(!this.AfterCloseData)return null;}else if(clientPos>=200&&clientPos<=299){if(!this.MultiDayBeforeOpenData||!IFrameSplitOperator.IsNonEmptyArray(this.MultiDayBeforeOpenData))return;}else if(clientPos>=300&&tclientPos<=399){if(!this.MultiDayAfterCloseData||!IFrameSplitOperator.IsNonEmptyArray(this.MultiDayAfterCloseData))return;}if(callAcutionXOper.Operator()){var item=callAcutionXOper.Item;return{Type:clientPos,Item:item,Index:callAcutionXOper.DataIndex};}return null;}var index=parseInt(pointInfo.Index.toFixed(0));var dataIndex=index+data.DataOffset;if(dataIndex>=data.Data.length)return null;var item=data.Data[dataIndex];return{Type:clientPos,Item:item,Index:dataIndex};};this.UpdatePointByCursorIndex=function(){this.LastPoint.X=this.Frame.GetXFromIndex(this.CursorIndex);var index=this.CursorIndex;index=parseInt(index.toFixed(0));var data=this.Frame.SourceData;if(data.DataOffset+index>=data.Data.length){return;}var item=data.Data[data.DataOffset+index];var close=null;if(item.Before)close=item.Before.Close;else close=item.Close;this.LastPoint.Y=this.Frame.GetYFromData(close);};//创建
|
|
8289
8293
|
//windowCount 窗口个数
|
|
@@ -12364,7 +12368,7 @@ chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTat
|
|
|
12364
12368
|
this.ChangeSymbol=function(symbol,option){if(this.JSChartContainer)this.JSChartContainer.ChangeSymbol(symbol,option);};this.SetColumn=function(aryColumn,option){if(this.JSChartContainer)this.JSChartContainer.SetColumn(aryColumn,option);};this.EnableFilter=function(bEnable,option)//启动|关闭筛选
|
|
12365
12369
|
{if(this.JSChartContainer)this.JSChartContainer.EnableFilter(bEnable,option);};//事件回调
|
|
12366
12370
|
this.AddEventCallback=function(obj){if(this.JSChartContainer&&typeof this.JSChartContainer.AddEventCallback=='function'){JSConsole.Chart.Log('[JSDealChart:AddEventCallback] obj=',obj);this.JSChartContainer.AddEventCallback(obj);}};//重新加载配置
|
|
12367
|
-
this.ReloadResource=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ReloadResource=='function'){JSConsole.Chart.Log('[JSDealChart:ReloadResource] ');this.JSChartContainer.ReloadResource(option);}};}JSDealChart.Init=function(divElement){var jsChartControl=new JSDealChart(divElement);jsChartControl.OnSize();return jsChartControl;};function JSDealChartContainer(uielement){this.ClassName='JSDealChartContainer';this.Frame;//框架画法
|
|
12371
|
+
this.ReloadResource=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ReloadResource=='function'){JSConsole.Chart.Log('[JSDealChart:ReloadResource] ');this.JSChartContainer.ReloadResource(option);}};this.ChartDestroy=function(){if(this.JSChartContainer&&typeof this.JSChartContainer.ChartDestroy=='function'){this.JSChartContainer.ChartDestroy();}};}JSDealChart.Init=function(divElement){var jsChartControl=new JSDealChart(divElement);jsChartControl.OnSize();return jsChartControl;};function JSDealChartContainer(uielement){this.ClassName='JSDealChartContainer';this.Frame;//框架画法
|
|
12368
12372
|
this.ChartPaint=[];//图形画法
|
|
12369
12373
|
this.ChartSplashPaint=null;//等待提示
|
|
12370
12374
|
this.LoadDataSplashTitle="数据加载中";//下载数据提示信息
|
|
@@ -12379,7 +12383,7 @@ this.AutoUpdateTimer=null;this.AutoUpdateFrequency=15000;//更新频率
|
|
|
12379
12383
|
this.LoadDataSplashTitle="数据加载中";//下载数据提示信息
|
|
12380
12384
|
this.UIElement=uielement;this.LastPoint=new Point();//鼠标位置
|
|
12381
12385
|
this.IsDestroy=false;//是否已经销毁了
|
|
12382
|
-
this.
|
|
12386
|
+
this.ChartDestroy=function()//销毁
|
|
12383
12387
|
{this.IsDestroy=true;this.StopAutoUpdate();};this.EnableFilterData=false;//是否启动筛选
|
|
12384
12388
|
//筛选数据
|
|
12385
12389
|
this.FilterData=function(aryDeal){if(!this.EnableFilterData)return aryDeal;//过滤由外部处理
|
|
@@ -12509,7 +12513,7 @@ chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTat
|
|
|
12509
12513
|
this.ChangeSymbol=function(symbol,option){if(this.JSChartContainer)this.JSChartContainer.ChangeSymbol(symbol,option);};this.SetColumn=function(aryColumn,option){if(this.JSChartContainer)this.JSChartContainer.SetColumn(aryColumn,option);};this.SetSelectedRow=function(option){if(this.JSChartContainer)this.JSChartContainer.SetSelectedRow(option);};this.EnableFilter=function(bEnable,option)//启动|关闭筛选
|
|
12510
12514
|
{if(this.JSChartContainer)this.JSChartContainer.EnableFilter(bEnable,option);};//事件回调
|
|
12511
12515
|
this.AddEventCallback=function(obj){if(this.JSChartContainer&&typeof this.JSChartContainer.AddEventCallback=='function'){JSConsole.Chart.Log('[JSReportChart:AddEventCallback] obj=',obj);this.JSChartContainer.AddEventCallback(obj);}};//重新加载配置
|
|
12512
|
-
this.ReloadResource=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ReloadResource=='function'){JSConsole.Chart.Log('[JSReportChart:ReloadResource] ');this.JSChartContainer.ReloadResource(option);}};this.
|
|
12516
|
+
this.ReloadResource=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ReloadResource=='function'){JSConsole.Chart.Log('[JSReportChart:ReloadResource] ');this.JSChartContainer.ReloadResource(option);}};this.ChartDestroy=function(){if(this.JSChartContainer&&typeof this.JSChartContainer.ChartDestroy=='function'){this.JSChartContainer.ChartDestroy();}};this.Draw=function(){if(this.JSChartContainer&&typeof this.JSChartContainer.Draw=='function'){JSConsole.Chart.Log('[JSReportChart:Draw] ');this.JSChartContainer.Draw();}};}JSReportChart.Init=function(divElement){var jsChartControl=new JSReportChart(divElement);jsChartControl.OnSize();return jsChartControl;};//自定义风格
|
|
12513
12517
|
JSReportChart.SetStyle=function(option){if(option)g_JSChartResource.SetStyle(option);};//获取颜色配置 (设置配必须啊在JSChart.Init()之前)
|
|
12514
12518
|
JSReportChart.GetResource=function(){return g_JSChartResource;};function HQReportItem(){this.OriginalSymbol;//原始代码
|
|
12515
12519
|
this.Symbol;this.Name;this.YClose;this.Open;this.Price;this.High;this.Low;this.Amount;this.Vol;this.Increase;//涨幅
|
|
@@ -12568,7 +12572,7 @@ this.JSPopMenu;//内置菜单
|
|
|
12568
12572
|
this.IsShowRightMenu=true;//
|
|
12569
12573
|
this.TooltipMinuteChart;//分时图
|
|
12570
12574
|
//MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
|
|
12571
|
-
this.LastMouseStatus={MoveStatus:null,TooltipStatus:null,MouseOnStatus:null};this.
|
|
12575
|
+
this.LastMouseStatus={MoveStatus:null,TooltipStatus:null,MouseOnStatus:null};this.ChartDestroy=function()//销毁
|
|
12572
12576
|
{this.IsDestroy=true;this.StopAutoUpdate();this.DestroyMinuteChartTooltip();this.DestroyFloatTooltip();};this.StopAutoDragScrollTimer=function(){JSConsole.Chart.Log("[JSReportChartContainer::StopAutoDragScrollTimer] stop ");this.EnablePageScroll=false;if(this.AutoDragScrollTimer!=null){clearTimeout(this.AutoDragScrollTimer);this.AutoDragScrollTimer=null;}};this.InitalPopMenu=function()//初始化弹出窗口
|
|
12573
12577
|
{if(this.JSPopMenu)return;this.JSPopMenu=new JSPopMenu();//内置菜单
|
|
12574
12578
|
this.JSPopMenu.Inital();};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;};this.InitalFloatTooltip=function(option){if(this.FloatTooltip)return;this.FloatTooltip=new JSFloatTooltip();this.FloatTooltip.Inital(this,option);this.FloatTooltip.Create();};this.HideFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Hide();};this.DestroyFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Destroy();this.FloatTooltip=null;};this.DrawFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;this.UpdateFloatTooltip(point,toolTip);};this.UpdateFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;var sendData={Tooltip:toolTip,Point:point,DataType:3};this.FloatTooltip.Update(sendData);};//data={ Symbol }
|
|
@@ -13338,7 +13342,7 @@ chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTat
|
|
|
13338
13342
|
//切换股票代码接口
|
|
13339
13343
|
this.ChangeSymbol=function(symbol,option){if(this.JSChartContainer)this.JSChartContainer.ChangeSymbol(symbol,option);};this.SetColumn=function(aryColumn,option){if(this.JSChartContainer)this.JSChartContainer.SetColumn(aryColumn,option);};//事件回调
|
|
13340
13344
|
this.AddEventCallback=function(obj){if(this.JSChartContainer&&typeof this.JSChartContainer.AddEventCallback=='function'){JSConsole.Chart.Log('[JSTReportChart:AddEventCallback] obj=',obj);this.JSChartContainer.AddEventCallback(obj);}};//重新加载配置
|
|
13341
|
-
this.ReloadResource=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ReloadResource=='function'){JSConsole.Chart.Log('[JSTReportChart:ReloadResource] ');this.JSChartContainer.ReloadResource(option);}};this.
|
|
13345
|
+
this.ReloadResource=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ReloadResource=='function'){JSConsole.Chart.Log('[JSTReportChart:ReloadResource] ');this.JSChartContainer.ReloadResource(option);}};this.ChartDestroy=function(){if(this.JSChartContainer&&typeof this.JSChartContainer.ChartDestroy=='function'){this.JSChartContainer.ChartDestroy();}};this.Draw=function(){if(this.JSChartContainer&&typeof this.JSChartContainer.Draw=='function'){JSConsole.Chart.Log('[JSTReportChart:Draw] ');this.JSChartContainer.Draw();}};}JSTReportChart.Init=function(divElement){var jsChartControl=new JSTReportChart(divElement);jsChartControl.OnSize();return jsChartControl;};//自定义风格
|
|
13342
13346
|
JSTReportChart.SetStyle=function(option){if(option)g_JSChartResource.SetStyle(option);};//获取颜色配置 (设置配必须啊在JSChart.Init()之前)
|
|
13343
13347
|
JSTReportChart.GetResource=function(){return g_JSChartResource;};JSTReportChart.GetfloatPrecision=function(symbol){return GetfloatPrecision(symbol);};function HQTReportItem(){this.Symbol;this.Name;this.YClose;this.Open;this.Price;this.High;this.Low;this.Amount;this.Vol;this.Positon;//持仓量
|
|
13344
13348
|
this.Increase;//涨幅
|
|
@@ -13379,7 +13383,7 @@ this.EnablePageCycle=false;//是否循环翻页
|
|
|
13379
13383
|
this.TooltipMinuteChart;//分时图
|
|
13380
13384
|
this.FloatTooltip;//浮框提示
|
|
13381
13385
|
this.LastMouseStatus={MoveStatus:null,TooltipStatus:null,MouseOnStatus:null};this.IsDestroy=false;//是否已经销毁了
|
|
13382
|
-
this.
|
|
13386
|
+
this.ChartDestroy=function()//销毁
|
|
13383
13387
|
{this.IsDestroy=true;this.StopAutoUpdate();this.DestroyMinuteChartTooltip();this.DestroyFloatTooltip();};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 }
|
|
13384
13388
|
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();};this.InitalFloatTooltip=function(option){if(this.FloatTooltip)return;this.FloatTooltip=new JSFloatTooltip();this.FloatTooltip.Inital(this,option);this.FloatTooltip.Create();};this.HideFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Hide();};this.DestroyFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Destroy();this.FloatTooltip=null;};this.DrawFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;this.UpdateFloatTooltip(point,toolTip);};this.UpdateFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;var sendData={Tooltip:toolTip,Point:point,DataType:4};this.FloatTooltip.Update(sendData);};//清空固定行数据
|
|
13385
13389
|
this.ClearFixedRowData=function(){this.FixedRowData.Data=[];};//设置固定行
|
|
@@ -13645,7 +13649,7 @@ chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTat
|
|
|
13645
13649
|
//对外接口
|
|
13646
13650
|
this.SetColumn=function(aryColumn,option){if(this.JSChartContainer)this.JSChartContainer.SetColumn(aryColumn,option);};//事件回调
|
|
13647
13651
|
this.AddEventCallback=function(obj){if(this.JSChartContainer&&typeof this.JSChartContainer.AddEventCallback=='function'){JSConsole.Chart.Log('[JSKeyboardChart:AddEventCallback] obj=',obj);this.JSChartContainer.AddEventCallback(obj);}};//重新加载配置
|
|
13648
|
-
this.ReloadResource=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ReloadResource=='function'){JSConsole.Chart.Log('[JSKeyboardChart:ReloadResource] ');this.JSChartContainer.ReloadResource(option);}};this.
|
|
13652
|
+
this.ReloadResource=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ReloadResource=='function'){JSConsole.Chart.Log('[JSKeyboardChart:ReloadResource] ');this.JSChartContainer.ReloadResource(option);}};this.ChartDestroy=function(){if(this.JSChartContainer&&typeof this.JSChartContainer.ChartDestroy=='function'){this.JSChartContainer.ChartDestroy();}};this.Draw=function(){if(this.JSChartContainer&&typeof this.JSChartContainer.Draw=='function'){JSConsole.Chart.Log('[JSKeyboardChart:Draw] ');this.JSChartContainer.Draw();}};this.SetSymbolData=function(arySymbol){if(this.JSChartContainer&&typeof this.JSChartContainer.Draw=='function'){JSConsole.Chart.Log('[JSKeyboardChart:SetSymbolData] ',arySymbol);this.JSChartContainer.SetSymbolData(arySymbol);}};this.Search=function(strText){if(this.JSChartContainer&&typeof this.JSChartContainer.Search=='function'){JSConsole.Chart.Log('[JSKeyboardChart:Search] ',strText);this.JSChartContainer.Search(strText);}};this.OnKeyDown=function(event){if(this.JSChartContainer&&typeof this.JSChartContainer.OnKeyDown=='function'){JSConsole.Chart.Log('[JSKeyboardChart:OnKeyDown] ',event);this.JSChartContainer.OnKeyDown(event);}};this.ClearSearch=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ClearSearch=='function'){JSConsole.Chart.Log('[JSKeyboardChart:ClearSearch] ',option);this.JSChartContainer.ClearSearch(option);}};}JSKeyboardChart.Init=function(divElement){var jsChartControl=new JSKeyboardChart(divElement);jsChartControl.OnSize();return jsChartControl;};//自定义风格
|
|
13649
13653
|
JSKeyboardChart.SetStyle=function(option){if(option)g_JSChartResource.SetStyle(option);};function JSKeyboardChartContainer(uielement){this.ClassName='JSKeyboardChartContainer';this.Frame;//框架画法
|
|
13650
13654
|
this.ChartPaint=[];//图形画法
|
|
13651
13655
|
this.Canvas=uielement.getContext("2d");//画布
|
|
@@ -13659,7 +13663,7 @@ this.UIElement=uielement;this.LastPoint=new Point();//鼠标位置
|
|
|
13659
13663
|
//拖拽滚动条
|
|
13660
13664
|
this.DragYScroll=null;//{Start:{x,y}, End:{x, y}}
|
|
13661
13665
|
this.IsDestroy=false;//是否已经销毁了
|
|
13662
|
-
this.
|
|
13666
|
+
this.ChartDestroy=function()//销毁
|
|
13663
13667
|
{this.IsDestroy=true;};this.ClearSearch=function(option){this.Data.Data=[];this.Data.XOffset=0;this.Data.YOffset=0;if(option&&option.Redraw==true)this.Draw();};this.SearchFunctionKeyData=function(strSearch){if(strSearch.length<=0)return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.FunctionKeyData))return null;var aryData=[];for(var i=0;i<this.FunctionKeyData.length;++i){var groupData=this.FunctionKeyData[i];if(!groupData)continue;if(!IFrameSplitOperator.IsNonEmptyArray(groupData.Data))continue;var aryExactQuery=[];//精确查询
|
|
13664
13668
|
var aryFuzzyQuery=[];//模糊查询
|
|
13665
13669
|
var aryEqualQuery=[];//相等
|
|
@@ -13798,7 +13802,7 @@ chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTat
|
|
|
13798
13802
|
//对外接口
|
|
13799
13803
|
//事件回调
|
|
13800
13804
|
this.AddEventCallback=function(obj){if(this.JSChartContainer&&typeof this.JSChartContainer.AddEventCallback=='function'){JSConsole.Chart.Log('[JSScrollBarChart:AddEventCallback] obj=',obj);this.JSChartContainer.AddEventCallback(obj);}};//重新加载配置
|
|
13801
|
-
this.ReloadResource=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ReloadResource=='function'){JSConsole.Chart.Log('[JSScrollBarChart:ReloadResource] ');this.JSChartContainer.ReloadResource(option);}};this.
|
|
13805
|
+
this.ReloadResource=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ReloadResource=='function'){JSConsole.Chart.Log('[JSScrollBarChart:ReloadResource] ');this.JSChartContainer.ReloadResource(option);}};this.ChartDestroy=function(){if(this.JSChartContainer&&typeof this.JSChartContainer.ChartDestroy=='function'){this.JSChartContainer.ChartDestroy();}};this.Draw=function(){if(this.JSChartContainer&&typeof this.JSChartContainer.Draw=='function'){JSConsole.Chart.Log('[JSScrollBarChart:Draw] ');this.JSChartContainer.Draw();}};this.RecvData=function(data,option){if(this.JSChartContainer&&typeof this.JSChartContainer.RecvData=='function'){JSConsole.Chart.Log('[JSScrollBarChart:RecvData] ');this.JSChartContainer.RecvData(data,option);}};this.UpdateSlider=function(obj){if(this.JSChartContainer&&typeof this.JSChartContainer.UpdateSlider=='function'){JSConsole.Chart.Log('[JSScrollBarChart:UpdateSlider] ');this.JSChartContainer.UpdateSlider(obj);}};this.Reset=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.Reset=='function'){JSConsole.Chart.Log('[JSScrollBarChart:Reset] ');this.JSChartContainer.Reset(option);}};//重新加载配置
|
|
13802
13806
|
this.ReloadResource=function(option){if(this.JSChartContainer&&typeof this.JSChartContainer.ReloadResource=='function'){JSConsole.Chart.Log('[JSScrollBarChart:ReloadResource] ');this.JSChartContainer.ReloadResource(option);}};}JSScrollBarChart.Init=function(divElement){var jsChartControl=new JSScrollBarChart(divElement);jsChartControl.OnSize();return jsChartControl;};//自定义风格
|
|
13803
13807
|
JSScrollBarChart.SetStyle=function(option){if(option)g_JSChartResource.SetStyle(option);};//获取颜色配置 (设置配必须啊在JSChart.Init()之前)
|
|
13804
13808
|
JSScrollBarChart.GetResource=function(){return g_JSChartResource;};//////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
@@ -13822,7 +13826,7 @@ this.mapEvent=new _map2.default();//通知外部调用 key:JSCHART_EVENT_ID valu
|
|
|
13822
13826
|
this.UIElement=uielement;this.LastPoint=new Point();//鼠标位置
|
|
13823
13827
|
//this.XStepPixel=10*GetDevicePixelRatio();
|
|
13824
13828
|
this.IsDestroy=false;//是否已经销毁了
|
|
13825
|
-
this.HQChart=null;this.
|
|
13829
|
+
this.HQChart=null;this.ChartDestroy=function()//销毁
|
|
13826
13830
|
{this.IsDestroy=true;};this.GetHQChart=function(){return this.HQChart;};//设置事件回调
|
|
13827
13831
|
//{event:事件id, callback:回调函数}
|
|
13828
13832
|
this.AddEventCallback=function(object){if(!object||!object.event||!object.callback)return;var data={Callback:object.callback,Source:object};this.mapEvent.set(object.event,data);};this.RemoveEventCallback=function(eventid){if(!this.mapEvent.has(eventid))return;this.mapEvent.delete(eventid);};this.GetEventCallback=function(id)//获取事件回调
|
|
@@ -14341,7 +14345,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
14341
14345
|
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);};}/********************************************************************************
|
|
14342
14346
|
* 版本信息输出
|
|
14343
14347
|
*
|
|
14344
|
-
*/var HQCHART_VERSION="1.1.
|
|
14348
|
+
*/var HQCHART_VERSION="1.1.14462";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();//把给外界调用的方法暴露出来
|
|
14345
14349
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
14346
14350
|
// BaseIndex:BaseIndex,
|
|
14347
14351
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -193,11 +193,11 @@ function JSTReportChart(divElement)
|
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
195
|
|
|
196
|
-
this.
|
|
196
|
+
this.ChartDestroy=function()
|
|
197
197
|
{
|
|
198
|
-
if (this.JSChartContainer && typeof (this.JSChartContainer.
|
|
198
|
+
if (this.JSChartContainer && typeof (this.JSChartContainer.ChartDestroy) == 'function')
|
|
199
199
|
{
|
|
200
|
-
this.JSChartContainer.
|
|
200
|
+
this.JSChartContainer.ChartDestroy();
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
203
|
|
|
@@ -333,7 +333,7 @@ function JSTReportChartContainer(uielement)
|
|
|
333
333
|
|
|
334
334
|
this.IsDestroy=false; //是否已经销毁了
|
|
335
335
|
|
|
336
|
-
this.
|
|
336
|
+
this.ChartDestroy=function() //销毁
|
|
337
337
|
{
|
|
338
338
|
this.IsDestroy=true;
|
|
339
339
|
this.StopAutoUpdate();
|
|
@@ -155,6 +155,14 @@ function JSDealChart(divElement)
|
|
|
155
155
|
this.JSChartContainer.ReloadResource(option);
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
|
+
|
|
159
|
+
this.ChartDestroy=function()
|
|
160
|
+
{
|
|
161
|
+
if (this.JSChartContainer && typeof (this.JSChartContainer.ChartDestroy) == 'function')
|
|
162
|
+
{
|
|
163
|
+
this.JSChartContainer.ChartDestroy();
|
|
164
|
+
}
|
|
165
|
+
}
|
|
158
166
|
}
|
|
159
167
|
|
|
160
168
|
|
|
@@ -198,7 +206,7 @@ function JSDealChartContainer(uielement)
|
|
|
198
206
|
|
|
199
207
|
this.IsDestroy=false; //是否已经销毁了
|
|
200
208
|
|
|
201
|
-
this.
|
|
209
|
+
this.ChartDestroy=function() //销毁
|
|
202
210
|
{
|
|
203
211
|
this.IsDestroy=true;
|
|
204
212
|
this.StopAutoUpdate();
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -987,6 +987,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
987
987
|
if (IFrameSplitOperator.IsNumber(item.VPenType)) chart.ChartCorssCursor.VPenType=item.VPenType;
|
|
988
988
|
if (IFrameSplitOperator.IsBool(item.EnableKeyboard)) chart.ChartCorssCursor.EnableKeyboard=item.EnableKeyboard;
|
|
989
989
|
if (IFrameSplitOperator.IsBool(item.IsShowCorssPoint)) chart.ChartCorssCursor.CorssPointConfig.Enable=item.IsShowCorssPoint;
|
|
990
|
+
if (IFrameSplitOperator.IsNumber(item.VLineType)) chart.ChartCorssCursor.VLineType=item.VLineType;
|
|
990
991
|
}
|
|
991
992
|
|
|
992
993
|
if (option.MinuteInfo) chart.CreateMinuteInfo(option.MinuteInfo);
|
|
@@ -15022,7 +15023,8 @@ function MinuteFrame()
|
|
|
15022
15023
|
}
|
|
15023
15024
|
|
|
15024
15025
|
if (IFrameSplitOperator.IsNonEmptyArray(dayItem.AryText)) //[ [{Text:, Color:},], []]
|
|
15025
|
-
{
|
|
15026
|
+
{
|
|
15027
|
+
if (dayItem.Font) this.Canvas.font=dayItem.Font;
|
|
15026
15028
|
this.Canvas.textAlign="left";
|
|
15027
15029
|
this.Canvas.textBaseline="top";
|
|
15028
15030
|
var yText=border.Bottom+2;
|
|
@@ -15170,6 +15172,7 @@ function MinuteFrame()
|
|
|
15170
15172
|
this.DrawCustomHorizontal=function() //Y轴刻度定制显示
|
|
15171
15173
|
{
|
|
15172
15174
|
if (this.IsMinSize) return;
|
|
15175
|
+
if (this.ChartBorder.IsShowTitleOnly) return;
|
|
15173
15176
|
for(var i in this.CustomHorizontalInfo)
|
|
15174
15177
|
{
|
|
15175
15178
|
var item=this.CustomHorizontalInfo[i];
|
|
@@ -53585,7 +53588,8 @@ function ChartCorssCursor()
|
|
|
53585
53588
|
{
|
|
53586
53589
|
|
|
53587
53590
|
if (!IFrameSplitOperator.IsNumber(index)) return null;
|
|
53588
|
-
index=parseInt(index);
|
|
53591
|
+
index=parseInt(index.toFixed(0));
|
|
53592
|
+
//index=parseInt(index);
|
|
53589
53593
|
if (!this.StringFormatX.Data) return null;
|
|
53590
53594
|
var data = this.StringFormatX.Data;
|
|
53591
53595
|
if (!data.Data || data.Data.length <= 0) return null;
|
|
@@ -85358,6 +85362,53 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
85358
85362
|
this.OnWheel=function(e)
|
|
85359
85363
|
{
|
|
85360
85364
|
JSConsole.Chart.Log('[MinuteChartContainer::OnWheel]',e);
|
|
85365
|
+
if (this.ChartSplashPaint && this.ChartSplashPaint.IsEnableSplash == true) return;
|
|
85366
|
+
|
|
85367
|
+
var pixelTatio = GetDevicePixelRatio();
|
|
85368
|
+
var x = (e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;
|
|
85369
|
+
var y = (e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
|
|
85370
|
+
|
|
85371
|
+
var isInClient=false;
|
|
85372
|
+
var rtClient=
|
|
85373
|
+
{
|
|
85374
|
+
Left:this.Frame.ChartBorder.GetLeft(), Right:this.Frame.ChartBorder.GetRight(),
|
|
85375
|
+
Top:this.Frame.ChartBorder.GetTop(), Bottom:this.Frame.ChartBorder.GetBottom(),
|
|
85376
|
+
Width:this.Frame.ChartBorder.GetWidth(), Height:this.Frame.ChartBorder.GetHeight()
|
|
85377
|
+
};
|
|
85378
|
+
|
|
85379
|
+
if (x>=rtClient.Left && x<=rtClient.Right && y>=rtClient.Top && y<=rtClient.Bottom ) isInClient=true;
|
|
85380
|
+
|
|
85381
|
+
if (!this.OnWheel_ZoomUpDownFrameY(e,x,y)) return;
|
|
85382
|
+
|
|
85383
|
+
if(e.preventDefault) e.preventDefault();
|
|
85384
|
+
else e.returnValue = false;
|
|
85385
|
+
}
|
|
85386
|
+
|
|
85387
|
+
//通过滚轴缩放Y轴
|
|
85388
|
+
this.OnWheel_ZoomUpDownFrameY=function(e, x, y)
|
|
85389
|
+
{
|
|
85390
|
+
if (!this.EnableYDrag.Wheel) return false;
|
|
85391
|
+
|
|
85392
|
+
var frameID=this.Frame.PtInFrame(x,y);
|
|
85393
|
+
if (frameID<0) return false;
|
|
85394
|
+
|
|
85395
|
+
var frame=this.Frame.SubFrame[frameID].Frame;
|
|
85396
|
+
var splitOper=frame.YSplitOperator;
|
|
85397
|
+
if (!splitOper || !splitOper.FixedYMaxMin) return false; //Y轴缩放状态下才有效
|
|
85398
|
+
|
|
85399
|
+
var wheelValue=e.wheelDelta;
|
|
85400
|
+
if (!IFrameSplitOperator.IsObjectExist(e.wheelDelta))
|
|
85401
|
+
wheelValue=e.deltaY* -0.01;
|
|
85402
|
+
|
|
85403
|
+
var yMove=this.EnableYDrag.WheelYMove;
|
|
85404
|
+
if (wheelValue>0) yMove*=-1;
|
|
85405
|
+
var dragY={ Position:0, Index:frameID, Right:false, Left:false }; //只能两边缩放
|
|
85406
|
+
if (!this.Frame.OnZoomUpDownFrameY(dragY, yMove)) return false;
|
|
85407
|
+
|
|
85408
|
+
this.Frame.SetSizeChage(true);
|
|
85409
|
+
this.Draw();
|
|
85410
|
+
|
|
85411
|
+
return true;
|
|
85361
85412
|
}
|
|
85362
85413
|
|
|
85363
85414
|
this.OnDoubleClick=function(x,y,e)
|
|
@@ -167,11 +167,11 @@ function JSKeyboardChart(divElement)
|
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
-
this.
|
|
170
|
+
this.ChartDestroy=function()
|
|
171
171
|
{
|
|
172
|
-
if (this.JSChartContainer && typeof (this.JSChartContainer.
|
|
172
|
+
if (this.JSChartContainer && typeof (this.JSChartContainer.ChartDestroy) == 'function')
|
|
173
173
|
{
|
|
174
|
-
this.JSChartContainer.
|
|
174
|
+
this.JSChartContainer.ChartDestroy();
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
177
|
|
|
@@ -261,7 +261,7 @@ function JSKeyboardChartContainer(uielement)
|
|
|
261
261
|
|
|
262
262
|
this.IsDestroy=false; //是否已经销毁了
|
|
263
263
|
|
|
264
|
-
this.
|
|
264
|
+
this.ChartDestroy=function() //销毁
|
|
265
265
|
{
|
|
266
266
|
this.IsDestroy=true;
|
|
267
267
|
}
|
|
@@ -308,11 +308,11 @@ function JSReportChart(divElement)
|
|
|
308
308
|
}
|
|
309
309
|
}
|
|
310
310
|
|
|
311
|
-
this.
|
|
311
|
+
this.ChartDestroy=function()
|
|
312
312
|
{
|
|
313
|
-
if (this.JSChartContainer && typeof (this.JSChartContainer.
|
|
313
|
+
if (this.JSChartContainer && typeof (this.JSChartContainer.ChartDestroy) == 'function')
|
|
314
314
|
{
|
|
315
|
-
this.JSChartContainer.
|
|
315
|
+
this.JSChartContainer.ChartDestroy();
|
|
316
316
|
}
|
|
317
317
|
}
|
|
318
318
|
|
|
@@ -481,7 +481,7 @@ function JSReportChartContainer(uielement)
|
|
|
481
481
|
//MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
|
|
482
482
|
this.LastMouseStatus={ MoveStatus:null, TooltipStatus:null, MouseOnStatus:null };
|
|
483
483
|
|
|
484
|
-
this.
|
|
484
|
+
this.ChartDestroy=function() //销毁
|
|
485
485
|
{
|
|
486
486
|
this.IsDestroy=true;
|
|
487
487
|
this.StopAutoUpdate();
|
|
@@ -153,11 +153,11 @@ function JSScrollBarChart(divElement)
|
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
|
|
156
|
-
this.
|
|
156
|
+
this.ChartDestroy=function()
|
|
157
157
|
{
|
|
158
|
-
if (this.JSChartContainer && typeof (this.JSChartContainer.
|
|
158
|
+
if (this.JSChartContainer && typeof (this.JSChartContainer.ChartDestroy) == 'function')
|
|
159
159
|
{
|
|
160
|
-
this.JSChartContainer.
|
|
160
|
+
this.JSChartContainer.ChartDestroy();
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
|
|
@@ -270,7 +270,7 @@ function JSScrollBarChartContainer(uielement)
|
|
|
270
270
|
|
|
271
271
|
this.HQChart=null;
|
|
272
272
|
|
|
273
|
-
this.
|
|
273
|
+
this.ChartDestroy=function() //销毁
|
|
274
274
|
{
|
|
275
275
|
this.IsDestroy=true;
|
|
276
276
|
}
|
|
@@ -4912,6 +4912,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4912
4912
|
if (IFrameSplitOperator.IsNumber(item.VPenType)) chart.ChartCorssCursor.VPenType=item.VPenType;
|
|
4913
4913
|
if (IFrameSplitOperator.IsBool(item.EnableKeyboard)) chart.ChartCorssCursor.EnableKeyboard=item.EnableKeyboard;
|
|
4914
4914
|
if (IFrameSplitOperator.IsBool(item.IsShowCorssPoint)) chart.ChartCorssCursor.CorssPointConfig.Enable=item.IsShowCorssPoint;
|
|
4915
|
+
if (IFrameSplitOperator.IsNumber(item.VLineType)) chart.ChartCorssCursor.VLineType=item.VLineType;
|
|
4915
4916
|
}
|
|
4916
4917
|
|
|
4917
4918
|
if (option.MinuteInfo) chart.CreateMinuteInfo(option.MinuteInfo);
|
|
@@ -18947,7 +18948,8 @@ function MinuteFrame()
|
|
|
18947
18948
|
}
|
|
18948
18949
|
|
|
18949
18950
|
if (IFrameSplitOperator.IsNonEmptyArray(dayItem.AryText)) //[ [{Text:, Color:},], []]
|
|
18950
|
-
{
|
|
18951
|
+
{
|
|
18952
|
+
if (dayItem.Font) this.Canvas.font=dayItem.Font;
|
|
18951
18953
|
this.Canvas.textAlign="left";
|
|
18952
18954
|
this.Canvas.textBaseline="top";
|
|
18953
18955
|
var yText=border.Bottom+2;
|
|
@@ -19095,6 +19097,7 @@ function MinuteFrame()
|
|
|
19095
19097
|
this.DrawCustomHorizontal=function() //Y轴刻度定制显示
|
|
19096
19098
|
{
|
|
19097
19099
|
if (this.IsMinSize) return;
|
|
19100
|
+
if (this.ChartBorder.IsShowTitleOnly) return;
|
|
19098
19101
|
for(var i in this.CustomHorizontalInfo)
|
|
19099
19102
|
{
|
|
19100
19103
|
var item=this.CustomHorizontalInfo[i];
|
|
@@ -57510,7 +57513,8 @@ function ChartCorssCursor()
|
|
|
57510
57513
|
{
|
|
57511
57514
|
|
|
57512
57515
|
if (!IFrameSplitOperator.IsNumber(index)) return null;
|
|
57513
|
-
index=parseInt(index);
|
|
57516
|
+
index=parseInt(index.toFixed(0));
|
|
57517
|
+
//index=parseInt(index);
|
|
57514
57518
|
if (!this.StringFormatX.Data) return null;
|
|
57515
57519
|
var data = this.StringFormatX.Data;
|
|
57516
57520
|
if (!data.Data || data.Data.length <= 0) return null;
|
|
@@ -89283,6 +89287,53 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
89283
89287
|
this.OnWheel=function(e)
|
|
89284
89288
|
{
|
|
89285
89289
|
JSConsole.Chart.Log('[MinuteChartContainer::OnWheel]',e);
|
|
89290
|
+
if (this.ChartSplashPaint && this.ChartSplashPaint.IsEnableSplash == true) return;
|
|
89291
|
+
|
|
89292
|
+
var pixelTatio = GetDevicePixelRatio();
|
|
89293
|
+
var x = (e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;
|
|
89294
|
+
var y = (e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
|
|
89295
|
+
|
|
89296
|
+
var isInClient=false;
|
|
89297
|
+
var rtClient=
|
|
89298
|
+
{
|
|
89299
|
+
Left:this.Frame.ChartBorder.GetLeft(), Right:this.Frame.ChartBorder.GetRight(),
|
|
89300
|
+
Top:this.Frame.ChartBorder.GetTop(), Bottom:this.Frame.ChartBorder.GetBottom(),
|
|
89301
|
+
Width:this.Frame.ChartBorder.GetWidth(), Height:this.Frame.ChartBorder.GetHeight()
|
|
89302
|
+
};
|
|
89303
|
+
|
|
89304
|
+
if (x>=rtClient.Left && x<=rtClient.Right && y>=rtClient.Top && y<=rtClient.Bottom ) isInClient=true;
|
|
89305
|
+
|
|
89306
|
+
if (!this.OnWheel_ZoomUpDownFrameY(e,x,y)) return;
|
|
89307
|
+
|
|
89308
|
+
if(e.preventDefault) e.preventDefault();
|
|
89309
|
+
else e.returnValue = false;
|
|
89310
|
+
}
|
|
89311
|
+
|
|
89312
|
+
//通过滚轴缩放Y轴
|
|
89313
|
+
this.OnWheel_ZoomUpDownFrameY=function(e, x, y)
|
|
89314
|
+
{
|
|
89315
|
+
if (!this.EnableYDrag.Wheel) return false;
|
|
89316
|
+
|
|
89317
|
+
var frameID=this.Frame.PtInFrame(x,y);
|
|
89318
|
+
if (frameID<0) return false;
|
|
89319
|
+
|
|
89320
|
+
var frame=this.Frame.SubFrame[frameID].Frame;
|
|
89321
|
+
var splitOper=frame.YSplitOperator;
|
|
89322
|
+
if (!splitOper || !splitOper.FixedYMaxMin) return false; //Y轴缩放状态下才有效
|
|
89323
|
+
|
|
89324
|
+
var wheelValue=e.wheelDelta;
|
|
89325
|
+
if (!IFrameSplitOperator.IsObjectExist(e.wheelDelta))
|
|
89326
|
+
wheelValue=e.deltaY* -0.01;
|
|
89327
|
+
|
|
89328
|
+
var yMove=this.EnableYDrag.WheelYMove;
|
|
89329
|
+
if (wheelValue>0) yMove*=-1;
|
|
89330
|
+
var dragY={ Position:0, Index:frameID, Right:false, Left:false }; //只能两边缩放
|
|
89331
|
+
if (!this.Frame.OnZoomUpDownFrameY(dragY, yMove)) return false;
|
|
89332
|
+
|
|
89333
|
+
this.Frame.SetSizeChage(true);
|
|
89334
|
+
this.Draw();
|
|
89335
|
+
|
|
89336
|
+
return true;
|
|
89286
89337
|
}
|
|
89287
89338
|
|
|
89288
89339
|
this.OnDoubleClick=function(x,y,e)
|
|
@@ -129546,6 +129597,14 @@ function JSDealChart(divElement)
|
|
|
129546
129597
|
this.JSChartContainer.ReloadResource(option);
|
|
129547
129598
|
}
|
|
129548
129599
|
}
|
|
129600
|
+
|
|
129601
|
+
this.ChartDestroy=function()
|
|
129602
|
+
{
|
|
129603
|
+
if (this.JSChartContainer && typeof (this.JSChartContainer.ChartDestroy) == 'function')
|
|
129604
|
+
{
|
|
129605
|
+
this.JSChartContainer.ChartDestroy();
|
|
129606
|
+
}
|
|
129607
|
+
}
|
|
129549
129608
|
}
|
|
129550
129609
|
|
|
129551
129610
|
|
|
@@ -129589,7 +129648,7 @@ function JSDealChartContainer(uielement)
|
|
|
129589
129648
|
|
|
129590
129649
|
this.IsDestroy=false; //是否已经销毁了
|
|
129591
129650
|
|
|
129592
|
-
this.
|
|
129651
|
+
this.ChartDestroy=function() //销毁
|
|
129593
129652
|
{
|
|
129594
129653
|
this.IsDestroy=true;
|
|
129595
129654
|
this.StopAutoUpdate();
|
|
@@ -131155,11 +131214,11 @@ function JSReportChart(divElement)
|
|
|
131155
131214
|
}
|
|
131156
131215
|
}
|
|
131157
131216
|
|
|
131158
|
-
this.
|
|
131217
|
+
this.ChartDestroy=function()
|
|
131159
131218
|
{
|
|
131160
|
-
if (this.JSChartContainer && typeof (this.JSChartContainer.
|
|
131219
|
+
if (this.JSChartContainer && typeof (this.JSChartContainer.ChartDestroy) == 'function')
|
|
131161
131220
|
{
|
|
131162
|
-
this.JSChartContainer.
|
|
131221
|
+
this.JSChartContainer.ChartDestroy();
|
|
131163
131222
|
}
|
|
131164
131223
|
}
|
|
131165
131224
|
|
|
@@ -131328,7 +131387,7 @@ function JSReportChartContainer(uielement)
|
|
|
131328
131387
|
//MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
|
|
131329
131388
|
this.LastMouseStatus={ MoveStatus:null, TooltipStatus:null, MouseOnStatus:null };
|
|
131330
131389
|
|
|
131331
|
-
this.
|
|
131390
|
+
this.ChartDestroy=function() //销毁
|
|
131332
131391
|
{
|
|
131333
131392
|
this.IsDestroy=true;
|
|
131334
131393
|
this.StopAutoUpdate();
|
|
@@ -140425,11 +140484,11 @@ function JSKeyboardChart(divElement)
|
|
|
140425
140484
|
}
|
|
140426
140485
|
}
|
|
140427
140486
|
|
|
140428
|
-
this.
|
|
140487
|
+
this.ChartDestroy=function()
|
|
140429
140488
|
{
|
|
140430
|
-
if (this.JSChartContainer && typeof (this.JSChartContainer.
|
|
140489
|
+
if (this.JSChartContainer && typeof (this.JSChartContainer.ChartDestroy) == 'function')
|
|
140431
140490
|
{
|
|
140432
|
-
this.JSChartContainer.
|
|
140491
|
+
this.JSChartContainer.ChartDestroy();
|
|
140433
140492
|
}
|
|
140434
140493
|
}
|
|
140435
140494
|
|
|
@@ -140519,7 +140578,7 @@ function JSKeyboardChartContainer(uielement)
|
|
|
140519
140578
|
|
|
140520
140579
|
this.IsDestroy=false; //是否已经销毁了
|
|
140521
140580
|
|
|
140522
|
-
this.
|
|
140581
|
+
this.ChartDestroy=function() //销毁
|
|
140523
140582
|
{
|
|
140524
140583
|
this.IsDestroy=true;
|
|
140525
140584
|
}
|
|
@@ -142270,11 +142329,11 @@ function JSScrollBarChart(divElement)
|
|
|
142270
142329
|
}
|
|
142271
142330
|
}
|
|
142272
142331
|
|
|
142273
|
-
this.
|
|
142332
|
+
this.ChartDestroy=function()
|
|
142274
142333
|
{
|
|
142275
|
-
if (this.JSChartContainer && typeof (this.JSChartContainer.
|
|
142334
|
+
if (this.JSChartContainer && typeof (this.JSChartContainer.ChartDestroy) == 'function')
|
|
142276
142335
|
{
|
|
142277
|
-
this.JSChartContainer.
|
|
142336
|
+
this.JSChartContainer.ChartDestroy();
|
|
142278
142337
|
}
|
|
142279
142338
|
}
|
|
142280
142339
|
|
|
@@ -142387,7 +142446,7 @@ function JSScrollBarChartContainer(uielement)
|
|
|
142387
142446
|
|
|
142388
142447
|
this.HQChart=null;
|
|
142389
142448
|
|
|
142390
|
-
this.
|
|
142449
|
+
this.ChartDestroy=function() //销毁
|
|
142391
142450
|
{
|
|
142392
142451
|
this.IsDestroy=true;
|
|
142393
142452
|
}
|
|
@@ -143597,7 +143656,7 @@ function ScrollBarBGChart()
|
|
|
143597
143656
|
|
|
143598
143657
|
|
|
143599
143658
|
|
|
143600
|
-
var HQCHART_VERSION="1.1.
|
|
143659
|
+
var HQCHART_VERSION="1.1.14462";
|
|
143601
143660
|
|
|
143602
143661
|
function PrintHQChartVersion()
|
|
143603
143662
|
{
|
|
@@ -4956,6 +4956,7 @@ function JSChart(divElement, bOffscreen, bCacheCanvas)
|
|
|
4956
4956
|
if (IFrameSplitOperator.IsNumber(item.VPenType)) chart.ChartCorssCursor.VPenType=item.VPenType;
|
|
4957
4957
|
if (IFrameSplitOperator.IsBool(item.EnableKeyboard)) chart.ChartCorssCursor.EnableKeyboard=item.EnableKeyboard;
|
|
4958
4958
|
if (IFrameSplitOperator.IsBool(item.IsShowCorssPoint)) chart.ChartCorssCursor.CorssPointConfig.Enable=item.IsShowCorssPoint;
|
|
4959
|
+
if (IFrameSplitOperator.IsNumber(item.VLineType)) chart.ChartCorssCursor.VLineType=item.VLineType;
|
|
4959
4960
|
}
|
|
4960
4961
|
|
|
4961
4962
|
if (option.MinuteInfo) chart.CreateMinuteInfo(option.MinuteInfo);
|
|
@@ -18991,7 +18992,8 @@ function MinuteFrame()
|
|
|
18991
18992
|
}
|
|
18992
18993
|
|
|
18993
18994
|
if (IFrameSplitOperator.IsNonEmptyArray(dayItem.AryText)) //[ [{Text:, Color:},], []]
|
|
18994
|
-
{
|
|
18995
|
+
{
|
|
18996
|
+
if (dayItem.Font) this.Canvas.font=dayItem.Font;
|
|
18995
18997
|
this.Canvas.textAlign="left";
|
|
18996
18998
|
this.Canvas.textBaseline="top";
|
|
18997
18999
|
var yText=border.Bottom+2;
|
|
@@ -19139,6 +19141,7 @@ function MinuteFrame()
|
|
|
19139
19141
|
this.DrawCustomHorizontal=function() //Y轴刻度定制显示
|
|
19140
19142
|
{
|
|
19141
19143
|
if (this.IsMinSize) return;
|
|
19144
|
+
if (this.ChartBorder.IsShowTitleOnly) return;
|
|
19142
19145
|
for(var i in this.CustomHorizontalInfo)
|
|
19143
19146
|
{
|
|
19144
19147
|
var item=this.CustomHorizontalInfo[i];
|
|
@@ -57554,7 +57557,8 @@ function ChartCorssCursor()
|
|
|
57554
57557
|
{
|
|
57555
57558
|
|
|
57556
57559
|
if (!IFrameSplitOperator.IsNumber(index)) return null;
|
|
57557
|
-
index=parseInt(index);
|
|
57560
|
+
index=parseInt(index.toFixed(0));
|
|
57561
|
+
//index=parseInt(index);
|
|
57558
57562
|
if (!this.StringFormatX.Data) return null;
|
|
57559
57563
|
var data = this.StringFormatX.Data;
|
|
57560
57564
|
if (!data.Data || data.Data.length <= 0) return null;
|
|
@@ -89327,6 +89331,53 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
89327
89331
|
this.OnWheel=function(e)
|
|
89328
89332
|
{
|
|
89329
89333
|
JSConsole.Chart.Log('[MinuteChartContainer::OnWheel]',e);
|
|
89334
|
+
if (this.ChartSplashPaint && this.ChartSplashPaint.IsEnableSplash == true) return;
|
|
89335
|
+
|
|
89336
|
+
var pixelTatio = GetDevicePixelRatio();
|
|
89337
|
+
var x = (e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;
|
|
89338
|
+
var y = (e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
|
|
89339
|
+
|
|
89340
|
+
var isInClient=false;
|
|
89341
|
+
var rtClient=
|
|
89342
|
+
{
|
|
89343
|
+
Left:this.Frame.ChartBorder.GetLeft(), Right:this.Frame.ChartBorder.GetRight(),
|
|
89344
|
+
Top:this.Frame.ChartBorder.GetTop(), Bottom:this.Frame.ChartBorder.GetBottom(),
|
|
89345
|
+
Width:this.Frame.ChartBorder.GetWidth(), Height:this.Frame.ChartBorder.GetHeight()
|
|
89346
|
+
};
|
|
89347
|
+
|
|
89348
|
+
if (x>=rtClient.Left && x<=rtClient.Right && y>=rtClient.Top && y<=rtClient.Bottom ) isInClient=true;
|
|
89349
|
+
|
|
89350
|
+
if (!this.OnWheel_ZoomUpDownFrameY(e,x,y)) return;
|
|
89351
|
+
|
|
89352
|
+
if(e.preventDefault) e.preventDefault();
|
|
89353
|
+
else e.returnValue = false;
|
|
89354
|
+
}
|
|
89355
|
+
|
|
89356
|
+
//通过滚轴缩放Y轴
|
|
89357
|
+
this.OnWheel_ZoomUpDownFrameY=function(e, x, y)
|
|
89358
|
+
{
|
|
89359
|
+
if (!this.EnableYDrag.Wheel) return false;
|
|
89360
|
+
|
|
89361
|
+
var frameID=this.Frame.PtInFrame(x,y);
|
|
89362
|
+
if (frameID<0) return false;
|
|
89363
|
+
|
|
89364
|
+
var frame=this.Frame.SubFrame[frameID].Frame;
|
|
89365
|
+
var splitOper=frame.YSplitOperator;
|
|
89366
|
+
if (!splitOper || !splitOper.FixedYMaxMin) return false; //Y轴缩放状态下才有效
|
|
89367
|
+
|
|
89368
|
+
var wheelValue=e.wheelDelta;
|
|
89369
|
+
if (!IFrameSplitOperator.IsObjectExist(e.wheelDelta))
|
|
89370
|
+
wheelValue=e.deltaY* -0.01;
|
|
89371
|
+
|
|
89372
|
+
var yMove=this.EnableYDrag.WheelYMove;
|
|
89373
|
+
if (wheelValue>0) yMove*=-1;
|
|
89374
|
+
var dragY={ Position:0, Index:frameID, Right:false, Left:false }; //只能两边缩放
|
|
89375
|
+
if (!this.Frame.OnZoomUpDownFrameY(dragY, yMove)) return false;
|
|
89376
|
+
|
|
89377
|
+
this.Frame.SetSizeChage(true);
|
|
89378
|
+
this.Draw();
|
|
89379
|
+
|
|
89380
|
+
return true;
|
|
89330
89381
|
}
|
|
89331
89382
|
|
|
89332
89383
|
this.OnDoubleClick=function(x,y,e)
|
|
@@ -129590,6 +129641,14 @@ function JSDealChart(divElement)
|
|
|
129590
129641
|
this.JSChartContainer.ReloadResource(option);
|
|
129591
129642
|
}
|
|
129592
129643
|
}
|
|
129644
|
+
|
|
129645
|
+
this.ChartDestroy=function()
|
|
129646
|
+
{
|
|
129647
|
+
if (this.JSChartContainer && typeof (this.JSChartContainer.ChartDestroy) == 'function')
|
|
129648
|
+
{
|
|
129649
|
+
this.JSChartContainer.ChartDestroy();
|
|
129650
|
+
}
|
|
129651
|
+
}
|
|
129593
129652
|
}
|
|
129594
129653
|
|
|
129595
129654
|
|
|
@@ -129633,7 +129692,7 @@ function JSDealChartContainer(uielement)
|
|
|
129633
129692
|
|
|
129634
129693
|
this.IsDestroy=false; //是否已经销毁了
|
|
129635
129694
|
|
|
129636
|
-
this.
|
|
129695
|
+
this.ChartDestroy=function() //销毁
|
|
129637
129696
|
{
|
|
129638
129697
|
this.IsDestroy=true;
|
|
129639
129698
|
this.StopAutoUpdate();
|
|
@@ -131199,11 +131258,11 @@ function JSReportChart(divElement)
|
|
|
131199
131258
|
}
|
|
131200
131259
|
}
|
|
131201
131260
|
|
|
131202
|
-
this.
|
|
131261
|
+
this.ChartDestroy=function()
|
|
131203
131262
|
{
|
|
131204
|
-
if (this.JSChartContainer && typeof (this.JSChartContainer.
|
|
131263
|
+
if (this.JSChartContainer && typeof (this.JSChartContainer.ChartDestroy) == 'function')
|
|
131205
131264
|
{
|
|
131206
|
-
this.JSChartContainer.
|
|
131265
|
+
this.JSChartContainer.ChartDestroy();
|
|
131207
131266
|
}
|
|
131208
131267
|
}
|
|
131209
131268
|
|
|
@@ -131372,7 +131431,7 @@ function JSReportChartContainer(uielement)
|
|
|
131372
131431
|
//MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
|
|
131373
131432
|
this.LastMouseStatus={ MoveStatus:null, TooltipStatus:null, MouseOnStatus:null };
|
|
131374
131433
|
|
|
131375
|
-
this.
|
|
131434
|
+
this.ChartDestroy=function() //销毁
|
|
131376
131435
|
{
|
|
131377
131436
|
this.IsDestroy=true;
|
|
131378
131437
|
this.StopAutoUpdate();
|
|
@@ -140495,11 +140554,11 @@ function JSTReportChart(divElement)
|
|
|
140495
140554
|
}
|
|
140496
140555
|
}
|
|
140497
140556
|
|
|
140498
|
-
this.
|
|
140557
|
+
this.ChartDestroy=function()
|
|
140499
140558
|
{
|
|
140500
|
-
if (this.JSChartContainer && typeof (this.JSChartContainer.
|
|
140559
|
+
if (this.JSChartContainer && typeof (this.JSChartContainer.ChartDestroy) == 'function')
|
|
140501
140560
|
{
|
|
140502
|
-
this.JSChartContainer.
|
|
140561
|
+
this.JSChartContainer.ChartDestroy();
|
|
140503
140562
|
}
|
|
140504
140563
|
}
|
|
140505
140564
|
|
|
@@ -140635,7 +140694,7 @@ function JSTReportChartContainer(uielement)
|
|
|
140635
140694
|
|
|
140636
140695
|
this.IsDestroy=false; //是否已经销毁了
|
|
140637
140696
|
|
|
140638
|
-
this.
|
|
140697
|
+
this.ChartDestroy=function() //销毁
|
|
140639
140698
|
{
|
|
140640
140699
|
this.IsDestroy=true;
|
|
140641
140700
|
this.StopAutoUpdate();
|
|
@@ -143630,11 +143689,11 @@ function JSKeyboardChart(divElement)
|
|
|
143630
143689
|
}
|
|
143631
143690
|
}
|
|
143632
143691
|
|
|
143633
|
-
this.
|
|
143692
|
+
this.ChartDestroy=function()
|
|
143634
143693
|
{
|
|
143635
|
-
if (this.JSChartContainer && typeof (this.JSChartContainer.
|
|
143694
|
+
if (this.JSChartContainer && typeof (this.JSChartContainer.ChartDestroy) == 'function')
|
|
143636
143695
|
{
|
|
143637
|
-
this.JSChartContainer.
|
|
143696
|
+
this.JSChartContainer.ChartDestroy();
|
|
143638
143697
|
}
|
|
143639
143698
|
}
|
|
143640
143699
|
|
|
@@ -143724,7 +143783,7 @@ function JSKeyboardChartContainer(uielement)
|
|
|
143724
143783
|
|
|
143725
143784
|
this.IsDestroy=false; //是否已经销毁了
|
|
143726
143785
|
|
|
143727
|
-
this.
|
|
143786
|
+
this.ChartDestroy=function() //销毁
|
|
143728
143787
|
{
|
|
143729
143788
|
this.IsDestroy=true;
|
|
143730
143789
|
}
|
|
@@ -145475,11 +145534,11 @@ function JSScrollBarChart(divElement)
|
|
|
145475
145534
|
}
|
|
145476
145535
|
}
|
|
145477
145536
|
|
|
145478
|
-
this.
|
|
145537
|
+
this.ChartDestroy=function()
|
|
145479
145538
|
{
|
|
145480
|
-
if (this.JSChartContainer && typeof (this.JSChartContainer.
|
|
145539
|
+
if (this.JSChartContainer && typeof (this.JSChartContainer.ChartDestroy) == 'function')
|
|
145481
145540
|
{
|
|
145482
|
-
this.JSChartContainer.
|
|
145541
|
+
this.JSChartContainer.ChartDestroy();
|
|
145483
145542
|
}
|
|
145484
145543
|
}
|
|
145485
145544
|
|
|
@@ -145592,7 +145651,7 @@ function JSScrollBarChartContainer(uielement)
|
|
|
145592
145651
|
|
|
145593
145652
|
this.HQChart=null;
|
|
145594
145653
|
|
|
145595
|
-
this.
|
|
145654
|
+
this.ChartDestroy=function() //销毁
|
|
145596
145655
|
{
|
|
145597
145656
|
this.IsDestroy=true;
|
|
145598
145657
|
}
|
|
@@ -153409,7 +153468,7 @@ function HQChartScriptWorker()
|
|
|
153409
153468
|
|
|
153410
153469
|
|
|
153411
153470
|
|
|
153412
|
-
var HQCHART_VERSION="1.1.
|
|
153471
|
+
var HQCHART_VERSION="1.1.14462";
|
|
153413
153472
|
|
|
153414
153473
|
function PrintHQChartVersion()
|
|
153415
153474
|
{
|