hqchart 1.1.14354 → 1.1.14367
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 +42 -37
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogTooltip.js +23 -2
- package/src/jscommon/umychart.NetworkFilterTest.js +54 -1
- package/src/jscommon/umychart.TReport.js +100 -16
- package/src/jscommon/umychart.complier.js +10 -0
- package/src/jscommon/umychart.js +109 -77
- package/src/jscommon/umychart.testdata.js +54 -1
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +120 -78
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.NetworkFilterTest.vue.js +54 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +243 -96
package/lib/umychart.vue.js
CHANGED
|
@@ -1781,7 +1781,7 @@ this.BorderDrag=null;this.YDrag=null;this.UpDownDrag=null;this.RectSelectDrag=nu
|
|
|
1781
1781
|
return this.MoveIndexToNewWindow({WindowIndex:startFrameID,IndexID:info.IndexID},{Operator:0});return false;}if(startFrameID==endFrameID)return false;//移动指标
|
|
1782
1782
|
return this.MoveIndex({WindowIndex:startFrameID,IndexID:info.IndexID},{WindowIndex:endFrameID},{Operator:0});};//获取选中图形信息
|
|
1783
1783
|
this.GetSelectedChartInfo=function(selectedChart){if(!selectedChart)return null;var result={Type:0};var id=selectedChart.Identify;if(id=="Main-KLine"){result.Name=this.Name;result.Symbol=this.Symbol;result.Type=JSCHART_DRAGCHART_TYPE_ID.MAIN_KLINE;}else if(id.indexOf("Overlay-KLine-")==0){result.Name=selectedChart.Chart.Title;result.Symbol=selectedChart.Chart.Symbol;result.Type=JSCHART_DRAGCHART_TYPE_ID.OVERLAY_KLINE;}else if(id.indexOf("Overlay-Minute-")==0){result.Name=selectedChart.Chart.Title;result.Symbol=selectedChart.Chart.Symbol;result.Type=JSCHART_DRAGCHART_TYPE_ID.OVERLAY_MINUTE;}else if(id=="Minute-Line"){result.Name=this.Name;result.Symbol=this.Symbol;result.Type=JSCHART_DRAGCHART_TYPE_ID.MAIN_MINUTE;}else if(id=="Minute-Average-Line"){result.Name=this.Name;result.Symbol=this.Symbol;result.Type=JSCHART_DRAGCHART_TYPE_ID.MAIN_AVERAGE_MINUTE;}else if(id=="Minute-Vol-Bar"){result.Name=this.Name;result.Symbol=this.Symbol;result.Type=JSCHART_DRAGCHART_TYPE_ID.MAIN_MINUTE_VOL;}else if(id.indexOf("guid")==0){for(var i=0;i<this.TitlePaint.length;++i){var titleItem=this.TitlePaint[i];if(titleItem.ClassName!="DynamicChartTitlePainting")continue;if(titleItem.Identify==id){result.IndexName=titleItem.Title;result.IndexID=id;result.Type=JSCHART_DRAGCHART_TYPE_ID.MAIN_INDEX;break;}var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{for(var _iterator2=(0,_getIterator3.default)(titleItem.OverlayIndex),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){var item=_step2.value;if(item[0]==id){result.IndexName=item[1].Title;result.IndexID=id;result.Type=JSCHART_DRAGCHART_TYPE_ID.OVERLAY_INDEX;break;}}}catch(err){_didIteratorError2=true;_iteratorError2=err;}finally{try{if(!_iteratorNormalCompletion2&&_iterator2.return){_iterator2.return();}}finally{if(_didIteratorError2){throw _iteratorError2;}}}if(result.Type>0)break;}}return result;};//点击事件
|
|
1784
|
-
this.ClickEvent=function(e){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK);if(!event||!event.Callback)return false;if(this.ClickDownPoint.X!=e.clientX||this.ClickDownPoint.Y!=e.clientY)return false;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-uielement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-uielement.getBoundingClientRect().top)*pixelTatio;var data={X:e.clientX,Y:e.clientY,FrameID:-1};var
|
|
1784
|
+
this.ClickEvent=function(e){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CLICK);if(!event||!event.Callback)return false;if(this.ClickDownPoint.X!=e.clientX||this.ClickDownPoint.Y!=e.clientY)return false;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-uielement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-uielement.getBoundingClientRect().top)*pixelTatio;var data={X:e.clientX,Y:e.clientY,FrameID:-1};var clientPos=this.PtInClient(x,y);if(clientPos>0){var yValueExtend={};var yValue=this.Frame.GetYData(y,yValueExtend);if(IFrameSplitOperator.IsNumber(yValueExtend.FrameID)&&yValueExtend.FrameID>=0){var xValue=this.Frame.GetXData(x);data.FrameID=yValueExtend.FrameID;data.Data={X:xValue,Y:yValue};}}event.Callback(event,data,this);return true;};//双击事件
|
|
1785
1785
|
this.DBClickEvent=function(dbClickInfo,e){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DBCLICK);if(!event||!event.Callback)return false;var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-uielement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-uielement.getBoundingClientRect().top)*pixelTatio;var data={X:e.clientX,Y:e.clientY,FrameID:-1,ClientPos:-1};var clientPos=this.PtInClient(x,y);data.ClientPos=clientPos;if(clientPos>0){var yValueExtend={};var yValue=this.Frame.GetYData(y,yValueExtend);if(IFrameSplitOperator.IsNumber(yValueExtend.FrameID)&&yValueExtend.FrameID>=0){var xValue=this.Frame.GetXData(x);data.FrameID=yValueExtend.FrameID;data.Data={X:xValue,Y:yValue};if(this.GetDataItem)data.Data.Item=this.GetDataItem({ClientPos:clientPos,Index:xValue,Point:{X:x,Y:y}});}}//选中图形
|
|
1786
1786
|
if(dbClickInfo&&dbClickInfo.SelectedChart){data.SelectedChart=this.GetSelectedChartInfo(dbClickInfo.SelectedChart);}event.Callback(event,data,this);return true;};this.PtInChartPaintTooltip=function(x,y,toolTip){for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip))return item;}return null;};//叠加指标提示信息
|
|
1787
1787
|
this.PtInOverlayIndexTooltip=function(x,y,tooltip){var windowIndex=this.Frame.PtInFrame(x,y);if(windowIndex<0)return null;if(!this.Frame.SubFrame[windowIndex])return null;var aryOverlay=this.Frame.SubFrame[windowIndex].OverlayIndex;if(!IFrameSplitOperator.IsNonEmptyArray(aryOverlay))return null;for(var i=0;i<aryOverlay.length;++i){var overlayItem=aryOverlay[i];if(!IFrameSplitOperator.IsNonEmptyArray(overlayItem.ChartPaint))continue;for(var j=0;j<overlayItem.ChartPaint.length;++j){var item=overlayItem.ChartPaint[j];if(!item.IsShow)continue;if(item.IsHideScriptIndex())continue;if(item.GetTooltipData(x,y,tooltip)){tooltip.OverlayIndex={WindowIndex:windowIndex,Identify:overlayItem.Identify};if(overlayItem.Script){tooltip.OverlayIndex.IndexName=overlayItem.Script.Name;tooltip.OverlayIndex.IndexID=overlayItem.Script.ID;}return item;}}}return null;};this.PtInOverlayChartPaintTooltip=function(x,y,toolTip){for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(item.GetTooltipData(x,y,toolTip))return item;}return null;};//扩展图形支持tooltip外部接口
|
|
@@ -4380,7 +4380,7 @@ function ChartMultiText(){this.newMethod=IChartPainting;//派生
|
|
|
4380
4380
|
this.newMethod();delete this.newMethod;this.ClassName="ChartMultiText";this.Texts=[];//[ {Date:, Time, Value:, Text:, Color:, Font: , Baseline:, Line:{ Color:, Dash:[虚线点], KData:"H/L", Offset:[5,10], Width:线粗细 }} ]
|
|
4381
4381
|
this.Font=g_JSChartResource.DefaultTextFont;this.Color=g_JSChartResource.DefaultTextColor;this.IsHScreen=false;//是否横屏
|
|
4382
4382
|
this.MapCache=null;//key=date/date-time value={ Data:[] }
|
|
4383
|
-
this.GetKValue=ChartData.GetKValue;this.BuildCacheData=function(){var mapData=new _map2.default();this.MapCache=mapData;if(!IFrameSplitOperator.IsNonEmptyArray(this.Texts))return;for(var i=0;i<this.Texts.length;++i){var item=this.Texts[i];var key=this.BuildKey(item);if(mapData.has(key)){var mapItem=mapData.get(key);mapItem.Data.push(item);}else{mapData.set(key,{Data:[item]});}}};this.DrawAllText=function(){var bHScreen=this.ChartFrame.IsHScreen===true;var isMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;if(bHScreen){var border=this.ChartBorder.GetHScreenBorder();var chartright=border.BottomEx;var chartleft=border.TopEx;var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var left=this.ChartBorder.GetTop();var right=this.ChartBorder.GetBottom();var top=border.RightEx;var bottom=border.LeftEx;}else{var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var chartleft=border.LeftEx;var left=this.ChartBorder.GetLeft();var right=this.ChartBorder.GetRight();var top=border.TopEx;var bottom=border.BottomEx;}for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];if(!kItem)continue;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(!IFrameSplitOperator.IsNonEmptyArray(mapItem.Data))continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;for(var k=0;k<mapItem.Data.length;++k){var item=mapItem.Data[k];var y=top;if(item.Value=="TOP")y=top;else if(item.Value=="BOTTOM")y=bottom;else{var price=item.Value;if(IFrameSplitOperator.IsString(item.Value))price=this.GetKValue(kItem,item.Value);y=this.ChartFrame.GetYFromData(price,false);}if(item.Color)this.Canvas.fillStyle=item.Color;else this.Canvas.fillStyle=this.Color;if(item.Font)this.Canvas.font=item.Font;else this.Canvas.font=this.Font;var textWidth=this.Canvas.measureText(item.Text).width;this.Canvas.textAlign='center';if(x+textWidth/2>=chartright){this.Canvas.textAlign='right';x=chartright;}else if(x-textWidth/2<chartleft){this.Canvas.textAlign='left';x=chartleft;}if(item.Baseline==1)this.Canvas.textBaseline='top';else if(item.Baseline==2)this.Canvas.textBaseline='bottom';else this.Canvas.textBaseline='middle';if(this.IsHScreen){this.Canvas.save();this.Canvas.translate(y,x);this.Canvas.rotate(90*Math.PI/180);this.Canvas.fillText(item.Text,0,0);this.Canvas.restore();}else{if(IFrameSplitOperator.IsNumber(item.YMove))y+=item.YMove;this.Canvas.fillText(item.Text,x,y);}if(item.Line){var price=item.Line.KData=="H"?kItem.High:kItem.Low;var yPrice=this.ChartFrame.GetYFromData(price,false);var yText=y;if(Array.isArray(item.Line.Offset)&&item.Line.Offset.length==2){if(yText>yPrice)//文字在下方
|
|
4383
|
+
this.GetKValue=ChartData.GetKValue;this.BuildCacheData=function(){var mapData=new _map2.default();this.MapCache=mapData;if(!IFrameSplitOperator.IsNonEmptyArray(this.Texts))return;for(var i=0;i<this.Texts.length;++i){var item=this.Texts[i];var key=this.BuildKey(item);if(mapData.has(key)){var mapItem=mapData.get(key);mapItem.Data.push(item);}else{mapData.set(key,{Data:[item]});}}};this.DrawAllText=function(){var bHScreen=this.ChartFrame.IsHScreen===true;var isMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;if(bHScreen){var border=this.ChartBorder.GetHScreenBorder();var chartright=border.BottomEx;var chartleft=border.TopEx;var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var left=this.ChartBorder.GetTop();var right=this.ChartBorder.GetBottom();var top=border.RightEx;var bottom=border.LeftEx;}else{var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var chartleft=border.LeftEx;var left=this.ChartBorder.GetLeft();var right=this.ChartBorder.GetRight();var top=border.TopEx;var bottom=border.BottomEx;}for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var kItem=this.Data.Data[i];if(!kItem)continue;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(!IFrameSplitOperator.IsNonEmptyArray(mapItem.Data))continue;if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}for(var k=0;k<mapItem.Data.length;++k){var item=mapItem.Data[k];var y=top;if(item.Value=="TOP")y=top;else if(item.Value=="BOTTOM")y=bottom;else{var price=item.Value;if(IFrameSplitOperator.IsString(item.Value))price=this.GetKValue(kItem,item.Value);y=this.ChartFrame.GetYFromData(price,false);}if(item.Color)this.Canvas.fillStyle=item.Color;else this.Canvas.fillStyle=this.Color;if(item.Font)this.Canvas.font=item.Font;else this.Canvas.font=this.Font;var textWidth=this.Canvas.measureText(item.Text).width;this.Canvas.textAlign='center';if(x+textWidth/2>=chartright){this.Canvas.textAlign='right';x=chartright;}else if(x-textWidth/2<chartleft){this.Canvas.textAlign='left';x=chartleft;}if(item.Baseline==1)this.Canvas.textBaseline='top';else if(item.Baseline==2)this.Canvas.textBaseline='bottom';else this.Canvas.textBaseline='middle';if(this.IsHScreen){this.Canvas.save();this.Canvas.translate(y,x);this.Canvas.rotate(90*Math.PI/180);this.Canvas.fillText(item.Text,0,0);this.Canvas.restore();}else{if(IFrameSplitOperator.IsNumber(item.YMove))y+=item.YMove;this.Canvas.fillText(item.Text,x,y);}if(item.Line){var price=item.Line.KData=="H"?kItem.High:kItem.Low;var yPrice=this.ChartFrame.GetYFromData(price,false);var yText=y;if(Array.isArray(item.Line.Offset)&&item.Line.Offset.length==2){if(yText>yPrice)//文字在下方
|
|
4384
4384
|
{yText-=item.Line.Offset[1];yPrice+=item.Line.Offset[0];}else if(yText<yPrice){yText+=item.Line.Offset[1];yPrice-=item.Line.Offset[0];}}this.Canvas.save();if(item.Line.Dash)this.Canvas.setLineDash(item.Line.Dash);//虚线
|
|
4385
4385
|
if(item.Line.Width>0)this.Canvas.lineWidth=item.Line.Width;//线宽
|
|
4386
4386
|
this.Canvas.strokeStyle=item.Line.Color;this.Canvas.beginPath();if(this.IsHScreen){this.Canvas.moveTo(yText,ToFixedPoint(x));this.Canvas.lineTo(yPrice,ToFixedPoint(x));}else{this.Canvas.moveTo(ToFixedPoint(x),yText);this.Canvas.lineTo(ToFixedPoint(x),yPrice);}this.Canvas.stroke();this.Canvas.restore();}}}};this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;//k线数据
|
|
@@ -4716,7 +4716,7 @@ var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);var aryText=[];var result={A
|
|
|
4716
4716
|
{title=g_JSChartLocalization.GetText('Tooltip-Close',this.LanguageID);color=this.KLineTitlePaint.GetColor(item.Close,item.YClose);text=item.Close.toFixed(defaultfloatPrecision);aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:color});}//涨幅
|
|
4717
4717
|
title=g_JSChartLocalization.GetText('Tooltip-Increase',this.LanguageID);if(IFrameSplitOperator.IsNumber(item.YFClose)&&MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol)){var value=(item.Close-item.YFClose)/item.YFClose*100;color=this.KLineTitlePaint.GetColor(value,0);text=value.toFixed(2)+'%';}else if(IFrameSplitOperator.IsNumber(item.YClose)){var value=(item.Close-item.YClose)/item.YClose*100;color=this.KLineTitlePaint.GetColor(value,0);text=value.toFixed(2)+'%';}else{text='--.--';color=this.KLineTitlePaint.GetColor(0,0);}aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:color});if(IFrameSplitOperator.IsNumber(item.Vol)){title=g_JSChartLocalization.GetText('Tooltip-Vol',this.LanguageID);var vol=item.Vol;if(upperSymbol&&MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol))vol/=100;//A股统一转成手
|
|
4718
4718
|
text=IFrameSplitOperator.FromatIntegerString(vol/unit,2,this.LanguageID);aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:this.VolColor});}if(IFrameSplitOperator.IsNumber(item.Amount)){title=g_JSChartLocalization.GetText('Tooltip-Amount',this.LanguageID);var text=IFrameSplitOperator.FormatValueString(item.Amount,2,this.LanguageID);aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:this.AmountColor});}//换手率
|
|
4719
|
-
if(
|
|
4719
|
+
if(IFrameSplitOperator.IsNumber(item.FlowCapital)){var text="--.--";title=g_JSChartLocalization.GetText('Tooltip-Exchange',this.LanguageID);if(item.FlowCapital!=0){var value=item.Vol/item.FlowCapital*100;var text=value.toFixed(2)+'%';}aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:this.TitleColor});}//持仓量
|
|
4720
4720
|
if(MARKET_SUFFIX_NAME.IsFutures(upperSymbol)&&IFrameSplitOperator.IsNumber(item.Position)){title=g_JSChartLocalization.GetText('Tooltip-Position',this.LanguageID);var text=IFrameSplitOperator.FromatIntegerString(item.Position,2,this.LanguageID);aryText.push({Title:title,TitleColor:this.TitleColor,Text:text,Color:this.TitleColor});}return result;};this.DrawTooltipData=function(titleData){if(!titleData||!IFrameSplitOperator.IsNonEmptyArray(titleData.AryText))return;var pixelRatio=GetDevicePixelRatio();var left=this.GetLeft()+2*pixelRatio;var top=this.GetTop()+3*pixelRatio;if(this.IsHScreen){this.Canvas.save();var x=this.GetLeft()+this.Height,y=this.GetTop();this.Canvas.translate(x,y);this.Canvas.rotate(90*Math.PI/180);//x, y 作为原点
|
|
4721
4721
|
left=2*pixelRatio;top=3*pixelRatio;}this.Canvas.textBaseline="top";var right=left+this.Width-this.Mergin.Right*pixelRatio;left+=this.Mergin.Left*pixelRatio;top+=this.Mergin.Top*pixelRatio;for(var i=0;i<titleData.AryText.length;++i){var item=titleData.AryText[i];if(item.Title){this.Canvas.textAlign="left";this.Canvas.fillStyle=item.TitleColor;this.Canvas.fillText(item.Title,left,top);}if(item.Text){this.Canvas.textAlign="right";this.Canvas.fillStyle=item.Color;this.Canvas.fillText(item.Text,right,top);}top+=this.LineHeight+this.LineSpace;}if(this.IsHScreen)this.Canvas.restore();};/*
|
|
4722
4722
|
this.DrawTooltipData=function(item)
|
|
@@ -5532,7 +5532,8 @@ this.IsShowCorss=true;//是否显示十字光标
|
|
|
5532
5532
|
this.IsShow=true;this.IsShowClose=false;//Y轴始终显示收盘价
|
|
5533
5533
|
this.ClientPos=-1;this.CallAcutionXOperator;this.EnableKeyboard=false;//是否支持键盘隐藏显示
|
|
5534
5534
|
this.OnChangeStatusCallback;//状态切换以后回调
|
|
5535
|
-
this.RightButton={Enable:false,Rect:null,BGColor:g_JSChartResource.CorssCursor.RightButton.BGColor,PenColor:g_JSChartResource.CorssCursor.RightButton.PenColor,Icon:g_JSChartResource.CorssCursor.RightButton.Icon};this.RightMargin=
|
|
5535
|
+
this.RightButton={Enable:false,Rect:null,BGColor:g_JSChartResource.CorssCursor.RightButton.BGColor,PenColor:g_JSChartResource.CorssCursor.RightButton.PenColor,Icon:g_JSChartResource.CorssCursor.RightButton.Icon};this.RightMargin=CloneData(g_JSChartResource.CorssCursor.RightMargin);this.BottomConfig=CloneData(g_JSChartResource.CorssCursor.BottomText);//底部输出配置
|
|
5536
|
+
this.LeftConfig=CloneData(g_JSChartResource.CorssCursor.LeftText);//内部使用
|
|
5536
5537
|
this.Close=null;//收盘价格
|
|
5537
5538
|
this.Status=0;//当前状态 0=隐藏 1=显示
|
|
5538
5539
|
this.ReloadResource=function(resource){this.Font=g_JSChartResource.CorssCursorTextFont;//字体
|
|
@@ -5554,10 +5555,10 @@ if(barWidth>2*pixel)this.Canvas.lineWidth=barWidth;}this.Canvas.beginPath();if(t
|
|
|
5554
5555
|
//this.StringFormatX.Value=xValue;
|
|
5555
5556
|
this.StringFormatX.Value=this.CursorIndex;this.StringFormatX.Point={X:x,Y:y};this.StringFormatX.ClientPos=clientPos;this.StringFormatY.Value=yValue;this.StringFormatY.RValue=yValueExtend.RightYValue;//右侧子坐标
|
|
5556
5557
|
this.StringFormatY.FrameID=yValueExtend.FrameID;this.StringFormatY.Point={X:x,Y:y};this.StringFormatY.ClientPos=clientPos;this.Canvas.font=this.Font;var textHeight=this.GetFontHeight();if(textHeight>this.TextHeight)this.TextHeight=textHeight;//Y轴
|
|
5557
|
-
if((this.ShowTextMode.Left==1&&this.Frame.ChartBorder.Left>=30||this.ShowTextMode.Left==2||this.ShowTextMode.Right==1&&this.Frame.ChartBorder.Right>=30||this.ShowTextMode.Right==2)&&this.StringFormatY.Operator()){var text=this.StringFormatY.Text;this.Canvas.font=this.Font;var textWidth=this.Canvas.measureText(text).width
|
|
5558
|
-
var textSize={Width:textWidth,Height:this.TextHeight,Text:[]};var buttonData={Y:y,YValue:yValue,FrameID:yValueExtend.FrameID};if(this.Frame.ChartBorder.Left>=30
|
|
5559
|
-
{this.
|
|
5560
|
-
{
|
|
5558
|
+
if((this.ShowTextMode.Left==1&&this.Frame.ChartBorder.Left>=30||this.ShowTextMode.Left==2||this.ShowTextMode.Right==1&&this.Frame.ChartBorder.Right>=30||this.ShowTextMode.Right==2)&&this.StringFormatY.Operator()){var text=this.StringFormatY.Text;this.Canvas.font=this.Font;var textWidth=this.Canvas.measureText(text).width;//前后各空2个像素
|
|
5559
|
+
var textSize={Width:textWidth+4,Height:this.TextHeight,Text:[]};var buttonData={Y:y,YValue:yValue,FrameID:yValueExtend.FrameID};if(this.Frame.ChartBorder.Left>=30)//左边
|
|
5560
|
+
{var margin=this.LeftConfig.Margin;var textOffset=this.LeftConfig.TextOffset;var rtBG=null;if(this.ShowTextMode.Left==1){var rtBG={Right:left,Width:textWidth+margin.Left+margin.Right,YCenter:y,Height:textHeight+margin.Top+margin.Bottom};rtBG.Left=rtBG.Right-rtBG.Width;rtBG.Top=rtBG.YCenter-rtBG.Height/2;rtBG.Bottom=rtBG.Top+rtBG.Height;if(rtBG.Left<0){rtBG.Left=0;rtBG.Right=rtBG.Left+rtBG.Width;}}else if(this.ShowTextMode.Left==2)//在框架内显示
|
|
5561
|
+
{var rtBG={Left:left,Width:textWidth+margin.Left+margin.Right,YCenter:y,Height:textHeight+margin.Top+margin.Bottom};rtBG.Right=rtBG.Left+rtBG.Width;rtBG.Top=rtBG.YCenter-rtBG.Height/2;rtBG.Bottom=rtBG.Top+rtBG.Height;}if(rtBG){this.DrawTextBGRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);this.Canvas.textAlign="left";this.Canvas.textBaseline="bottom";this.Canvas.fillStyle=this.TextColor;this.Canvas.fillText(text,rtBG.Left+textOffset.X,rtBG.Bottom+textOffset.Y);}}var complexText={ShowType:0,//0=单行(默认) 1=多行
|
|
5561
5562
|
Font:this.Font,Color:this.TextColor,Text:[{Text:text,Margin:this.RightMargin}]};var yTop=y-this.TextHeight/2;if(this.StringFormatY.PercentageText){if(this.TextFormat.Right==0){text=this.StringFormatY.PercentageText+'%';complexText.Text[0].Text=text;}}if(this.StringFormatY.RText){text=this.StringFormatY.RText;complexText.Text[0].Text=text;}if(this.StringFormatY.RComplexText&&IFrameSplitOperator.IsNonEmptyArray(this.StringFormatY.RComplexText.Text)){complexText=this.StringFormatY.RComplexText;if(!complexText.Font)complexText.Font=this.Font;if(!complexText.Color)complexText.Color=this.TextColor;}this.CalculateComplexTextSize(complexText,textSize);if(this.Frame.ChartBorder.Right>=30&&this.ShowTextMode.Right==1){var isOverlayIndex=false;//是否有叠加子坐标
|
|
5562
5563
|
var overlayIndexInterval=null;//子坐标间距
|
|
5563
5564
|
if(yValueExtend.FrameID>=0){var frame=this.Frame.SubFrame[yValueExtend.FrameID];isOverlayIndex=frame.OverlayIndex.length>0;overlayIndexInterval=null;if(isOverlayIndex){for(var i=0;i<=frame.OverlayIndex.length;++i){var item=frame.OverlayIndex[i];if(!item||!item.Frame)continue;if(item.Frame.IsShow===false)continue;if(!item.Frame.GetXHorizontal)continue;var overlayLeft=item.Frame.GetXHorizontal();overlayIndexInterval=overlayLeft-right;break;}}}//叠加坐标
|
|
@@ -5596,10 +5597,9 @@ if(isOverlayIndex&&textSize.Width>overlayIndexInterval&&overlayIndexInterval>0)/
|
|
|
5596
5597
|
}
|
|
5597
5598
|
}
|
|
5598
5599
|
*/}else if(this.ShowTextMode.Right==2){this.Canvas.fillStyle=this.TextBGColor;var showLeft=right-textSize.Width;this.DrawTextBGRect(showLeft,yTop,textSize.Width,textSize.Height);this.DrawComplexTextV2(showLeft,yTop,complexText,textSize);if(this.RightButton.Enable)this.DrawRightButton(yTop,showLeft,this.TextHeight,this.TextHeight,buttonData);}}//X轴 Bottom==8 自定义
|
|
5599
|
-
if((this.ShowTextMode.Bottom==1||this.ShowTextMode.Bottom==2||this.ShowTextMode.Bottom==8)&&this.StringFormatX.Operator()){var text=this.StringFormatX.Text;this.Canvas.font=this.Font;this.Canvas.fillStyle=this.TextBGColor;var textWidth=this.Canvas.measureText(text).width
|
|
5600
|
-
var
|
|
5601
|
-
if(bShowText){
|
|
5602
|
-
{this.DrawTextBGRect(x-1,yTop,textWidth,this.TextHeight);this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=this.TextColor;this.Canvas.fillText(text,x+1,yCenter,textWidth);}else if(x+textWidth/2>=right){this.DrawTextBGRect(right-textWidth,yTop,textWidth,this.TextHeight);this.Canvas.textAlign="right";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=this.TextColor;this.Canvas.fillText(text,right-2,yCenter,textWidth);}else{this.DrawTextBGRect(x-textWidth/2,yTop,textWidth,this.TextHeight);this.Canvas.textAlign="center";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=this.TextColor;this.Canvas.fillText(text,x,yCenter,textWidth);}}}//子坐标Y轴
|
|
5600
|
+
if((this.ShowTextMode.Bottom==1||this.ShowTextMode.Bottom==2||this.ShowTextMode.Bottom==8)&&this.StringFormatX.Operator()){var text=this.StringFormatX.Text;this.Canvas.font=this.Font;this.Canvas.fillStyle=this.TextBGColor;var textWidth=this.Canvas.measureText(text).width;//前后各空2个像素
|
|
5601
|
+
var margin=this.BottomConfig.Margin;var textOffset=this.BottomConfig.TextOffset;var rtBG={Top:bottom,Height:margin.Top+margin.Bottom+textHeight,XCenter:x,Width:textWidth+margin.Left+margin.Right};rtBG.Bottom=rtBG.Top+rtBG.Height;rtBG.Left=rtBG.XCenter-rtBG.Width/2;rtBG.Right=rtBG.Left+rtBG.Width;if(rtBG.Left<=0){rtBG.Left=0;rtBG.Right=rtBG.Left+rtBG.Width;}else if(rtBG.Right>=right){rtBG.Right=right;rtBG.Left=rtBG.Right-rtBG.Width;}var bShowText=true;if(this.ShowTextMode.Bottom==2){rtBG.Bottom=bottom;rtBG.Top=rtBG.Bottom-rtBG.Height;}else if(this.ShowTextMode.Bottom==8){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_CORSSCURSOR_POSITION);if(event&&event.Callback){var sendData={RectText:rtBG,IsShowText:bShowText,X:x,Y:y};event.Callback(event,sendData,this);bShowText=sendData.IsShowText;}}//JSConsole.Chart.Log('[ChartCorssCursor::Draw] ',yCenter);
|
|
5602
|
+
if(bShowText){this.DrawTextBGRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);this.Canvas.textAlign="left";this.Canvas.textBaseline="bottom";this.Canvas.fillStyle=this.TextColor;this.Canvas.fillText(text,rtBG.Left+textOffset.X,rtBG.Bottom+textOffset.Y,textWidth);}}//子坐标Y轴
|
|
5603
5603
|
if(yValueExtend.FrameID>=0){var frame=this.Frame.SubFrame[yValueExtend.FrameID];var overlayLeft=right;this.Canvas.font=this.Font;for(var i=0;i<frame.OverlayIndex.length;++i){var item=frame.OverlayIndex[i];if(item.Frame.IsShow===false)continue;if(!item.Frame.GetXHorizontal)continue;overlayLeft=item.Frame.GetXHorizontal();//if (overlayLeft+30>chartRight) break;
|
|
5604
5604
|
var yValue=item.Frame.GetYData(y);var text=IFrameSplitOperator.FormatValueString(yValue,2);var textWidth=this.Canvas.measureText(text).width+4;//前后各空2个像素
|
|
5605
5605
|
/*
|
|
@@ -5808,8 +5808,8 @@ var date=new Date(parseInt(data.Date/10000),data.Date/100%100-1,data.Date%100);v
|
|
|
5808
5808
|
{value=g_JSChartLocalization.GetText(WEEK_NAME[date.getDay()],this.LanguageID);title=strDate+'  '+value;}else if(ChartData.IsMinutePeriod(this.Value.ChartPaint.Data.Period,true))// 分钟周期
|
|
5809
5809
|
{value=IFrameSplitOperator.FormatTimeString(data.Time);title=strDate+'  '+value;}else if(ChartData.IsSecondPeriod(this.Value.ChartPaint.Data.Period)||isTickPeriod){value=IFrameSplitOperator.FormatTimeString(data.Time,'HH:MM:SS');title=strDate+'  '+value;}else if(ChartData.IsMilliSecondPeriod(this.Value.ChartPaint.Data.Period)){value=IFrameSplitOperator.FormatTimeString(data.Time,'HH:MM:SS.fff');title=[strDate+'  '+g_JSChartLocalization.GetText(WEEK_NAME[date.getDay()],this.LanguageID),value];}var result={AryText:null,Title:title,Name:null};if(isTickPeriod){var aryText=[{Title:g_JSChartLocalization.GetText('DivTooltip-Price',this.LanguageID),Text:IFrameSplitOperator.IsNumber(data.Open)?data.Open.toFixed(defaultfloatPrecision):'--',Color:this.GetColor(data.Open,data.YClose)}];if(IFrameSplitOperator.IsNumber(data.YClose)){var increase=(data.Close-data.YClose)/data.YClose*100;var item={Title:g_JSChartLocalization.GetText('DivTooltip-Increase',this.LanguageID),Text:increase.toFixed(2)+'%',Color:this.GetColor(increase,0)};aryText.push(item);}result.AryText=aryText;}else if(data.IsNonTrade){}else{var vol=data.Vol;if(upperSymbol&&MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol))vol/=100;//A股统一转成手
|
|
5810
5810
|
var eventUnchangeKLine=null;//定制平盘K线颜色事件
|
|
5811
|
-
if(this.GetEventCallback)eventUnchangeKLine=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_UNCHANGE_KLINE_TITLE_COLOR);var aryText=[{Title:g_JSChartLocalization.GetText('DivTooltip-Open',this.LanguageID),Text:IFrameSplitOperator.IsNumber(data.Open)?data.Open.toFixed(defaultfloatPrecision):'--',Color:this.GetPriceColor("DivTooltip-Open",data.Open,data.YClose,data,eventUnchangeKLine)},{Title:g_JSChartLocalization.GetText('DivTooltip-High',this.LanguageID),Text:IFrameSplitOperator.IsNumber(data.High)?data.High.toFixed(defaultfloatPrecision):'--',Color:this.GetPriceColor("DivTooltip-High",data.High,data.YClose,data,eventUnchangeKLine)},{Title:g_JSChartLocalization.GetText('DivTooltip-Low',this.LanguageID),Text:IFrameSplitOperator.IsNumber(data.Low)?data.Low.toFixed(defaultfloatPrecision):'--',Color:this.GetPriceColor('DivTooltip-Low',data.Low,data.YClose,data,eventUnchangeKLine)},{Title:g_JSChartLocalization.GetText('DivTooltip-Close',this.LanguageID),Text:IFrameSplitOperator.IsNumber(data.Close)?data.Close.toFixed(defaultfloatPrecision):'--',Color:this.GetPriceColor('DivTooltip-Close',data.Close,data.YClose,data,eventUnchangeKLine)},{Title:g_JSChartLocalization.GetText('DivTooltip-Vol',this.LanguageID),Text:IFrameSplitOperator.IsNumber(vol)?IFrameSplitOperator.FormatValueString(vol,2,this.LanguageID):'--',Color:this.VolColor},{Title:g_JSChartLocalization.GetText('DivTooltip-Amount',this.LanguageID),Text:IFrameSplitOperator.IsNumber(data.Amount)?IFrameSplitOperator.FormatValueString(data.Amount,2,this.LanguageID):'--',Color:this.AmountColor}];if(IFrameSplitOperator.IsNumber(data.YClose)){var increase=(data.Close-data.YClose)/data.YClose*100;var item={Title:g_JSChartLocalization.GetText('DivTooltip-Increase',this.LanguageID),Text:increase.toFixed(2)+'%',Color:this.GetColor(increase,0)};aryText.push(item);}if(
|
|
5812
|
-
{var value=data.Vol/data.FlowCapital*100;var item={Title:g_JSChartLocalization.GetText('DivTooltip-Exchange',this.LanguageID),Text:
|
|
5811
|
+
if(this.GetEventCallback)eventUnchangeKLine=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_UNCHANGE_KLINE_TITLE_COLOR);var aryText=[{Title:g_JSChartLocalization.GetText('DivTooltip-Open',this.LanguageID),Text:IFrameSplitOperator.IsNumber(data.Open)?data.Open.toFixed(defaultfloatPrecision):'--',Color:this.GetPriceColor("DivTooltip-Open",data.Open,data.YClose,data,eventUnchangeKLine)},{Title:g_JSChartLocalization.GetText('DivTooltip-High',this.LanguageID),Text:IFrameSplitOperator.IsNumber(data.High)?data.High.toFixed(defaultfloatPrecision):'--',Color:this.GetPriceColor("DivTooltip-High",data.High,data.YClose,data,eventUnchangeKLine)},{Title:g_JSChartLocalization.GetText('DivTooltip-Low',this.LanguageID),Text:IFrameSplitOperator.IsNumber(data.Low)?data.Low.toFixed(defaultfloatPrecision):'--',Color:this.GetPriceColor('DivTooltip-Low',data.Low,data.YClose,data,eventUnchangeKLine)},{Title:g_JSChartLocalization.GetText('DivTooltip-Close',this.LanguageID),Text:IFrameSplitOperator.IsNumber(data.Close)?data.Close.toFixed(defaultfloatPrecision):'--',Color:this.GetPriceColor('DivTooltip-Close',data.Close,data.YClose,data,eventUnchangeKLine)},{Title:g_JSChartLocalization.GetText('DivTooltip-Vol',this.LanguageID),Text:IFrameSplitOperator.IsNumber(vol)?IFrameSplitOperator.FormatValueString(vol,2,this.LanguageID):'--',Color:this.VolColor},{Title:g_JSChartLocalization.GetText('DivTooltip-Amount',this.LanguageID),Text:IFrameSplitOperator.IsNumber(data.Amount)?IFrameSplitOperator.FormatValueString(data.Amount,2,this.LanguageID):'--',Color:this.AmountColor}];if(IFrameSplitOperator.IsNumber(data.YClose)){var increase=(data.Close-data.YClose)/data.YClose*100;var item={Title:g_JSChartLocalization.GetText('DivTooltip-Increase',this.LanguageID),Text:increase.toFixed(2)+'%',Color:this.GetColor(increase,0)};aryText.push(item);}if(IFrameSplitOperator.IsNumber(data.FlowCapital))//换手率
|
|
5812
|
+
{var text="--.--";if(data.FlowCapital!=0){var value=data.Vol/data.FlowCapital*100;var text=value.toFixed(2)+'%';}var item={Title:g_JSChartLocalization.GetText('DivTooltip-Exchange',this.LanguageID),Text:text,Color:this.TurnoverRateColor};aryText.push(item);}if(MARKET_SUFFIX_NAME.IsFutures(upperSymbol)&&IFrameSplitOperator.IsNumber(data.Position)){var item={Title:g_JSChartLocalization.GetText('DivTooltip-Position',this.LanguageID),Text:''+data.Position,Color:this.PositionColor};}//叠加股票
|
|
5813
5813
|
if(this.Value.ChartPaint.Name=="Overlay-KLine"){result.Name=this.Value.ChartPaint.Title;}result.AryText=aryText;}return result;};this.GetColor=function(price,yclse){if(price>yclse)return this.UpColor;else if(price<yclse)return this.DownColor;else return this.UnchagneColor;};this.GetPriceColor=function(titleName,price,yClose,item,event){var color=this.GetColor(price,yClose);if(price==yClose&&event&&event.Callback){var sendData={Item:item,TitleName:titleName,DefaultColor:color,TitleColor:null,ClassName:this.ClassName};event.Callback(event,sendData);if(sendData.TitleColor)color=sendData.TitleColor;}return color;};}//K线信息地雷提示信息格式
|
|
5814
5814
|
function KLineInfoDataStringFormat(){this.newMethod=IChangeStringFormat;//派生
|
|
5815
5815
|
this.newMethod();delete this.newMethod;this.UpColor=g_JSChartResource.UpTextColor;this.DownColor=g_JSChartResource.DownTextColor;this.UnchagneColor=g_JSChartResource.UnchagneTextColor;this.Width=500;this.Operator=function(){if(!this.Value)return false;var infoList=this.Value.Data.Data;//数据
|
|
@@ -5872,9 +5872,9 @@ var eventUnchangeKLine=null;//定制平盘K线颜色事件
|
|
|
5872
5872
|
if(this.GetEventCallback)eventUnchangeKLine=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_UNCHANGE_KLINE_TITLE_COLOR);if(IFrameSplitOperator.IsNumber(item.Open)){var color=this.GetColor(item.Open,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-Open',this.LanguageID)+item.Open.toFixed(defaultfloatPrecision);if(item.Open==item.YClose&&eventUnchangeKLine){var sendData={Item:item,TitleName:"KTitle-Open",DefaultColor:color,TitleColor:null};if(this.OnUnchangeTitleColor(eventUnchangeKLine,sendData))color=sendData.TitleColor;}aryText.push({Text:text,Color:color});}if(IFrameSplitOperator.IsNumber(item.High)){var color=this.GetColor(item.High,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-High',this.LanguageID)+item.High.toFixed(defaultfloatPrecision);if(item.High==item.YClose&&eventUnchangeKLine){var sendData={Item:item,TitleName:"KTitle-High",DefaultColor:color,TitleColor:null};if(this.OnUnchangeTitleColor(eventUnchangeKLine,sendData))color=sendData.TitleColor;}aryText.push({Text:text,Color:color});}if(IFrameSplitOperator.IsNumber(item.Low)){var color=this.GetColor(item.Low,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-Low',this.LanguageID)+item.Low.toFixed(defaultfloatPrecision);if(item.Low==item.YClose&&eventUnchangeKLine){var sendData={Item:item,TitleName:"KTitle-Low",DefaultColor:color,TitleColor:null};if(this.OnUnchangeTitleColor(eventUnchangeKLine,sendData))color=sendData.TitleColor;}aryText.push({Text:text,Color:color});}if(IFrameSplitOperator.IsNumber(item.Close)){var color=this.GetColor(item.Close,item.YClose);var text=g_JSChartLocalization.GetText('KTitle-Close',this.LanguageID)+item.Close.toFixed(defaultfloatPrecision);if(item.Close==item.YClose&&eventUnchangeKLine){var sendData={Item:item,TitleName:"KTitle-Close",DefaultColor:color,TitleColor:null};if(this.OnUnchangeTitleColor(eventUnchangeKLine,sendData))color=sendData.TitleColor;}aryText.push({Text:text,Color:color});}//涨幅
|
|
5873
5873
|
if(item.YFClose>0&&MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol)){var value=(item.Close-item.YFClose)/item.YFClose*100;var color=this.GetColor(value,0);var text=g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID)+value.toFixed(2)+'%';aryText.push({Text:text,Color:color});}else if(item.YClose>0){var value=(item.Close-item.YClose)/item.YClose*100;var color=this.GetColor(value,0);var text=g_JSChartLocalization.GetText('KTitle-Increase',this.LanguageID)+value.toFixed(2)+'%';aryText.push({Text:text,Color:color});}if(IFrameSplitOperator.IsNumber(item.Vol))//成交量
|
|
5874
5874
|
{var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);var vol=item.Vol/unit;var text=g_JSChartLocalization.GetText('KTitle-Vol',this.LanguageID)+IFrameSplitOperator.FromatIntegerString(vol,2,this.LanguageID);aryText.push({Text:text,Color:this.VolColor});}if(IFrameSplitOperator.IsNumber(item.Amount))//成交金额
|
|
5875
|
-
{var text=g_JSChartLocalization.GetText('KTitle-Amount',this.LanguageID)+IFrameSplitOperator.FormatValueString(item.Amount,2,this.LanguageID);aryText.push({Text:text,Color:this.AmountColor});}if(
|
|
5876
|
-
{var value=item.Vol/item.FlowCapital*100;//成交量/流通A股*100
|
|
5877
|
-
var text=g_JSChartLocalization.GetText('KTitle-Exchange',this.LanguageID)+IFrameSplitOperator.FormatValueString(value,2,this.LanguageID)+'%';aryText.push({Text:text,Color:this.TurnoverRateColor});}if(MARKET_SUFFIX_NAME.IsFutures(upperSymbol)&&IFrameSplitOperator.IsNumber(item.Position))//持仓量
|
|
5875
|
+
{var text=g_JSChartLocalization.GetText('KTitle-Amount',this.LanguageID)+IFrameSplitOperator.FormatValueString(item.Amount,2,this.LanguageID);aryText.push({Text:text,Color:this.AmountColor});}if(IFrameSplitOperator.IsNumber(item.FlowCapital))//换手率
|
|
5876
|
+
{var text="--.--";if(item.FlowCapital!=0){var value=item.Vol/item.FlowCapital*100;//成交量/流通A股*100
|
|
5877
|
+
var text=g_JSChartLocalization.GetText('KTitle-Exchange',this.LanguageID)+IFrameSplitOperator.FormatValueString(value,2,this.LanguageID)+'%';}aryText.push({Text:text,Color:this.TurnoverRateColor});}if(MARKET_SUFFIX_NAME.IsFutures(upperSymbol)&&IFrameSplitOperator.IsNumber(item.Position))//持仓量
|
|
5878
5878
|
{var text=g_JSChartLocalization.GetText('KTitle-Position',this.LanguageID)+item.Position;aryText.push({Text:text,Color:this.PositionColor});}//叠加股票的名字
|
|
5879
5879
|
if(IFrameSplitOperator.IsNonEmptyArray(this.OverlayChartPaint)){for(var i=0;i<this.OverlayChartPaint.length;++i){var item=this.OverlayChartPaint[i];if(!item.Symbol||!item.Title)continue;var clrText=item.Color;var text='['+item.Title+']';aryText.push({Text:text,Color:clrText});}}return result;};this.GetLeft=function(isHScreen){if(isHScreen){var left=this.Frame.ChartBorder.GetTop();if(this.ShowPositionConfig){var item=this.ShowPositionConfig;if(item.Type===1)left=0;if(item.Margin&&IFrameSplitOperator.IsNumber(item.Margin.Left))left+=item.Margin.Left;}return left;}else{var left=this.Frame.ChartBorder.Left;if(this.ShowPositionConfig){var item=this.ShowPositionConfig;if(item.Type===1)left=0;if(item.Margin&&IFrameSplitOperator.IsNumber(item.Margin.Left))left+=item.Margin.Left;}return left;}};this.GetRight=function(isHScreen){if(isHScreen){var right=this.Frame.ChartBorder.GetHeight();if(this.ShowPositionConfig){var item=this.ShowPositionConfig;if(item.Type===1)right=this.Frame.ChartBorder.GetChartHeight();if(item.Margin&&IFrameSplitOperator.IsNumber(item.Margin.Right))right-=item.Margin.Right;}return right;}else{var right=this.Frame.ChartBorder.GetRight();if(this.ShowPositionConfig){var item=this.ShowPositionConfig;if(item.Type===1)right=this.Frame.ChartBorder.GetChartWidth();if(item.Margin&&IFrameSplitOperator.IsNumber(item.Margin.Right))right-=item.Margin.Right;}return right;}};this.GetBottom=function(isHScreen){if(isHScreen){var bottom=this.Frame.ChartBorder.GetRight();if(this.ShowPositionConfig){var item=this.ShowPositionConfig;if(item.Margin&&IFrameSplitOperator.IsNumber(item.Margin.Bottom))bottom+=item.Margin.Bottom;}return bottom;}else{var bottom=this.Frame.ChartBorder.GetTop();if(this.ShowPositionConfig){var item=this.ShowPositionConfig;if(item.Margin&&IFrameSplitOperator.IsNumber(item.Margin.Bottom))bottom-=item.Margin.Bottom;}return bottom;}};this.DrawItem=function(item){var isHScreen=this.Frame.IsHScreen===true;var left=this.GetLeft(isHScreen);var right=this.GetRight(isHScreen);var bottom=this.GetBottom(isHScreen);var pixelRatio=GetDevicePixelRatio();if(isHScreen){if(this.Frame.ChartBorder.Right<5*pixelRatio)return;var xText=bottom;var yText=left;this.Canvas.translate(xText,yText);this.Canvas.rotate(90*Math.PI/180);left=bottom=0;}else{if(this.Frame.ChartBorder.Top<5*pixelRatio)return;}this.Canvas.textAlign="left";this.Canvas.textBaseline="bottom";this.Canvas.font=this.Font;var position={Left:left,MaxRight:right,Bottom:bottom,IsHScreen:isHScreen};var titleData=this.GetFormatTitle({Data:item});if(titleData&&IFrameSplitOperator.IsNonEmptyArray(titleData.AryText)){for(var i=0;i<titleData.AryText.length;++i){var item=titleData.AryText[i];if(!this.DrawText(item.Text,item.Color,position))break;}}};this.Draw=function(){if(!this.IsShow)return;if(this.CursorIndex==null||!this.Data||this.Data.length<=0){this.OnDrawEventCallback(null);return;}this.Canvas.font=this.Font;this.SpaceWidth=this.Canvas.measureText('0').width;var index=this.CursorIndex;index=parseInt(index.toFixed(0));var dataIndex=this.Data.DataOffset+index;if(dataIndex>=this.Data.Data.length)dataIndex=this.Data.Data.length-1;if(dataIndex<0){this.OnDrawEventCallback(null);return;}if(this.IsShowLastData())//鼠标不在图形上 显示最后一条数据
|
|
5880
5880
|
{dataIndex=this.Data.Data.length-1;}var item=this.Data.Data[dataIndex];this.OnDrawEventCallback(item);this.Canvas.save();this.DrawItem(item);this.Canvas.restore();};this.OnDrawEventCallback=function(drawData){var bDrawEvent=this.OnDrawEvent&&this.OnDrawEvent.Callback;var bMouseMoveEvent=this.OnMouseMoveEvent&&this.OnMouseMoveEvent.Callback;if(!bDrawEvent&&!bMouseMoveEvent)return;var data={Draw:drawData,Name:this.ClassName};if(this.Data&&this.Data.Data){var index=Math.abs(this.CursorIndex);index=parseInt(index.toFixed(0));var dataIndex=this.Data.DataOffset+index;var dataCount=this.Data.Data.length;data.DataIndex=dataIndex;data.DataCount=dataCount;}//叠加股票
|
|
@@ -6820,7 +6820,7 @@ this.CorssCursorTextFont=14*GetDevicePixelRatio()+"px 微软雅黑";this.CorssCu
|
|
|
6820
6820
|
this.CorssCursorVPenColor="rgb(130,130,130)";//十字光标线段颜色(垂直)
|
|
6821
6821
|
this.CorssCursorXRangeBGColor="rgba(100,149,237,0.3)";//十字光标X轴访问背景色
|
|
6822
6822
|
this.CorssCursorLineDash=[3*GetDevicePixelRatio(),2*GetDevicePixelRatio()];//十字光标虚线
|
|
6823
|
-
this.CorssCursor={RightButton:{BGColor:'rgb(43,54,69)',PenColor:'rgb(255,255,255)',Icon:{Text:'\uE6A3',Color:'rgb(255,255,255)',Family:"iconfont",Size:18}},RightMargin:{Left:2,Right:2,Top:5,Bottom:3}};this.LockBGColor="rgb(220, 220, 220)";//指标锁区域颜色
|
|
6823
|
+
this.CorssCursor={RightButton:{BGColor:'rgb(43,54,69)',PenColor:'rgb(255,255,255)',Icon:{Text:'\uE6A3',Color:'rgb(255,255,255)',Family:"iconfont",Size:18}},RightMargin:{Left:2,Right:2,Top:5,Bottom:3},BottomText:{Margin:{Left:4,Right:4,Top:0,Bottom:0},TextOffset:{X:4,Y:-1}},LeftText:{Margin:{Left:4,Right:4,Top:0,Bottom:0},TextOffset:{X:4,Y:-1}}};this.LockBGColor="rgb(220, 220, 220)";//指标锁区域颜色
|
|
6824
6824
|
this.LockTextColor="rgb(210, 34, 34)";//指标锁提示信息文字颜色
|
|
6825
6825
|
this.Domain="http://127.0.0.1:8080";//API域名
|
|
6826
6826
|
this.CacheDomain="http://127.0.0.1:8087";//缓存域名
|
|
@@ -11989,7 +11989,7 @@ if(item.data){outVarItem.Data=this.FittingMinuteArray(item.data,date,time,hqChar
|
|
|
11989
11989
|
{drawItem.Icon=draw.Icon;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWTEXT')//文本
|
|
11990
11990
|
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='STICKLINE')//柱子
|
|
11991
11991
|
{drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.Width=draw.Width;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.OVERLAY_BARS){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.BarName=draw.BarName;drawItem.BarColor=draw.BarColor;drawItem.LineWidth=draw.LineWidth;drawItem.DrawData=this.FittingMinuteArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType==SCRIPT_CHART_NAME.CLIP_COLOR_STICK){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMinuteArray(draw.Data,date,time,hqChart);outVarItem.Draw=drawItem;if(draw.Option)outVarItem.Option=draw.Option;result.push(outVarItem);}else if(draw.DrawType=='MULTI_LINE'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingMultiLine(draw.DrawData,date,time,hqChart);for(var k in drawItem.DrawData){this.GetKLineData(drawItem.DrawData[k].Point,hqChart);}outVarItem.Draw=drawItem;if(draw.LineDash)drawItem.LineDash=draw.LineDash;if(draw.Arrow)drawItem.Arrow=draw.Arrow;result.push(outVarItem);}else if(draw.DrawType=='MULTI_POINT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_TEXT'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_SVGICON'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData={Icon:draw.DrawData.Icon,Family:draw.DrawData.Family};outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='DRAWSVG'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;if(draw.AutoPosition)drawItem.AutoPosition=draw.AutoPosition;if(draw.BuildKeyCallback)drawItem.BuildKeyCallback=draw.BuildKeyCallback;drawItem.DrawData={Data:draw.Data,Family:draw.Family,TextFont:draw.TextFont,EnableTooltip:draw.EnableTooltip,IsDrawFirst:draw.IsDrawFirst};outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="MULTI_HTMLDOM")//外部自己创建dom
|
|
11992
|
-
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.Callback=draw.Callback;drawItem.DrawData=this.FittingMultiText(draw.DrawData,date,time,hqChart);this.GetKLineData(drawItem.DrawData,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="DRAWCOLORKLINE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;if(draw.Color)drawItem.Color=draw.Color;if(IFrameSplitOperator.IsBool(draw.IsEmptyBar))drawItem.IsEmptyBar=draw.IsEmptyBar;result.push(outVarItem);}else{var find=g_ScriptIndexChartFactory.Get(draw.DrawType);//外部挂接
|
|
11992
|
+
{drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.Callback=draw.Callback;drawItem.DrawData=this.FittingMultiText(draw.DrawData,date,time,hqChart);this.GetKLineData(drawItem.DrawData,hqChart);outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=='MULTI_BAR'){drawItem.Text=draw.Text;drawItem.Name=draw.Name;drawItem.DrawType=draw.DrawType;drawItem.DrawData=draw.DrawData;outVarItem.Draw=drawItem;result.push(outVarItem);}else if(draw.DrawType=="DRAWCOLORKLINE"){drawItem.Name=draw.Name;drawItem.Type=draw.Type;drawItem.DrawType=draw.DrawType;drawItem.DrawData=this.FittingArray(draw.DrawData,date,time,hqChart,1);outVarItem.Draw=drawItem;if(draw.Color)drawItem.Color=draw.Color;if(IFrameSplitOperator.IsBool(draw.IsEmptyBar))drawItem.IsEmptyBar=draw.IsEmptyBar;result.push(outVarItem);}else{var find=g_ScriptIndexChartFactory.Get(draw.DrawType);//外部挂接
|
|
11993
11993
|
if(find&&find.MinuteFittingCallback){if(find.MinuteFittingCallback(item,outVarItem,{Date:date,Time:time,HQChart:hqChart},this))result.push(outVarItem);}}}}return result;};//matchType 0=精确匹配(默认) 5=模糊匹配
|
|
11994
11994
|
this.FittingMinuteArray=function(sourceData,date,time,hqChart,matchType){var minutedata=hqChart.SourceData;;//分钟线
|
|
11995
11995
|
var arySingleData=[];for(var i in sourceData){var value=sourceData[i];var indexItem=new SingleData();//单列指标数据
|
|
@@ -13281,7 +13281,9 @@ this.ResizeListener;//大小变动监听
|
|
|
13281
13281
|
this.CanvasElement=document.createElement("canvas");this.CanvasElement.className='jstreport-drawing';this.CanvasElement.id=Guid();this.CanvasElement.setAttribute("tabindex",0);if(this.CanvasElement.style)this.CanvasElement.style.outline='none';if(divElement.hasChildNodes()){JSConsole.Chart.Log("[JSTReportChart::JSReportChart] divElement hasChildNodes",divElement.childNodes);}divElement.appendChild(this.CanvasElement);this.OnSize=function(){//画布大小通过div获取 如果有style里的大小 使用style里的
|
|
13282
13282
|
var height=this.DivElement.offsetHeight;var width=this.DivElement.offsetWidth;if(this.DivElement.style.height&&this.DivElement.style.width){if(this.DivElement.style.height.includes("px"))height=parseInt(this.DivElement.style.height.replace("px",""));if(this.DivElement.style.width.includes("px"))width=parseInt(this.DivElement.style.width.replace("px",""));}this.CanvasElement.height=height;this.CanvasElement.width=width;this.CanvasElement.style.width=this.CanvasElement.width+'px';this.CanvasElement.style.height=this.CanvasElement.height+'px';var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
13283
13283
|
this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;JSConsole.Chart.Log('[JSTReportChart::OnSize] devicePixelRatio='+window.devicePixelRatio+', height='+this.CanvasElement.height+', width='+this.CanvasElement.width);if(this.JSChartContainer&&this.JSChartContainer.OnSize){this.JSChartContainer.OnSize();}};this.SetOption=function(option){var chart=this.CreateJSTReportChartContainer(option);if(!chart)return false;if(option.OnCreatedCallback)option.OnCreatedCallback(chart);this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
|
|
13284
|
-
if(option.EnableResize==true)this.CreateResizeListener();if(option.MinuteChartTooltip&&option.MinuteChartTooltip.Enable)
|
|
13284
|
+
if(option.EnableResize==true)this.CreateResizeListener();if(option.MinuteChartTooltip&&option.MinuteChartTooltip.Enable)chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);//分时图
|
|
13285
|
+
if(option.FloatTooltip&&option.FloatTooltip.Enable)chart.InitalFloatTooltip(option.FloatTooltip);//提示信息
|
|
13286
|
+
if(option.Symbol){chart.Draw();var name=option.Symbol;if(option.Name)name=option.Name;chart.ChangeSymbol(option.Symbol,{Name:name});//下载列表码表
|
|
13285
13287
|
}};this.CreateJSTReportChartContainer=function(option){var chart=new JSTReportChartContainer(this.CanvasElement);chart.Create(option);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(IFrameSplitOperator.IsNonEmptyArray(option.Tab))chart.SetTab(option.Tab);if(IFrameSplitOperator.IsNumber(option.TabSelected))chart.SetSelectedTab(option.TabSelected);if(IFrameSplitOperator.IsBool(option.EnableDragRow))chart.EnableDragRow=option.EnableDragRow;if(IFrameSplitOperator.IsNumber(option.DragRowType))chart.DragRowType=option.DragRowType;if(IFrameSplitOperator.IsBool(option.EnableDragHeader))chart.EnableDragHeader=option.EnableDragHeader;if(IFrameSplitOperator.IsBool(option.EnablePageCycle))chart.EnablePageCycle=option.EnablePageCycle;if(IFrameSplitOperator.IsNumber(option.FixedRowCount))chart.SetFixedRowCount(option.FixedRowCount);//固定行
|
|
13286
13288
|
if(option.SortInfo){var item=option.SortInfo;if(IFrameSplitOperator.IsNumber(item.Field))chart.SortInfo.Field=item.Field;if(IFrameSplitOperator.IsNumber(item.Sort))chart.SortInfo.Sort=item.Sort;}this.SetChartBorder(chart,option);//是否自动更新
|
|
13287
13289
|
if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;if(IFrameSplitOperator.IsBool(option.EnableFilter))chart.EnableFilter=option.EnableFilter;//注册事件
|
|
@@ -13330,10 +13332,11 @@ this.YStepPixel=5*GetDevicePixelRatio();this.XStepPixel=10*GetDevicePixelRatio()
|
|
|
13330
13332
|
this.DragXScroll=null;//{Start:{x,y}, End:{x, y}}
|
|
13331
13333
|
this.EnablePageCycle=false;//是否循环翻页
|
|
13332
13334
|
this.TooltipMinuteChart;//分时图
|
|
13335
|
+
this.FloatTooltip;//浮框提示
|
|
13333
13336
|
this.LastMouseStatus={MoveStatus:null,TooltipStatus:null,MouseOnStatus:null};this.IsDestroy=false;//是否已经销毁了
|
|
13334
13337
|
this.ChartDestory=function()//销毁
|
|
13335
|
-
{this.IsDestroy=true;this.StopAutoUpdate();this.DestroyMinuteChartTooltip();};this.InitalMinuteChartTooltip=function(option){if(this.TooltipMinuteChart)return;this.TooltipMinuteChart=new JSTooltipMinuteChart();this.TooltipMinuteChart.Inital(this,option);this.TooltipMinuteChart.Create();};this.DestroyMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Destroy();this.TooltipMinuteChart=null;};//data={ Symbol }
|
|
13336
|
-
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();};//清空固定行数据
|
|
13338
|
+
{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 }
|
|
13339
|
+
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);};//清空固定行数据
|
|
13337
13340
|
this.ClearFixedRowData=function(){this.FixedRowData.Data=[];};//设置固定行
|
|
13338
13341
|
this.SetFixedRowCount=function(value){var chart=this.ChartPaint[0];if(!chart)return;chart.FixedRowCount=value;};//创建
|
|
13339
13342
|
this.Create=function(option){var _this64=this;this.UIElement.JSChartContainer=this;//创建等待提示
|
|
@@ -13404,17 +13407,16 @@ this.DelayUpdateStockData=function(){var _this67=this;if(this.DelayUpdateTimer!=
|
|
|
13404
13407
|
{if(clickData.Redraw==true)this.Draw();}else if(clickData.Type==3&&e.button==0)//表头
|
|
13405
13408
|
{this.OnClickHeader(clickData,e);}//document.onmousemove=(e)=>{ this.DocOnMouseMove(e); }
|
|
13406
13409
|
//document.onmouseup=(e)=> { this.DocOnMouseUp(e); }
|
|
13407
|
-
};this.GetTReportChart=function(){var chart=this.ChartPaint[0];if(!chart)return null;return chart;};this.UIOnMouseMove=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var oldMouseOnStatus=this.LastMouseStatus.MouseOnStatus;this.LastMouseStatus.OnMouseMove=null;var
|
|
13410
|
+
};this.GetTReportChart=function(){var chart=this.ChartPaint[0];if(!chart)return null;return chart;};this.UIOnMouseMove=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var oldMouseOnStatus=this.LastMouseStatus.MouseOnStatus;this.LastMouseStatus.OnMouseMove=null;var bShowTooltip=false;this.LastMouseStatus.TooltipStatus=null;var bShowChartTooltip=false;var chartTooltipData=null;this.LastMouseStatus.OnMouseMove={X:x,Y:y};var mouseStatus={Cursor:"default",Name:"Default"};;//鼠标状态
|
|
13408
13411
|
var report=this.GetTReportChart();var bDraw=false;if(report){var tooltipData=report.GetTooltipData(x,y);//单元格提示信息
|
|
13409
|
-
if(tooltipData){if(tooltipData.Type==20){if(tooltipData.Data&&tooltipData.Data.Symbol){bShowChartTooltip=true;chartTooltipData={Symbol:tooltipData.Data.Symbol,Rect:tooltipData.Rect};}}else{this.LastMouseStatus.TooltipStatus={X:x,Y:y,Data:tooltipData,ClientX:e.clientX,ClientY:e.clientY};
|
|
13412
|
+
if(tooltipData){if(tooltipData.Type==20){if(tooltipData.Data&&tooltipData.Data.Symbol){bShowChartTooltip=true;chartTooltipData={Symbol:tooltipData.Data.Symbol,Rect:tooltipData.Rect};}}else{this.LastMouseStatus.TooltipStatus={X:x,Y:y,Data:tooltipData,ClientX:e.clientX,ClientY:e.clientY};bShowTooltip=true;}}}/* 目前没有用到
|
|
13410
13413
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_MOUSE_MOVE);
|
|
13411
13414
|
if (event)
|
|
13412
13415
|
{
|
|
13413
13416
|
var sendData={X:x, Y:y, Cell:cell };
|
|
13414
13417
|
event.Callback(event,sendData,this);
|
|
13415
13418
|
}
|
|
13416
|
-
*/if(mouseStatus)this.UIElement.style.cursor=mouseStatus.Cursor
|
|
13417
|
-
if(bShowChartTooltip){this.ShowMinuteChartTooltip(null,null,chartTooltipData);}else{this.HideMinuteChartTooltip();}};this.UIOnMounseOut=function(e){this.HideMinuteChartTooltip();};this.UIOnMouseleave=function(e){this.HideMinuteChartTooltip();};this.UIOnContextMenu=function(e){e.preventDefault();var x=e.clientX-this.UIElement.getBoundingClientRect().left;var y=e.clientY-this.UIElement.getBoundingClientRect().top;this.OnRightMenu(x,y,e);//右键菜单事件
|
|
13419
|
+
*/if(mouseStatus)this.UIElement.style.cursor=mouseStatus.Cursor;if(bShowChartTooltip){this.ShowMinuteChartTooltip(null,null,chartTooltipData);}else{this.HideMinuteChartTooltip();}if(bShowTooltip){var xTooltip=e.clientX-this.UIElement.getBoundingClientRect().left;var yTooltip=e.clientY-this.UIElement.getBoundingClientRect().top;this.DrawFloatTooltip({X:xTooltip,Y:yTooltip,YMove:20/pixelTatio},this.LastMouseStatus.TooltipStatus.Data);}else{this.HideFloatTooltip();}};this.UIOnMounseOut=function(e){this.HideMinuteChartTooltip();};this.UIOnMouseleave=function(e){this.HideMinuteChartTooltip();};this.UIOnContextMenu=function(e){e.preventDefault();var x=e.clientX-this.UIElement.getBoundingClientRect().left;var y=e.clientY-this.UIElement.getBoundingClientRect().top;this.OnRightMenu(x,y,e);//右键菜单事件
|
|
13418
13420
|
};this.OnRightMenu=function(x,y,e){};//点表头
|
|
13419
13421
|
this.OnClickHeader=function(clickData,e){var header=clickData.Header;if(header.Column&&header.Column.Sort==1){var data={CellType:header.CellType,ColumnIndex:header.ColumnIndex};this.SortHeader(header.Column,data);}};//排序
|
|
13420
13422
|
this.SortHeader=function(column,sortData){var _this68=this;var sortInfo={Field:this.SortInfo.Field,Sort:this.SortInfo.Sort,CellType:this.SortInfo.CellType};var arySortType=column.SortType;if(sortInfo.Field!=sortData.ColumnIndex||sortInfo.CellType!=sortData.CellType){sortInfo.Field=sortData.ColumnIndex;sortInfo.CellType=sortData.CellType;sortInfo.Sort=arySortType[0];}else{if(arySortType.length==1){sortInfo.Sort=arySortType[0];}else{for(var i=0;i<arySortType.length;++i){if(sortInfo.Sort==arySortType[i]){sortInfo.Sort=arySortType[(i+1)%arySortType.length];break;}}}}if(sortInfo.Sort==0)//还原
|
|
@@ -13424,9 +13426,9 @@ case TREPORT_COLUMN_ID.POSITION_ID://持仓量
|
|
|
13424
13426
|
case TREPORT_COLUMN_ID.AMPLITUDE_ID:case TREPORT_COLUMN_ID.INCREASE_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER1_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER2_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER3_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER4_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER5_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER6_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER7_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER8_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER9_ID:case TREPORT_COLUMN_ID.RESERVE_NUMBER10_ID:return this.LocalNumberSort(left,right,column,sortType,cellType);default:return 0;}};this.LocalNumberSort=function(left,right,column,sortType,cellType){var leftStock=this.GetExePriceData(left);var rightStock=this.GetExePriceData(right);var leftValue=-99999999999999,rightValue=-99999999999999;if(sortType==2)leftValue=rightValue=99999999999999;var filedName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(cellType==0)//行权价格
|
|
13425
13427
|
{if(leftStock&&IFrameSplitOperator.IsNumber(leftStock.ExePrice))leftValue=leftStock.ExePrice;if(rightStock&&IFrameSplitOperator.IsNumber(rightStock.ExePrice))rightValue=rightStock.ExePrice;}else if(cellType==1){if(leftStock&&leftStock.LeftData){var value=leftStock.LeftData[filedName];if(IFrameSplitOperator.IsNumber(value))leftValue=value;}if(rightStock&&rightStock.LeftData){var value=rightStock.LeftData[filedName];if(IFrameSplitOperator.IsNumber(value))rightValue=value;}}else if(cellType==2){if(leftStock&&leftStock.RightData){var value=leftStock.RightData[filedName];if(IFrameSplitOperator.IsNumber(value))leftValue=value;}if(rightStock&&rightStock.RightData){var value=rightStock.RightData[filedName];if(IFrameSplitOperator.IsNumber(value))rightValue=value;}}if(sortType==1){if(rightValue<leftValue)return-1;else if(rightValue<leftValue)return 1;else return 0;}else{if(leftValue<rightValue)return-1;else if(leftValue>rightValue)return 1;else return 0;}};this.OnWheel=function(e)//滚轴
|
|
13426
13428
|
{JSConsole.Chart.Log('[JSTReportChartContainer::OnWheel]',e);if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;var x=e.clientX-this.UIElement.getBoundingClientRect().left;var y=e.clientY-this.UIElement.getBoundingClientRect().top;var isInClient=false;this.Canvas.beginPath();this.Canvas.rect(this.Frame.ChartBorder.GetLeft(),this.Frame.ChartBorder.GetTop(),this.Frame.ChartBorder.GetWidth(),this.Frame.ChartBorder.GetHeight());isInClient=this.Canvas.isPointInPath(x,y);if(!isInClient)return;var chart=this.GetTReportChart();if(!chart)return;var wheelValue=e.wheelDelta;if(!IFrameSplitOperator.IsObjectExist(e.wheelDelta))wheelValue=e.deltaY*-0.01;if(wheelValue<0)//下
|
|
13427
|
-
{this.LastMouseStatus.TooltipStatus=null;this.HideMinuteChartTooltip();var result=this.MoveSelectedRow(1,{EnablePageCycle:this.EnablePageCycle});if(result){if(result.Redraw)this.Draw();if(result.Update)this.DelayUpdateStockData();}}else if(wheelValue>0)//上
|
|
13428
|
-
{this.LastMouseStatus.TooltipStatus=null;this.HideMinuteChartTooltip();var result=this.MoveSelectedRow(-1,{EnablePageCycle:this.EnablePageCycle});if(result){if(result.Redraw)this.Draw();if(result.Update)this.DelayUpdateStockData();}}if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.OnKeyDown=function(e){if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var reportChart=this.GetTReportChart();if(!reportChart)return;var keyID=e.keyCode?e.keyCode:e.which;if(keyID==116)return;//F15刷新不处理
|
|
13429
|
-
this.HideMinuteChartTooltip();switch(keyID){/*
|
|
13429
|
+
{this.LastMouseStatus.TooltipStatus=null;this.HideMinuteChartTooltip();this.HideFloatTooltip();var result=this.MoveSelectedRow(1,{EnablePageCycle:this.EnablePageCycle});if(result){if(result.Redraw)this.Draw();if(result.Update)this.DelayUpdateStockData();}}else if(wheelValue>0)//上
|
|
13430
|
+
{this.LastMouseStatus.TooltipStatus=null;this.HideMinuteChartTooltip();this.HideFloatTooltip();var result=this.MoveSelectedRow(-1,{EnablePageCycle:this.EnablePageCycle});if(result){if(result.Redraw)this.Draw();if(result.Update)this.DelayUpdateStockData();}}if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.OnKeyDown=function(e){if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var reportChart=this.GetTReportChart();if(!reportChart)return;var keyID=e.keyCode?e.keyCode:e.which;if(keyID==116)return;//F15刷新不处理
|
|
13431
|
+
this.HideMinuteChartTooltip();this.HideFloatTooltip();switch(keyID){/*
|
|
13430
13432
|
case 33: //page up
|
|
13431
13433
|
if (this.GotoPreviousPage(this.PageUpDownCycle))
|
|
13432
13434
|
{
|
|
@@ -13549,10 +13551,10 @@ var reportleft=this.RectClient.Left;var reportRight=this.RectClient.Right;for(va
|
|
|
13549
13551
|
var xRight=rtCenterItem.Right;//右边
|
|
13550
13552
|
var reportleft=this.RectClient.Left;var reportRight=this.RectClient.Right;var data={ExePrice:exePrice,TData:null,Decimal:this.DefaultDecimal};if(this.GetExePriceDataCallback)data.TData=this.GetExePriceDataCallback(exePrice);if(this.GetFlashBGDataCallback&&data.TData){if(data.TData.LeftData)//左侧
|
|
13551
13553
|
{var item=data.TData.LeftData;data.TData.LeftFlashBG=this.GetFlashBGDataCallback(item.Symbol,Date.now());if(item.Symbol)data.Decimal=JSTReportChart.GetfloatPrecision(item.Symbol);}if(data.TData.RightData)//右侧
|
|
13552
|
-
{var item=data.TData.RightData;data.TData.RightFlashBG=this.GetFlashBGDataCallback(item.Symbol,Date.now());if(item.Symbol)data.Decimal=JSTReportChart.GetfloatPrecision(item.Symbol);}}var bSelected=false;if(this.SelectedRow&&this.SelectedRow.ExePrice==exePrice)bSelected=true;var rtItem={Left:xLeft,Right:xRight,Top:top,Height:this.RowHeight};rtItem.Bottom=rtItem.Top+rtItem.Height;rtItem.Width=rtItem.Right-rtItem.Left;this.DrawCenterItem(dataIndex,data,this.CenterColumn,rtItem,0);if(bSelected&&this.SelectedRow.CellType==0)this.RectSelectedRow=rtItem;if(IFrameSplitOperator.IsNumber(this.Data.Price)){var leftBGColor=null,rightBGColor=null;if(exePrice>this.Data.Price){leftBGColor=this.UpBGColor;rightBGColor=this.DownBGColor;}else{leftBGColor=this.DownBGColor;rightBGColor=this.UpBGColor;}if(leftBGColor){var rtBG={Left:reportleft+1,Right:rtCenterItem.Left,Top:top,Height:this.RowHeight};rtBG.Bottom=rtBG.Top+rtBG.Height;rtBG.Width=rtBG.Right-rtBG.Left;this.Canvas.fillStyle=leftBGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}if(rightBGColor){var rtBG={Left:rtCenterItem.Right,Right:reportRight,Top:top,Height:this.RowHeight};rtBG.Bottom=rtBG.Top+rtBG.Height;rtBG.Width=rtBG.Right-rtBG.Left;this.Canvas.fillStyle=rightBGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}}for(var i=this.Data.XOffset;i<this.Column.length;++i){var item=this.Column[i];var itemWidth=item.Width+this.ItemExtraWidth;xLeft-=itemWidth;if(xLeft<reportleft)break;var leftData=null,rightData=null;if(data.TData)leftData=data.TData.LeftData;if(data.TData)rightData=data.TData.RightData;rtItem={Left:xLeft,Right:xLeft+itemWidth,Top:top,Height:this.RowHeight,Width:itemWidth};rtItem.Bottom=rtItem.Top+rtItem.Height;this.DrawItem(dataIndex,data,leftData,item,rtItem,1);if(bSelected&&this.SelectedRow.CellType==1){if(!this.RectSelectedRow)this.RectSelectedRow=rtItem;else this.RectSelectedRow.Left=rtItem.Left;}rtItem={Left:xRight,Right:xRight+itemWidth,Top:top,Height:this.RowHeight,Width:itemWidth};rtItem.Bottom=rtItem.Top+rtItem.Height;this.DrawItem(dataIndex,data,rightData,item,rtItem,2);xRight+=itemWidth;if(bSelected&&this.SelectedRow.CellType==2){if(!this.RectSelectedRow)this.RectSelectedRow=rtItem;else this.RectSelectedRow.Right=rtItem.Right;}}};this.FormatCenterItem=function(data,drawInfo){if(!data||!data.TData)return;var leftData=this.GetExePriceExtendData(data.TData.LeftData);var rightData=this.GetExePriceExtendData(data.TData.RightData);if(leftData){if(leftData.BGColor)drawInfo.BGColor=leftData.BGColor;if(leftData.TitleColor)drawInfo.TextColor=leftData.TitleColor;if(leftData.Text&&leftData.TextColor){drawInfo.Left={Text:leftData.Text,TextColor:leftData.TextColor};}else if(leftData.IconFont&&leftData.TextColor){drawInfo.Left={IconFont:leftData.IconFont,TextColor:leftData.TextColor};}}if(rightData){if(rightData.BGColor)drawInfo.BGColor=rightData.BGColor;if(rightData.TitleColor)drawInfo.TextColor=rightData.TitleColor;if(rightData.Text&&rightData.TextColor){drawInfo.Right={Text:rightData.Text,TextColor:rightData.TextColor};}else if(rightData.IconFont&&rightData.TextColor){drawInfo.Right={IconFont:rightData.IconFont,TextColor:rightData.TextColor};}}};//行权价列扩展信息
|
|
13554
|
+
{var item=data.TData.RightData;data.TData.RightFlashBG=this.GetFlashBGDataCallback(item.Symbol,Date.now());if(item.Symbol)data.Decimal=JSTReportChart.GetfloatPrecision(item.Symbol);}}var bSelected=false;if(this.SelectedRow&&this.SelectedRow.ExePrice==exePrice)bSelected=true;var rtItem={Left:xLeft,Right:xRight,Top:top,Height:this.RowHeight};rtItem.Bottom=rtItem.Top+rtItem.Height;rtItem.Width=rtItem.Right-rtItem.Left;this.DrawCenterItem(dataIndex,data,this.CenterColumn,rtItem,0);if(bSelected&&this.SelectedRow.CellType==0)this.RectSelectedRow=rtItem;if(IFrameSplitOperator.IsNumber(this.Data.Price)){var leftBGColor=null,rightBGColor=null;if(exePrice>this.Data.Price){leftBGColor=this.UpBGColor;rightBGColor=this.DownBGColor;}else{leftBGColor=this.DownBGColor;rightBGColor=this.UpBGColor;}if(leftBGColor){var rtBG={Left:reportleft+1,Right:rtCenterItem.Left,Top:top,Height:this.RowHeight};rtBG.Bottom=rtBG.Top+rtBG.Height;rtBG.Width=rtBG.Right-rtBG.Left;this.Canvas.fillStyle=leftBGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}if(rightBGColor){var rtBG={Left:rtCenterItem.Right,Right:reportRight,Top:top,Height:this.RowHeight};rtBG.Bottom=rtBG.Top+rtBG.Height;rtBG.Width=rtBG.Right-rtBG.Left;this.Canvas.fillStyle=rightBGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}}for(var i=this.Data.XOffset;i<this.Column.length;++i){var item=this.Column[i];var itemWidth=item.Width+this.ItemExtraWidth;xLeft-=itemWidth;if(xLeft<reportleft)break;var leftData=null,rightData=null;if(data.TData)leftData=data.TData.LeftData;if(data.TData)rightData=data.TData.RightData;rtItem={Left:xLeft,Right:xLeft+itemWidth,Top:top,Height:this.RowHeight,Width:itemWidth};rtItem.Bottom=rtItem.Top+rtItem.Height;this.DrawItem(dataIndex,data,leftData,item,rtItem,1);if(bSelected&&this.SelectedRow.CellType==1){if(!this.RectSelectedRow)this.RectSelectedRow=rtItem;else this.RectSelectedRow.Left=rtItem.Left;}rtItem={Left:xRight,Right:xRight+itemWidth,Top:top,Height:this.RowHeight,Width:itemWidth};rtItem.Bottom=rtItem.Top+rtItem.Height;this.DrawItem(dataIndex,data,rightData,item,rtItem,2);xRight+=itemWidth;if(bSelected&&this.SelectedRow.CellType==2){if(!this.RectSelectedRow)this.RectSelectedRow=rtItem;else this.RectSelectedRow.Right=rtItem.Right;}}};this.FormatCenterItem=function(data,drawInfo){if(!data||!data.TData)return;var leftData=this.GetExePriceExtendData(data.TData.LeftData);var rightData=this.GetExePriceExtendData(data.TData.RightData);if(leftData){if(leftData.BGColor)drawInfo.BGColor=leftData.BGColor;if(leftData.TitleColor)drawInfo.TextColor=leftData.TitleColor;if(leftData.Text&&leftData.TextColor){drawInfo.Left={Text:leftData.Text,TextColor:leftData.TextColor,Tooltip:leftData.Tooltip};}else if(leftData.IconFont&&leftData.TextColor){drawInfo.Left={IconFont:leftData.IconFont,TextColor:leftData.TextColor,Tooltip:leftData.Tooltip};}}if(rightData){if(rightData.BGColor)drawInfo.BGColor=rightData.BGColor;if(rightData.TitleColor)drawInfo.TextColor=rightData.TitleColor;if(rightData.Text&&rightData.TextColor){drawInfo.Right={Text:rightData.Text,TextColor:rightData.TextColor,Tooltip:rightData.Tooltip};}else if(rightData.IconFont&&rightData.TextColor){drawInfo.Right={IconFont:rightData.IconFont,TextColor:rightData.TextColor,Tooltip:rightData.Tooltip};}}};//行权价列扩展信息
|
|
13553
13555
|
this.GetExePriceExtendData=function(data){if(!data)return null;var fieldName=MAP_TREPORT_COLUMN_FIELD.get(TREPORT_COLUMN_ID.EXE_PRICE_EX_ID);if(!fieldName)return null;var value=data[fieldName];return value;};this.DrawCenterItem=function(index,data,column,rtItem,cellType)//cellType 0=中间字段 1=左侧 2=右侧
|
|
13554
13556
|
{//tooltip提示
|
|
13555
|
-
if(column.EnableTooltip===true)this.TooltipRect.push({Rect:rtItem,Data:data,Index:index,Column:column,CellType:cellType,Type:1});var rtText={Left:rtItem.Left+this.ItemMergin.Left,Right:rtItem.Right-this.ItemMergin.Right,Top:rtItem.Top+this.ItemMergin.Top,Bottom:rtItem.Bottom-this.ItemMergin.Bottom};rtText.Width=rtText.Right-rtText.Left;rtText.Height=rtText.Bottom-rtText.Top;var drawInfo={Text:null,TextColor:this.CenterItemConfig.TextColor,BGColor:this.CenterItemConfig.BGColor,TextAlign:column.TextAlign,Rect:rtItem,RectText:rtText};drawInfo.Text=''+data.ExePrice.toFixed(data.Decimal);this.FormatCenterItem(data,drawInfo);this.DrawCell(drawInfo);};this.DrawItem=function(index,exePriceData,data,column,rtItem,cellType){if(column.EnableTooltip===true)this.TooltipRect.push({Rect:rtItem,Data:data,Index:index,Column:column,CellType:cellType,Type:1});var rtText={Left:rtItem.Left+this.ItemMergin.Left,Right:rtItem.Right-this.ItemMergin.Right,Top:rtItem.Top+this.ItemMergin.Top,Bottom:rtItem.Bottom-this.ItemMergin.Bottom};rtText.Width=rtText.Right-rtText.Left;rtText.Height=rtText.Bottom-rtText.Top;var drawInfo={Text:null,TextColor:column.TextColor,TextAlign:column.TextAlign,Rect:rtItem,RectText:rtText};if(data){switch(column.Type){case TREPORT_COLUMN_ID.SYMBOL_ID:case TREPORT_COLUMN_ID.NAME_ID:var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(fieldName)drawInfo.Text=data[fieldName];break;case TREPORT_COLUMN_ID.PRICE_ID://最新价格
|
|
13557
|
+
if(column.EnableTooltip===true)this.TooltipRect.push({Rect:rtItem,Data:data,Index:index,Column:column,CellType:cellType,Type:1});var rtText={Left:rtItem.Left+this.ItemMergin.Left,Right:rtItem.Right-this.ItemMergin.Right,Top:rtItem.Top+this.ItemMergin.Top,Bottom:rtItem.Bottom-this.ItemMergin.Bottom};rtText.Width=rtText.Right-rtText.Left;rtText.Height=rtText.Bottom-rtText.Top;var drawInfo={Text:null,TextColor:this.CenterItemConfig.TextColor,BGColor:this.CenterItemConfig.BGColor,TextAlign:column.TextAlign,Rect:rtItem,RectText:rtText};drawInfo.Text=''+data.ExePrice.toFixed(data.Decimal);this.FormatCenterItem(data,drawInfo);this.DrawCell(drawInfo);if(drawInfo.LeftIconTooltip){var tooltipItem=drawInfo.LeftIconTooltip;var tooltipData={Rect:tooltipItem.Rect,Data:tooltipItem.Data,Index:index,Column:column,CellType:cellType,Type:2};this.TooltipRect.push(tooltipData);}if(drawInfo.RightIconTooltip){var tooltipItem=drawInfo.RightIconTooltip;var tooltipData={Rect:tooltipItem.Rect,Data:tooltipItem.Data,Index:index,Column:column,CellType:cellType,Type:3};this.TooltipRect.push(tooltipData);}};this.DrawItem=function(index,exePriceData,data,column,rtItem,cellType){if(column.EnableTooltip===true)this.TooltipRect.push({Rect:rtItem,Data:data,Index:index,Column:column,CellType:cellType,Type:1});var rtText={Left:rtItem.Left+this.ItemMergin.Left,Right:rtItem.Right-this.ItemMergin.Right,Top:rtItem.Top+this.ItemMergin.Top,Bottom:rtItem.Bottom-this.ItemMergin.Bottom};rtText.Width=rtText.Right-rtText.Left;rtText.Height=rtText.Bottom-rtText.Top;var drawInfo={Text:null,TextColor:column.TextColor,TextAlign:column.TextAlign,Rect:rtItem,RectText:rtText};if(data){switch(column.Type){case TREPORT_COLUMN_ID.SYMBOL_ID:case TREPORT_COLUMN_ID.NAME_ID:var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(fieldName)drawInfo.Text=data[fieldName];break;case TREPORT_COLUMN_ID.PRICE_ID://最新价格
|
|
13556
13558
|
case TREPORT_COLUMN_ID.BUY_PRICE_ID://买价
|
|
13557
13559
|
case TREPORT_COLUMN_ID.SELL_PRICE_ID://卖价
|
|
13558
13560
|
var fieldName=MAP_TREPORT_COLUMN_FIELD.get(column.Type);if(fieldName)this.GetPriceDrawInfo(data[fieldName],data,exePriceData,drawInfo);break;case TREPORT_COLUMN_ID.SELL_VOL_ID://卖量
|
|
@@ -13567,7 +13569,9 @@ if(drawInfo.BGColor)//背景
|
|
|
13567
13569
|
{var rtItem=drawInfo.Rect;this.Canvas.fillStyle=drawInfo.BGColor;this.Canvas.fillRect(rtItem.Left,rtItem.Top,rtItem.Width,rtItem.Height);}if(drawInfo.FlashBGColor)//闪动背景
|
|
13568
13570
|
{var rtItem=drawInfo.Rect;this.Canvas.fillStyle=drawInfo.FlashBGColor;this.Canvas.fillRect(rtItem.Left,rtItem.Top,rtItem.Width,rtItem.Height);}if(drawInfo.BorderColor)//边框
|
|
13569
13571
|
{var rtItem=drawInfo.Rect;this.Canvas.strokeStyle=drawInfo.BorderColor;this.Canvas.strokeRect(ToFixedPoint(rtItem.Left),ToFixedPoint(rtItem.Top+1),ToFixedRect(rtItem.Width),ToFixedRect(rtItem.Height-3));}if(drawInfo.Text)//文字
|
|
13570
|
-
{if(drawInfo.TextColor)this.Canvas.fillStyle=drawInfo.TextColor;this.DrawText(drawInfo.Text,drawInfo.TextAlign,rtText.Left,yCenter,rtText.Width);}if(drawInfo.Left)
|
|
13572
|
+
{if(drawInfo.TextColor)this.Canvas.fillStyle=drawInfo.TextColor;this.DrawText(drawInfo.Text,drawInfo.TextAlign,rtText.Left,yCenter,rtText.Width);}if(drawInfo.Left)//左边图标
|
|
13573
|
+
{var item=drawInfo.Left;this.Canvas.textAlign="left";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=item.TextColor;if(item.IconFont){if(!fontBackup)fontBackup=this.Canvas.font;this.Canvas.font=item.IconFont.Font;this.Canvas.fillText(item.IconFont.Symbol,rtText.Left,yCenter);if(item.Tooltip){var iconWidth=this.Canvas.measureText(item.IconFont.Symbol).width;var rtIcon={Left:rtText.Left,Top:rtText.Top,Bottom:rtText.Bottom,Height:rtText.Height,Width:iconWidth};rtIcon.Right=rtIcon.Left+rtIcon.Width;drawInfo.LeftIconTooltip={Rect:rtIcon,Data:item.Tooltip};}}else if(item.Text){this.Canvas.fillText(item.Text,rtText.Left,yCenter);}}if(drawInfo.Right)//右边图标
|
|
13574
|
+
{var item=drawInfo.Right;this.Canvas.textAlign="right";this.Canvas.textBaseline="middle";this.Canvas.fillStyle=item.TextColor;if(item.IconFont){if(!fontBackup)fontBackup=this.Canvas.font;this.Canvas.font=item.IconFont.Font;this.Canvas.fillText(item.IconFont.Symbol,rtText.Right,yCenter);if(item.Tooltip){var iconWidth=this.Canvas.measureText(item.IconFont.Symbol).width;var rtIcon={Right:rtText.Right,Top:rtText.Top,Bottom:rtText.Bottom,Height:rtText.Height,Width:iconWidth};rtIcon.Left=rtIcon.Right-rtIcon.Width;drawInfo.RightIconTooltip={Rect:rtIcon,Data:item.Tooltip};}}else if(item.Text){this.Canvas.fillText(item.Text,rtText.Right,yCenter);}}if(fontBackup)this.Canvas.font=fontBackup;};this.GetTooltipData=function(x,y){if(!IFrameSplitOperator.IsNonEmptyArray(this.TooltipRect))return null;for(var i=0;i<this.TooltipRect.length;++i){var item=this.TooltipRect[i];var rt=item.Rect;if(!rt)continue;if(x>=rt.Left&&x<=rt.Right&&y>=rt.Top&&y<=rt.Bottom){return{Rect:item.Rect,Data:item.Data,Column:item.Column,Index:item.Index,Type:item.Type,CellType:item.CellType};}}return null;};this.OnMouseDown=function(x,y,e)//Type: 2=行 3=表头
|
|
13571
13575
|
{if(!this.Data)return null;var pixelTatio=GetDevicePixelRatio();var insidePoint={X:x/pixelTatio,Y:y/pixelTatio};if(this.UIElement)var uiElement={Left:this.UIElement.getBoundingClientRect().left,Top:this.UIElement.getBoundingClientRect().top};else var uiElement={Left:null,Top:null};var row=this.PtInBody(x,y);if(row){var bRedraw=false;if(!this.SelectedRow){this.SelectedRow={ExePrice:row.ExePrice,CellType:row.CellType};bRedraw=true;}else if(this.SelectedRow.ExePrice!=row.ExePrice||this.SelectedRow.CellType!=row.CellType){this.SelectedRow.ExePrice=row.ExePrice;this.SelectedRow.CellType=row.CellType;bRedraw=true;}var eventID=JSCHART_EVENT_ID.ON_CLICK_TREPORT_ROW;if(e.button==2)eventID=JSCHART_EVENT_ID.ON_RCLICK_TREPORT_ROW;this.SendClickEvent(eventID,{Data:row,X:x,Y:y,e:e,Inside:insidePoint,UIElement:uiElement});return{Type:2,Redraw:bRedraw,Row:row};//行
|
|
13572
13576
|
}var header=this.PtInHeader(x,y);if(header){var eventID=JSCHART_EVENT_ID.ON_CLICK_TREPORT_HEADER;if(e.button==2){eventID=JSCHART_EVENT_ID.ON_RCLICK_TREPORT_HEADER;}else if(e.button==0){eventID=JSCHART_EVENT_ID.ON_CLICK_TREPORT_HEADER;}this.SendClickEvent(eventID,{Data:header,X:x,Y:y,e:e,Inside:insidePoint,UIElement:uiElement});return{Type:3,Redraw:bRedraw,Header:header};//表头
|
|
13573
13577
|
}return null;};this.PtInBody=function(x,y){if(!this.Data)return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;var top=this.RectClient.Top+this.HeaderHeight;var left=this.RectClient.Left;var right=this.RectClient.Right;var textTop=top+this.FixedRowHeight*this.FixedRowCount;for(var i=this.Data.YOffset,j=0;i<this.Data.Data.length&&j<this.RowCount;++i,++j){var exePrice=this.Data.Data[i];var rtRow={Left:left,Top:textTop,Right:right,Bottom:textTop+this.RowHeight};rtRow.Height=rtRow.Bottom-rtRow.Top;rtRow.Width=rtRow.Right-rtRow.Left;if(x>=rtRow.Left&&x<=rtRow.Right&&y>=rtRow.Top&&y<=rtRow.Bottom){var data={RectRow:rtRow,DataIndex:i,Index:j,ExePrice:exePrice};return this.PtInItem(x,y,data);}textTop+=this.RowHeight;}return null;};this.PtInItem=function(x,y,info,exePrice){var rtCenterItem=this.GetCenterItemRect();var rtRow=info.RectRow;var rtCenter={Left:rtCenterItem.Left,Right:rtCenterItem.Right,Top:rtRow.Top,Height:rtRow.Height,Bottom:rtRow.Bottom};if(x>=rtCenter.Left&&x<=rtCenter.Right&&y>=rtCenter.Top&&y<=rtCenter.Bottom){var data={Rect:rtCenter,DataIndex:info.DataIndex,Index:info.Index,ExePrice:info.ExePrice,CellType:0,Column:this.CenterColumn};data.Item=this.GetExePriceDataCallback(info.ExePrice);return data;}var xLeft=rtCenterItem.Left;//左边
|
|
@@ -14072,7 +14076,7 @@ var upperSymbol=this.HQChart.Symbol.toUpperCase();var unit=MARKET_SUFFIX_NAME.Ge
|
|
|
14072
14076
|
var dateItem=this.ForamtDate(data.Date,"YYYY/MM/DD/W",'DialogTooltip-Date');//时间
|
|
14073
14077
|
var timeItem=null;if(IFrameSplitOperator.IsNumber(data.Time))timeItem=this.FormatTime(data.Time,this.HQChart.Period,null,'DialogTooltip-Time');var yClose=data.YClose;//昨收价|昨结算价
|
|
14074
14078
|
var aryText=[this.ForamtPrice(data.Open,yClose,defaultfloatPrecision,'DialogTooltip-Open',priceFormat),this.ForamtPrice(data.High,yClose,defaultfloatPrecision,'DialogTooltip-High',priceFormat),this.ForamtPrice(data.Low,yClose,defaultfloatPrecision,'DialogTooltip-Low',priceFormat),this.ForamtPrice(data.Close,yClose,defaultfloatPrecision,'DialogTooltip-Close',priceFormat),this.FormatVol(data.Vol/unit,'DialogTooltip-Vol'),this.FormatAmount(data.Amount,'DialogTooltip-Amount'),this.FormatIncrease(data.Close,yClose,defaultfloatPrecision,'DialogTooltip-Increase',priceFormat),this.FormatAmplitude(data.High,data.Low,yClose,defaultfloatPrecision,'DialogTooltip-Amplitude',priceFormat)];if(this.LastValueCache&&this.LastValueCache.Y){var item=this.LastValueCache.Y;var rowItem=null;if(item.Extend.FrameID==0){rowItem=this.ForamtPrice(item.Value,null,defaultfloatPrecision,'DialogTooltip-Value',2);}else{rowItem=this.ForamtValue(item.Value,2,'DialogTooltip-Value');}if(rowItem)aryText.unshift(rowItem);}if(this.Style==1){if(timeItem)aryText.unshift(timeItem);var dateItem=this.ForamtDate(data.Date,"YYYY/MM/DD",'DialogTooltip-Date');aryText.unshift(dateItem);}else{if(timeItem)aryText.unshift(timeItem);aryText.unshift(dateItem);}//换手率
|
|
14075
|
-
if(
|
|
14079
|
+
if(IFrameSplitOperator.IsNumber(data.FlowCapital)){aryText.push(this.FormatExchange(data.Vol,data.FlowCapital,'DialogTooltip-Exchange'));}//持仓量 结算价
|
|
14076
14080
|
if(MARKET_SUFFIX_NAME.IsFutures(upperSymbol)){aryText.push(this.FormatPosition(data.Position,'DialogTooltip-Position'));aryText.push(this.ForamtFClose(data.FClose,defaultfloatPrecision,'DialogTooltip-FClose'));}var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_DIALOG_TOOLTIP);if(event&&event.Callback){var sendData={AryText:aryText,Data:data,Symbol:this.HQChart.Symbol,HQChart:this.HQChart,IsKLine:true};event.Callback(event,sendData,this);}return aryText;};this.GetFormatMinuteTooltipText=function(data){var defaultfloatPrecision=GetfloatPrecision(this.HQChart.Symbol);//价格小数位数
|
|
14077
14081
|
var upperSymbol=this.HQChart.Symbol.toUpperCase();var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);var aryText=[];if(data.Type==0)//连续交易
|
|
14078
14082
|
{var item=data.Data;if(!item)item={};aryText=[this.ForamtDate(item.Date,this.Style==1?"MM/DD/W":"YYYY/MM/DD/W",'DialogTooltip-Date'),this.FormatTime(item.Time,null,"HH:MM",'DialogTooltip-Time'),this.ForamtPrice(item.Close,item.YClose,defaultfloatPrecision,'DialogTooltip-Price',1),this.ForamtPrice(item.AvPrice,item.YClose,defaultfloatPrecision,'DialogTooltip-AvPrice',1),this.FormatRisefall(item.Close,item.YClose,defaultfloatPrecision,'DialogTooltip-Risefall'),this.FormatIncrease(item.Close,item.YClose,defaultfloatPrecision,'DialogTooltip-Increase',1),this.FormatVol(item.Vol/unit,'DialogTooltip-Vol'),this.FormatAmount(item.Amount,'DialogTooltip-Amount')];if(this.LastValueCache&&this.LastValueCache.Y){var item=this.LastValueCache.Y;var rowItem=null;if(item.Extend.FrameID==0){rowItem=this.ForamtPrice(item.Value,null,defaultfloatPrecision,'DialogTooltip-Value',2);}else{rowItem=this.ForamtValue(item.Value,2,'DialogTooltip-Value');}if(rowItem)aryText.splice(2,0,rowItem);}}else if(data.Type==1)//集合竞价
|
|
@@ -14114,7 +14118,8 @@ this.Update=function(data){if(!this.DivDialog)return;this.LanguageID=this.HQChar
|
|
|
14114
14118
|
{this.UpdateRealtimeHQTooltip(data);}else if(data.DataType==3)//报价列表
|
|
14115
14119
|
{var tooltipData=data.Tooltip;if(!tooltipData)return;if(tooltipData.Type==2)//报价列表表头图标提示信息
|
|
14116
14120
|
{this.ReportHeaderIconTooltip(data);}else if(tooltipData.Type==1)//单元格截断内容
|
|
14117
|
-
{this.ReportCellTruncateTooltip(data);}}
|
|
14121
|
+
{this.ReportCellTruncateTooltip(data);}}else if(data.DataType==4)//T型报价
|
|
14122
|
+
{var tooltipData=data.Tooltip;if(!tooltipData)return;if(tooltipData.Type==2||tooltipData.Type==3){this.TReportIconTooltip(data);}}};this.UpdateRealtimeHQTooltip=function(data){if(!this.KItemCache)return;var kItem={Symbol:data.Symbol,Name:this.KItemCache.Name,Item:data.Data,IsOverlay:this.KItemCache.IsOverlay};var strKItem=(0,_stringify2.default)(kItem);var bUpdata=false;if(this.KItemCacheID!=strKItem)//数据变动的才更新
|
|
14118
14123
|
{this.KItemCache=kItem;this.KItemCacheID=strKItem;this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);bUpdata=true;}if(bUpdata){this.UpdateTableDOM();}};this.ShowTooltip=function(data){if(!data.Point)return;var x=data.Point.X;var y=data.Point.Y;this.Show(x,y,{YMove:data.Point.YMove});};//K线提示信息
|
|
14119
14124
|
this.UpdateKLineToolitp=function(data){var tooltipData=data.Tooltip;var symbol=data.Symbol;var name=data.Name;var bOverlay=false;//是否是叠加指标
|
|
14120
14125
|
if(tooltipData.ChartPaint.Name=="Overlay-KLine"){symbol=tooltipData.ChartPaint.Symbol;name=tooltipData.ChartPaint.Title;bOverlay=true;}var kItem={Symbol:symbol,Name:name,Item:CloneData(tooltipData.Data),IsOverlay:bOverlay};var strKItem=(0,_stringify2.default)(kItem);var bUpdata=false;if(this.KItemCacheID!=strKItem)//数据变动的才更新
|
|
@@ -14126,13 +14131,13 @@ this.UpdateMinuteInfoTooltip=function(data){var tooltipData=data.Tooltip;if(!too
|
|
|
14126
14131
|
this.UpdatMultiSVGIconV2Tooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!tooltipData.Data.Item)return;var item=tooltipData.Data.Item;var aryText=[];if(item&&IFrameSplitOperator.IsObject(item.Text)){var tooltipData=item.Text;if(IFrameSplitOperator.IsNonEmptyArray(tooltipData.AryText)){for(var i=0;i<tooltipData.AryText.length;++i){var tooltipItem=tooltipData.AryText[i];var textItem={Title:tooltipItem.Title,Text:tooltipItem.Text,Color:this.ValueColor};if(tooltipItem.Color)textItem.Color=tooltipItem.Color;if(tooltipItem.Align=="Left")tooltipItem.ClassName=this.ValueAlign.Left;aryText.push(tooltipItem);}}}else{var rowItem={Text:"",HTMLTitle:item.Text,Color:this.ValueColor,IsMergeCell:true};aryText.push(rowItem);}this.AryText=aryText;this.UpdateTableDOM();this.ShowTooltip(data);};//ChartOX 信息
|
|
14127
14132
|
this.UpdatChartOXTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!tooltipData.Data.Data)return;var item=tooltipData.Data.Data;var period=this.HQChart.Period;var aryText=[];if(ChartData.IsDayPeriod(period,true)){var strStartDate=IFrameSplitOperator.FormatDateString(item.Start.Date,"YYYY-MM-DD");var strEndDate=IFrameSplitOperator.FormatDateString(item.End.Date,"YYYY-MM-DD");aryText.push({Title:"起始时间",Text:strStartDate,Color:this.ValueColor});aryText.push({Title:"结束时间",Text:strEndDate,Color:this.ValueColor});}else if(ChartData.IsMinutePeriod(period,true)){var strStartDate=IFrameSplitOperator.FormatDateString(item.Start.Date);var strStartTime=IFrameSplitOperator.FormatTimeString(item.Start.Time,"HH:MM");var strEndDate=IFrameSplitOperator.FormatDateString(item.End.Date);var strEndTime=IFrameSplitOperator.FormatTimeString(item.End.Time,"HH:MM");aryText.push({Title:"起始时间",Text:strStartDate+' '+strStartTime,Color:this.ValueColor});aryText.push({Title:"结束时间",Text:strEndDate+' '+strEndTime,Color:this.ValueColor});}this.AryText=aryText;this.UpdateTableDOM();this.ShowTooltip(data);};//表头图标
|
|
14128
14133
|
this.ReportHeaderIconTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText))return;this.AryText=tooltipData.Data.AryText;this.UpdateTableDOM();this.ShowTooltip(data);};//表格单元格截断内容
|
|
14129
|
-
this.ReportCellTruncateTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText))return;var item=tooltipData.Data.AryText[0];if(!item.Text)return;this.AryText=[{Title:item.Text,IsMergeCell:true}];this.UpdateTableDOM();this.ShowTooltip(data);};this.UpdateTableDOM=function(){var index=0;for(index=0;index<this.AryText.length&&index<this.MaxRowCount;++index){var outItem=this.AryText[index];var item=this.AryData[index];if(outItem.HTMLTitle)item.TitleSpan.innerHTML=outItem.HTMLTitle;else item.TitleSpan.innerText=outItem.Title;item.TitleSpan.style.color=this.TextColor;if(outItem.HTMLText)item.TextSpan.innerHTML=outItem.HTMLText;else item.TextSpan.innerText=outItem.Text;item.TextSpan.style.color=outItem.Color;item.TextTd.style.color=outItem.Color;if(outItem.ClassName){item.TextSpan.className=outItem.ClassName;}else{if(item.TextSpan.className!=this.ValueAlign.Right)item.TextSpan.className=this.ValueAlign.Right;}if(outItem.IsMergeCell)//合并单元格
|
|
14134
|
+
this.ReportCellTruncateTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText))return;var item=tooltipData.Data.AryText[0];if(!item.Text)return;this.AryText=[{Title:item.Text,IsMergeCell:true}];this.UpdateTableDOM();this.ShowTooltip(data);};this.TReportIconTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText))return;this.AryText=tooltipData.Data.AryText;this.UpdateTableDOM();this.ShowTooltip(data);};this.UpdateTableDOM=function(){var index=0;for(index=0;index<this.AryText.length&&index<this.MaxRowCount;++index){var outItem=this.AryText[index];var item=this.AryData[index];if(outItem.HTMLTitle)item.TitleSpan.innerHTML=outItem.HTMLTitle;else item.TitleSpan.innerText=outItem.Title;item.TitleSpan.style.color=this.TextColor;if(outItem.HTMLText)item.TextSpan.innerHTML=outItem.HTMLText;else item.TextSpan.innerText=outItem.Text;item.TextSpan.style.color=outItem.Color;item.TextTd.style.color=outItem.Color;if(outItem.ClassName){item.TextSpan.className=outItem.ClassName;}else{if(item.TextSpan.className!=this.ValueAlign.Right)item.TextSpan.className=this.ValueAlign.Right;}if(outItem.IsMergeCell)//合并单元格
|
|
14130
14135
|
{item.TitleTd.colspan=2;item.TextTd.style.display="none";}else{if(item.TitleTd.colspan!=1)item.TitleTd.colspan=1;item.TextTd.style.display="";}item.Tr.style.display="";if(item.Tr2)item.Tr2.style.display="none";}for(;index<this.MaxRowCount;++index){var item=this.AryData[index];item.Tr.style.display="none";if(item.Tr2)item.Tr2.style.display="none";}};this.GetFormatKLineTooltipText=function(kItem){var data=kItem.Item;var symbol=kItem.Symbol;var upperSymbol=symbol.toUpperCase();var defaultfloatPrecision=GetfloatPrecision(symbol);//价格小数位数
|
|
14131
14136
|
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);//日期
|
|
14132
14137
|
var dateItem=this.ForamtDate(data.Date,"YYYY/MM/DD/W",'FloatTooltip-Date');//时间
|
|
14133
14138
|
var timeItem=null;if(IFrameSplitOperator.IsNumber(data.Time))timeItem=this.FormatTime(data.Time,this.HQChart.Period,null,'FloatTooltip-Time');var overlayItem=null;if(kItem.IsOverlay)overlayItem={Title:"",Text:kItem.Name,Color:this.TextColor,ClassName:this.ValueAlign.Left};var yClose=data.YClose;//昨收价|昨结算价
|
|
14134
14139
|
var aryText=[this.ForamtPrice(data.Open,yClose,defaultfloatPrecision,'FloatTooltip-Open'),this.ForamtPrice(data.High,yClose,defaultfloatPrecision,'FloatTooltip-High'),this.ForamtPrice(data.Low,yClose,defaultfloatPrecision,'FloatTooltip-Low'),this.ForamtPrice(data.Close,yClose,defaultfloatPrecision,'FloatTooltip-Close'),this.ForamtPrice(data.YClose,data.YClose,defaultfloatPrecision,'FloatTooltip-YClose'),this.FormatVol(data.Vol/unit,'FloatTooltip-Vol'),this.FormatAmount(data.Amount,'FloatTooltip-Amount'),this.FormatIncrease(data.Close,yClose,defaultfloatPrecision,'FloatTooltip-Increase'),this.FormatAmplitude(data.High,data.Low,yClose,defaultfloatPrecision,'FloatTooltip-Amplitude')];if(timeItem)aryText.unshift(timeItem);aryText.unshift(dateItem);if(overlayItem)aryText.unshift(overlayItem);//换手率
|
|
14135
|
-
if(
|
|
14140
|
+
if(IFrameSplitOperator.IsNumber(data.FlowCapital)){aryText.push(this.FormatExchange(data.Vol,data.FlowCapital,'FloatTooltip-Exchange'));}//持仓量 结算价
|
|
14136
14141
|
if(MARKET_SUFFIX_NAME.IsFutures(upperSymbol)){aryText.push(this.FormatPosition(data.Position,'FloatTooltip-Position'));aryText.push(this.ForamtFClose(data.FClose,defaultfloatPrecision,'FloatTooltip-FClose'));aryText.push(this.ForamtFClose(data.YFClose,defaultfloatPrecision,'FloatTooltip-YSettlePrice'));}var event=this.HQChart.GetEventCallback(JSCHART_EVENT_ID.ON_FORMAT_KLINE_FLOAT_TOOLTIP);if(event&&event.Callback){var sendData={AryText:aryText,Data:kItem,HQChart:this.HQChart};event.Callback(event,sendData,this);}return aryText;};//信息地雷
|
|
14137
14142
|
this.UpdateKLineInfoTooltip=function(data){var tooltipData=data.Tooltip;var symbol=data.Symbol;var defaultfloatPrecision=GetfloatPrecision(symbol);//价格小数位数
|
|
14138
14143
|
var aryData=tooltipData.Data.Data;var aryText=[];//输出内容
|
|
@@ -14291,7 +14296,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
14291
14296
|
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);};}/********************************************************************************
|
|
14292
14297
|
* 版本信息输出
|
|
14293
14298
|
*
|
|
14294
|
-
*/var HQCHART_VERSION="1.1.
|
|
14299
|
+
*/var HQCHART_VERSION="1.1.14366";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();//把给外界调用的方法暴露出来
|
|
14295
14300
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
14296
14301
|
// BaseIndex:BaseIndex,
|
|
14297
14302
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -543,7 +543,7 @@ function JSDialogTooltip()
|
|
|
543
543
|
|
|
544
544
|
|
|
545
545
|
//换手率
|
|
546
|
-
if (
|
|
546
|
+
if (IFrameSplitOperator.IsNumber(data.FlowCapital))
|
|
547
547
|
{
|
|
548
548
|
aryText.push(this.FormatExchange(data.Vol,data.FlowCapital,'DialogTooltip-Exchange' ));
|
|
549
549
|
}
|
|
@@ -1198,6 +1198,16 @@ function JSFloatTooltip()
|
|
|
1198
1198
|
this.ReportCellTruncateTooltip(data);
|
|
1199
1199
|
}
|
|
1200
1200
|
}
|
|
1201
|
+
else if (data.DataType==4) //T型报价
|
|
1202
|
+
{
|
|
1203
|
+
var tooltipData=data.Tooltip;
|
|
1204
|
+
if (!tooltipData) return;
|
|
1205
|
+
|
|
1206
|
+
if (tooltipData.Type==2 || tooltipData.Type==3)
|
|
1207
|
+
{
|
|
1208
|
+
this.TReportIconTooltip(data);
|
|
1209
|
+
}
|
|
1210
|
+
}
|
|
1201
1211
|
}
|
|
1202
1212
|
|
|
1203
1213
|
this.UpdateRealtimeHQTooltip=function(data)
|
|
@@ -1465,6 +1475,17 @@ function JSFloatTooltip()
|
|
|
1465
1475
|
|
|
1466
1476
|
this.ShowTooltip(data);
|
|
1467
1477
|
}
|
|
1478
|
+
|
|
1479
|
+
this.TReportIconTooltip=function(data)
|
|
1480
|
+
{
|
|
1481
|
+
var tooltipData=data.Tooltip;
|
|
1482
|
+
if (!tooltipData.Data || !IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText)) return;
|
|
1483
|
+
|
|
1484
|
+
this.AryText=tooltipData.Data.AryText;
|
|
1485
|
+
this.UpdateTableDOM();
|
|
1486
|
+
|
|
1487
|
+
this.ShowTooltip(data);
|
|
1488
|
+
}
|
|
1468
1489
|
|
|
1469
1490
|
this.UpdateTableDOM=function()
|
|
1470
1491
|
{
|
|
@@ -1558,7 +1579,7 @@ function JSFloatTooltip()
|
|
|
1558
1579
|
if (overlayItem) aryText.unshift(overlayItem);
|
|
1559
1580
|
|
|
1560
1581
|
//换手率
|
|
1561
|
-
if (
|
|
1582
|
+
if (IFrameSplitOperator.IsNumber(data.FlowCapital))
|
|
1562
1583
|
{
|
|
1563
1584
|
aryText.push(this.FormatExchange(data.Vol,data.FlowCapital,'FloatTooltip-Exchange' ));
|
|
1564
1585
|
}
|
|
@@ -57380,6 +57380,8 @@ HQData.Report_APIIndex=function(data, callback)
|
|
|
57380
57380
|
HQData.APIIndex_DRAW_SIMPLE_RADAR(data, callback);
|
|
57381
57381
|
else if (request.Data.indexname=="API_MULTI_BAR")
|
|
57382
57382
|
HQData.APIIndex_MULTI_BAR(data, callback);
|
|
57383
|
+
else if (request.Data.indexname=="API_MULTI_TEXT")
|
|
57384
|
+
HQData.APIIndex_MULTI_TEXT(data, callback);
|
|
57383
57385
|
|
|
57384
57386
|
}
|
|
57385
57387
|
|
|
@@ -58016,7 +58018,7 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
|
|
|
58016
58018
|
[
|
|
58017
58019
|
//{Date:20190916, Time: Value:15.5, Value2:0 },
|
|
58018
58020
|
],
|
|
58019
|
-
Width:
|
|
58021
|
+
Width:5
|
|
58020
58022
|
};
|
|
58021
58023
|
|
|
58022
58024
|
for(var i=0;i<kData.Data.length;++i)
|
|
@@ -58045,3 +58047,54 @@ HQData.APIIndex_MULTI_BAR=function(data, callback)
|
|
|
58045
58047
|
}
|
|
58046
58048
|
|
|
58047
58049
|
|
|
58050
|
+
HQData.APIIndex_MULTI_TEXT=function(data, callback)
|
|
58051
|
+
{
|
|
58052
|
+
data.PreventDefault=true;
|
|
58053
|
+
var hqchart=data.HQChart;
|
|
58054
|
+
var kData=hqchart.GetKData();
|
|
58055
|
+
|
|
58056
|
+
var SVGData=
|
|
58057
|
+
{
|
|
58058
|
+
name:'MULTI_TEXT', type:1,
|
|
58059
|
+
Draw:
|
|
58060
|
+
{
|
|
58061
|
+
DrawType:'MULTI_TEXT',
|
|
58062
|
+
DrawData: []
|
|
58063
|
+
} //绘制文字
|
|
58064
|
+
};
|
|
58065
|
+
|
|
58066
|
+
var ARRAY_COLOR=['rgb(255,248,220)','rgb(230,230,250)','rgb(100,149,237)','rgb(32,178,170)','rgb(152,251,152)','rgb(128,128,0)','rgb(255,165,0)','rgb(255,160,122)','rgb(205,92,92)']
|
|
58067
|
+
|
|
58068
|
+
for(var i=0;i<kData.Data.length;++i)
|
|
58069
|
+
{
|
|
58070
|
+
var item=kData.Data[i];
|
|
58071
|
+
if (i%5!=3) continue;
|
|
58072
|
+
|
|
58073
|
+
var colorIndex=Math.ceil(Math.random()*ARRAY_COLOR.length-1);
|
|
58074
|
+
var drawItem=
|
|
58075
|
+
{
|
|
58076
|
+
Date:item.Date, Time:item.Time, Value:"H", Text:`最高:${item.High.toFixed(2)}`,Color:ARRAY_COLOR[colorIndex], Baseline:2, YMove:-2
|
|
58077
|
+
};
|
|
58078
|
+
|
|
58079
|
+
var colorIndex=Math.ceil(Math.random()*ARRAY_COLOR.length-1);
|
|
58080
|
+
var drawItem2=
|
|
58081
|
+
{
|
|
58082
|
+
Date:item.Date, Time:item.Time, Value:item.Low, Text:`最低:${item.Low.toFixed(2)}`,Color:ARRAY_COLOR[colorIndex], Baseline:1, YMove:2
|
|
58083
|
+
};
|
|
58084
|
+
|
|
58085
|
+
SVGData.Draw.DrawData.push(drawItem);
|
|
58086
|
+
SVGData.Draw.DrawData.push(drawItem2);
|
|
58087
|
+
}
|
|
58088
|
+
|
|
58089
|
+
var apiData=
|
|
58090
|
+
{
|
|
58091
|
+
code:0,
|
|
58092
|
+
stock:{ name:hqchart.Name, symbol:hqchart.Symbol },
|
|
58093
|
+
outdata: { date:kData.GetDate(), time:kData.GetTime(), outvar:[SVGData] }
|
|
58094
|
+
};
|
|
58095
|
+
|
|
58096
|
+
console.log('[HQData.APIIndex_MULTI_TEXT] apiData ', apiData);
|
|
58097
|
+
callback(apiData);
|
|
58098
|
+
}
|
|
58099
|
+
|
|
58100
|
+
|