hqchart 1.1.14905 → 1.1.14910
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 +28 -17
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogTooltip.js +18 -1
- package/src/jscommon/umychart.PopKLineChart.js +96 -0
- package/src/jscommon/umychart.complier.js +2 -0
- package/src/jscommon/umychart.js +101 -1
- package/src/jscommon/umychart.report.js +18 -6
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +122 -8
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +236 -9
package/lib/umychart.vue.js
CHANGED
|
@@ -4606,12 +4606,14 @@ return this.PtInBar(x,y,{BarWidth:barWidth});};this.DrawBars=function(lineWidth,
|
|
|
4606
4606
|
if(isHSCreen){this.Canvas.moveTo(yBottom,ToFixedPoint(x));this.Canvas.lineTo(y,ToFixedPoint(x));}else{this.Canvas.moveTo(xFix,yBottom);this.Canvas.lineTo(xFix,y);}++drawCount;}if(drawCount>0)this.Canvas.stroke();};this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(this.NotSupportMessage){this.DrawNotSupportmessage();return;}var dataWidth=this.ChartFrame.DataWidth;var lineWidth=this.LineWidth*GetDevicePixelRatio();if(this.LineWidth==50)lineWidth=dataWidth;else if(lineWidth>dataWidth)lineWidth=dataWidth;var backupLineWidth=this.Canvas.lineWidth;this.Canvas.lineWidth=lineWidth;//上下分开画
|
|
4607
4607
|
this.DrawBars(lineWidth,true);this.DrawBars(lineWidth,false);this.Canvas.lineWidth=backupLineWidth;};this.GetItemData=function(indexData){if(!indexData)return null;if(!IFrameSplitOperator.IsNumber(indexData.Index))return null;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;var index=indexData.Index;if(index<0||index>=this.Data.Data.length)return null;var item=this.Data.Data[index];return[{Value:item,Color:item>0?this.UpColor:this.DownColor,Name:this.Name}];};}//基准线上下柱子
|
|
4608
4608
|
function ChartBaseLineBar(){this.newMethod=IChartPainting;//派生
|
|
4609
|
-
this.newMethod();delete this.newMethod;this.ClassName="ChartBaseLineBar";this.UpColor=g_JSChartResource.ChartBaseLineBar.UpColor;this.DownColor=g_JSChartResource.ChartBaseLineBar.DownColor;this.LineWidth=1;this.
|
|
4609
|
+
this.newMethod();delete this.newMethod;this.ClassName="ChartBaseLineBar";this.UpColor=g_JSChartResource.ChartBaseLineBar.UpColor;this.DownColor=g_JSChartResource.ChartBaseLineBar.DownColor;this.LineWidth=1;this.Style=0;//0=坐标使用主图坐标 1=独立坐标
|
|
4610
|
+
this.IsDrawFirst=true;this.AryData=[];//{ Date, Time, Up, Down }
|
|
4610
4611
|
this.DefaultMax;//默认最大值
|
|
4611
4612
|
this.MaxValue;this.YBaseLine;this.BarMaxHeight;//{ Up:, Down: }
|
|
4612
|
-
this.Draw=function(){this.YBaseLine=null;this.BarMaxHeight=null;if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!this.HQChart)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;if(!IFrameSplitOperator.IsNumber(this.MaxValue))return;this.CalculateBaseLine();if(!IFrameSplitOperator.IsNumber(this.YBaseLine))return;if(!IFrameSplitOperator.IsPlusNumber(this.BarMaxHeight))return;var bHScreen=this.ChartFrame.IsHScreen===true;var bMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;var border=this.ChartFrame.GetBorder();if(bHScreen){var chartright=border.BottomEx;var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;}else{var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}var yCenter=this.YBaseLine;var aryUpBar=[],aryDownBar=[];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 item=this.MapCache.get(key);if(bMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}if(IFrameSplitOperator.IsNumber(item.Up)){var value=Math.abs(item.Up)*this.BarMaxHeight/this.MaxValue;if(value<1.5)value=1.5;//太短了 就直接画2个像素高度
|
|
4613
|
+
this.DrawStyle2=function(){var bHScreen=this.ChartFrame.IsHScreen===true;var bMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;var border=this.ChartFrame.GetBorder();if(bHScreen){var chartright=border.BottomEx;var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;}else{var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}this.Canvas.save();this.ClipClient(bHScreen);this.YBaseLine=this.ChartFrame.GetYFromData(0,false);var aryUpBar=[],aryDownBar=[];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 item=this.MapCache.get(key);if(bMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}if(IFrameSplitOperator.IsNumber(item.Up)){var value=Math.abs(item.Up);var y=this.ChartFrame.GetYFromData(value,false);aryUpBar.push({X:x,Y:y});}if(IFrameSplitOperator.IsNumber(item.Down)){var value=Math.abs(item.Down)*-1;var y=this.ChartFrame.GetYFromData(value,false);aryDownBar.push({X:x,Y:y});}}this.DrawBars(aryUpBar,this.UpColor);this.DrawBars(aryDownBar,this.DownColor);this.Canvas.restore();};this.Draw=function(){this.YBaseLine=null;this.BarMaxHeight=null;if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!this.HQChart)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;if(!IFrameSplitOperator.IsNumber(this.MaxValue))return;if(this.Style==1){this.DrawStyle2();return;}this.CalculateBaseLine();if(!IFrameSplitOperator.IsNumber(this.YBaseLine))return;if(!IFrameSplitOperator.IsPlusNumber(this.BarMaxHeight))return;var bHScreen=this.ChartFrame.IsHScreen===true;var bMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;var border=this.ChartFrame.GetBorder();if(bHScreen){var chartright=border.BottomEx;var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;}else{var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}var yCenter=this.YBaseLine;var aryUpBar=[],aryDownBar=[];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 item=this.MapCache.get(key);if(bMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}if(IFrameSplitOperator.IsNumber(item.Up)){var value=Math.abs(item.Up)*this.BarMaxHeight/this.MaxValue;if(value<1.5)value=1.5;//太短了 就直接画2个像素高度
|
|
4613
4614
|
var y=yCenter-value;aryUpBar.push({X:x,Y:y});}if(IFrameSplitOperator.IsNumber(item.Down)){var value=Math.abs(item.Down)*this.BarMaxHeight/this.MaxValue;if(value<1.5)value=1.5;var y=yCenter+value;aryDownBar.push({X:x,Y:y});}}this.DrawBars(aryUpBar,this.UpColor);this.DrawBars(aryDownBar,this.DownColor);};this.CalculateBaseLine=function(){if(!this.HQChart)return;var bHScreen=this.ChartFrame.IsHScreen===true;var bMinute=this.IsMinuteFrame();var border=this.ChartFrame.GetBorder();if(bMinute){var chart=this.HQChart.ChartPaint[0];if(!chart||!IFrameSplitOperator.IsNumber(chart.YClose))return;this.YBaseLine=this.ChartFrame.GetYFromData(chart.YClose);if(bHScreen){this.BarMaxHeight=(border.RightEx-this.YBaseLine)/3;}else{this.BarMaxHeight=(this.YBaseLine-border.TopEx)/3;}}else{//TODO:K线
|
|
4614
|
-
}};this.DrawBars=function(aryBar,barColor){var bHScreen=this.ChartFrame.IsHScreen===true;var yCenter=this.YBaseLine;this.Canvas.strokeStyle=barColor;this.Canvas.beginPath();var barCount=0;for(var i=0;i<aryBar.length;++i){var item=aryBar[i];var x=ToFixedPoint(item.X);if(bHScreen){this.Canvas.moveTo(yCenter,x);this.Canvas.lineTo(item.Y,x);}else{this.Canvas.moveTo(x,yCenter);this.Canvas.lineTo(x,item.Y);}++barCount;}if(barCount>0)this.Canvas.stroke();};this.BuildCacheData=function(){this.MaxValue=null;var mapData=new _map2.default();this.MapCache=mapData;if(!IFrameSplitOperator.IsNonEmptyArray(this.AryData))return;var max=null,min=null;for(var i=0;i<this.AryData.length;++i){var item=this.AryData[i];if(!item)continue;var key=this.BuildKey(item);mapData.set(key,item);if(IFrameSplitOperator.IsNumber(item.Up)){if(!max)max={Value:item.Up};else if(max.Value<item.Up)max.Value=item.Up;if(!min)min={Value:item.Up};else if(min.Value>item.Up)min.Value=item.Up;}if(IFrameSplitOperator.IsNumber(item.Down)){if(!max)max={Value:item.Down};else if(max.Value<item.Down)max.Value=item.Down;if(!min)min={Value:item.Down};else if(min.Value>item.Down)min.Value=item.Down;}}if(max&&min){this.MaxValue=Math.max(Math.abs(max.Value),Math.abs(min.Value));if(IFrameSplitOperator.IsNumber(this.DefaultMax))this.MaxValue=Math.max(this.DefaultMax,this.MaxValue);}};this.GetMaxMin=function(){
|
|
4615
|
+
}};this.DrawBars=function(aryBar,barColor){var bHScreen=this.ChartFrame.IsHScreen===true;var yCenter=this.YBaseLine;this.Canvas.strokeStyle=barColor;this.Canvas.beginPath();var barCount=0;for(var i=0;i<aryBar.length;++i){var item=aryBar[i];var x=ToFixedPoint(item.X);if(bHScreen){this.Canvas.moveTo(yCenter,x);this.Canvas.lineTo(item.Y,x);}else{this.Canvas.moveTo(x,yCenter);this.Canvas.lineTo(x,item.Y);}++barCount;}if(barCount>0)this.Canvas.stroke();};this.BuildCacheData=function(){this.MaxValue=null;var mapData=new _map2.default();this.MapCache=mapData;if(!IFrameSplitOperator.IsNonEmptyArray(this.AryData))return;var max=null,min=null;for(var i=0;i<this.AryData.length;++i){var item=this.AryData[i];if(!item)continue;var key=this.BuildKey(item);mapData.set(key,item);if(IFrameSplitOperator.IsNumber(item.Up)){if(!max)max={Value:item.Up};else if(max.Value<item.Up)max.Value=item.Up;if(!min)min={Value:item.Up};else if(min.Value>item.Up)min.Value=item.Up;}if(IFrameSplitOperator.IsNumber(item.Down)){if(!max)max={Value:item.Down};else if(max.Value<item.Down)max.Value=item.Down;if(!min)min={Value:item.Down};else if(min.Value>item.Down)min.Value=item.Down;}}if(max&&min){this.MaxValue=Math.max(Math.abs(max.Value),Math.abs(min.Value));if(IFrameSplitOperator.IsNumber(this.DefaultMax))this.MaxValue=Math.max(this.DefaultMax,this.MaxValue);}};this.GetMaxMin=function(){var range={Min:null,Max:null};if(this.Style==1)//独立坐标
|
|
4616
|
+
{if(IFrameSplitOperator.IsNumber(this.DefaultMax))range.Max=this.DefaultMax;range.Min=0;var xPointCount=this.ChartFrame.XPointCount;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j){var kItem=this.Data.Data[i];if(!kItem)continue;var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var item=this.MapCache.get(key);var value=Math.abs(item.Up);if(range.Max==null||range.Max<value)range.Max=value;var value=Math.abs(item.Down)*-1;if(range.Min>value)range.Min=value;}}return range;};}function ChartClipColorStick(){this.newMethod=IChartPainting;//派生
|
|
4615
4617
|
this.newMethod();delete this.newMethod;this.ClassName="ChartClipColorStick";this.UpColor=g_JSChartResource.UpBarColor;this.DownColor=g_JSChartResource.DownBarColor;this.LineWidth=1;this.Style=0;//1=同方向 0=上下两个方向
|
|
4616
4618
|
//差值线
|
|
4617
4619
|
this.DownDiffColor=g_JSChartResource.DownBarColor;this.UpDiffColor=g_JSChartResource.UpBarColor;//文字
|
|
@@ -12457,7 +12459,7 @@ chart.Family=varItem.Draw.DrawData.Family;chart.AryIcon=varItem.Draw.DrawData.Ic
|
|
|
12457
12459
|
chart.Texts=varItem.Draw.DrawData;chart.DrawCallback=varItem.Draw.Callback;hqChart.ChartPaint.push(chart);};this.CreateStackedBar=function(hqChart,windowIndex,varItem,i){var chart=new ChartStackedBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data.Data=varItem.Draw.DrawData;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.BarColor))chart.BarColor=varItem.Draw.BarColor;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.BarName))chart.BarName=varItem.Draw.BarName;if(IFrameSplitOperator.IsNumber(varItem.Draw.LineWidth))chart.LineWidth=varItem.Draw.LineWidth;if(IFrameSplitOperator.IsNumber(varItem.Draw.BarType))chart.BarType=varItem.Draw.BarType;hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);titleData.DataType="ChartStackedBar";hqChart.TitlePaint[titleIndex].Data[i]=titleData;};this.CreateKLineTable=function(hqChart,windowIndex,varItem,i){var chart=new ChartKLineTable();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data=hqChart.GetKData();//绑定K线
|
|
12458
12460
|
chart.AryTableData=varItem.Draw.DrawData;if(IFrameSplitOperator.IsNumber(varItem.Draw.RowCount))chart.RowCount=varItem.Draw.RowCount;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName))chart.RowName=varItem.Draw.RowName;var config=varItem.Draw.Config;if(config){if(config.BGColor)chart.BGColor=config.BGColor;if(config.TextColor)chart.TextColor=config.TextColor;if(config.BorderColor)chart.BorderColor=config.BorderColor;if(IFrameSplitOperator.IsNumber(config.RowNamePosition))chart.RowNamePosition=config.RowNamePosition;if(IFrameSplitOperator.IsNumber(config.RowHeightType))chart.RowHeightType=config.RowHeightType;if(config.ItemMergin){var subItem=config.ItemMergin;if(IFrameSplitOperator.IsNumber(subItem.Left))chart.ItemMergin.Left=subItem.Left;if(IFrameSplitOperator.IsNumber(subItem.Top))chart.ItemMergin.Top=subItem.Top;if(IFrameSplitOperator.IsNumber(subItem.Bottom))chart.ItemMergin.Bottom=subItem.Bottom;if(IFrameSplitOperator.IsNumber(subItem.Right))chart.ItemMergin.Right=subItem.Right;if(IFrameSplitOperator.IsNumber(subItem.YOffset))chart.ItemMergin.YOffset=subItem.YOffset;}if(config.TextFont){var subItem=config.TextFont;if(IFrameSplitOperator.IsNumber(subItem.FontMaxSize))chart.TextFontConfig.FontMaxSize=subItem.FontMaxSize;if(subItem.Family)chart.TextFontConfig.Family=subItem.Family;}}chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);titleData.DataType="ChartKLineTable";hqChart.TitlePaint[titleIndex].Data[i]=titleData;};this.CreateScatterPlot=function(hqChart,windowIndex,varItem,i){var chart=new ChartScatterPlot();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data.Data=varItem.Draw.DrawData;chart.Color=varItem.Draw.Color;chart.Radius=varItem.Draw.Radius;hqChart.ChartPaint.push(chart);};this.CreateScatterPlotV2=function(hqChart,windowIndex,varItem,i){var chart=new ChartScatterPlotV2();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data=hqChart.GetKData();//绑定K线
|
|
12459
12461
|
chart.AryPoint=varItem.Draw.DrawData;var config=varItem.Draw.Config;if(config){if(config.Color)chart.Color=config.Color;if(IFrameSplitOperator.IsNumber(config.Radius))chart.Radius=config.Radius;if(config.TextColor)chart.TextColor=config.TextColor;if(config.Font)chart.Font=config.Font;}chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,id){var chart=new ChartBaseLineBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data=hqChart.GetKData();//绑定K线
|
|
12460
|
-
chart.AryData=varItem.Draw.DrawData;var config=varItem.Draw.Config;if(config){if(config.UpColor)chart.UpColor=config.UpColor;if(config.DownColor)chart.DownColor=config.DownColor;if(IFrameSplitOperator.IsNumber(config.DefaultMax))chart.DefaultMax=config.DefaultMax;}chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateClipColorStick=function(hqChart,windowIndex,varItem,id){var chart=new ChartClipColorStick();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data.Data=varItem.Draw.DrawData;if(varItem.Option&&chart.SetOption)chart.SetOption(varItem.Option);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;if(varItem.IsShowTitle===false){}else{var clrTitle=this.GetDefaultColor(id);if(varItem.Option&&varItem.Option.TitleColor)clrTitle=this.GetColor(varItem.Option.TitleColor);hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(chart.Data,varItem.Name,clrTitle);}};this.CreateColorKLine=function(hqChart,windowIndex,varItem,i){var chart=new ChartColorKline();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
12462
|
+
chart.AryData=varItem.Draw.DrawData;var config=varItem.Draw.Config;if(config){if(config.UpColor)chart.UpColor=config.UpColor;if(config.DownColor)chart.DownColor=config.DownColor;if(IFrameSplitOperator.IsNumber(config.DefaultMax))chart.DefaultMax=config.DefaultMax;if(IFrameSplitOperator.IsNumber(config.Style))chart.Style=config.Style;}chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateClipColorStick=function(hqChart,windowIndex,varItem,id){var chart=new ChartClipColorStick();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.HQChart=hqChart;chart.Identify=this.Guid;chart.Data.Data=varItem.Draw.DrawData;if(varItem.Option&&chart.SetOption)chart.SetOption(varItem.Option);hqChart.ChartPaint.push(chart);var titleIndex=windowIndex+1;if(varItem.IsShowTitle===false){}else{var clrTitle=this.GetDefaultColor(id);if(varItem.Option&&varItem.Option.TitleColor)clrTitle=this.GetColor(varItem.Option.TitleColor);hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(chart.Data,varItem.Name,clrTitle);}};this.CreateColorKLine=function(hqChart,windowIndex,varItem,i){var chart=new ChartColorKline();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
12461
12463
|
chart.KLineColor=varItem.Draw.DrawData.KLine;if(varItem.Color)chart.Color=varItem.Color;hqChart.ChartPaint.push(chart);};this.CreateRectangle=function(hqChart,windowIndex,varItem,i){var chart=new ChartRectangle();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Color=[varItem.Draw.DrawData.Color];chart.Rect=varItem.Draw.DrawData.Rect;if(varItem.Color)chart.BorderColor=this.GetColor(varItem.Color);hqChart.ChartPaint.push(chart);};this.CreateScriptOverlayLine=function(hqChart,windowIndex,varItem,i){var chart=new ChartOverlayLine();chart.Canvas=hqChart.Canvas;chart.DrawType=1;chart.Name=varItem.Name;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;if(varItem.Color)chart.Color=this.GetColor(varItem.Color);else chart.Color=this.GetDefaultColor(i);if(varItem.LineWidth){var width=parseInt(varItem.LineWidth.replace("LINETHICK",""));if(!isNaN(width)&&width>0)chart.LineWidth=width;}if(varItem.IsDotLine)chart.IsDotLine=true;//虚线
|
|
12462
12464
|
if(varItem.IsShow==false)chart.IsShow=false;var titleIndex=windowIndex+1;chart.Data.Data=varItem.Draw.DrawData.Data;chart.MainData.Data=varItem.Draw.DrawData.MainData;if(varItem.Draw.DrawData.Title)hqChart.TitlePaint[titleIndex].Data[i]=new DynamicTitleData(chart.Data,varItem.Draw.DrawData.Title,chart.Color);hqChart.ChartPaint.push(chart);};//创建K线
|
|
12463
12465
|
this.CreateSelfKLine=function(hqChart,windowIndex,hisData){var chart=new ChartKLine();chart.Canvas=hqChart.Canvas;chart.Name="Self Kline";chart.Identify=this.Guid;chart.ChartBorder=hqChart.Frame.SubFrame[windowIndex].Frame.ChartBorder;chart.ChartFrame=hqChart.Frame.SubFrame[windowIndex].Frame;chart.Data=hisData;chart.IsShowMaxMinPrice=false;chart.IsShowKTooltip=false;chart.DrawType=this.KLineType;hqChart.ChartPaint.push(chart);};this.BindInstructionData=function(hqChart,windowIndex,hisData)//绑定指示指标
|
|
@@ -12571,7 +12573,7 @@ this.CreateIcon=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.O
|
|
|
12571
12573
|
//hqChart.TitlePaint[titleIndex].Data[id]=new DynamicTitleData(bar.Data,varItem.Name,bar.Color);
|
|
12572
12574
|
this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateTipIcon=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartDrawSVG();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();chart.Family=varItem.Draw.Icon.Family;chart.TextFont=g_JSChartResource.TIPICON.TextFont;var svgSize=g_JSChartResource.TIPICON.Size;var svgColor=g_JSChartResource.TIPICON.Color;var svgYOffset=0;var svgVAlign=2;//上下对齐方式
|
|
12573
12575
|
if(IFrameSplitOperator.IsNumber(varItem.YOffset))svgYOffset=varItem.YOffset;if(varItem.Color)svgColor=this.GetColor(varItem.Color);if(varItem.DrawFontSize>0)svgSize=varItem.DrawFontSize;if(varItem.DrawVAlign>=0)svgVAlign=varItem.DrawVAlign;if(varItem.Draw&&IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.DrawData)&&varItem.Draw.Icon){var drawData=varItem.Draw.DrawData;var aryData=[];var isArrayTip=Array.isArray(varItem.Draw.Text);var singleTip=null;if(!isArrayTip&&varItem.Draw.Text)singleTip={Text:varItem.Draw.Text};for(var j=0;j<drawData.length;++j){var item=drawData[j];var kItem=chart.Data.Data[j];if(!IFrameSplitOperator.IsNumber(item))continue;var svgItem={Value:item,Date:kItem.Date,Time:kItem.Time,SVG:{Symbol:varItem.Draw.Icon.Symbol,Size:svgSize,Color:svgColor,YOffset:svgYOffset,VAlign:svgVAlign}};if(isArrayTip){var text=varItem.Draw.Text[j];if(text)svgItem.Tooltip={Text:text};}else{svgItem.Tooltip=singleTip;}aryData.push(svgItem);}chart.Texts=aryData;}chart.BuildCacheData();this.SetChartIndexName(chart);frame.ChartPaint.push(chart);};this.CreateBaseLineBar=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartBaseLineBar();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.HQChart=hqChart;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();//绑定K线
|
|
12574
|
-
chart.AryData=varItem.Draw.DrawData;var config=varItem.Draw.Config;if(config){if(config.UpColor)chart.UpColor=config.UpColor;if(config.DownColor)chart.DownColor=config.DownColor;if(IFrameSplitOperator.IsNumber(config.DefaultMax))chart.DefaultMax=config.DefaultMax;}chart.BuildCacheData();frame.ChartPaint.push(chart);};this.CreateKLineTable=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartKLineTable();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.HQChart=hqChart;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();//绑定K线
|
|
12576
|
+
chart.AryData=varItem.Draw.DrawData;var config=varItem.Draw.Config;if(config){if(config.UpColor)chart.UpColor=config.UpColor;if(config.DownColor)chart.DownColor=config.DownColor;if(IFrameSplitOperator.IsNumber(config.DefaultMax))chart.DefaultMax=config.DefaultMax;if(IFrameSplitOperator.IsNumber(config.Style))chart.Style=config.Style;}chart.BuildCacheData();frame.ChartPaint.push(chart);};this.CreateKLineTable=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartKLineTable();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.HQChart=hqChart;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;chart.Data=hqChart.GetKData();//绑定K线
|
|
12575
12577
|
chart.AryTableData=varItem.Draw.DrawData;if(IFrameSplitOperator.IsNumber(varItem.Draw.RowCount))chart.RowCount=varItem.Draw.RowCount;if(IFrameSplitOperator.IsNonEmptyArray(varItem.Draw.RowName))chart.RowName=varItem.Draw.RowName;var config=varItem.Draw.Config;if(config){if(config.BGColor)chart.BGColor=config.BGColor;if(config.TextColor)chart.TextColor=config.TextColor;if(config.BorderColor)chart.BorderColor=config.BorderColor;if(IFrameSplitOperator.IsNumber(config.RowNamePosition))chart.RowNamePosition=config.RowNamePosition;if(IFrameSplitOperator.IsNumber(config.RowHeightType))chart.RowHeightType=config.RowHeightType;if(IFrameSplitOperator.IsNumber(config.Style))chart.Style=config.Style;if(config.ItemMergin){var subItem=config.ItemMergin;if(IFrameSplitOperator.IsNumber(subItem.Left))chart.ItemMergin.Left=subItem.Left;if(IFrameSplitOperator.IsNumber(subItem.Top))chart.ItemMergin.Top=subItem.Top;if(IFrameSplitOperator.IsNumber(subItem.Bottom))chart.ItemMergin.Bottom=subItem.Bottom;if(IFrameSplitOperator.IsNumber(subItem.Right))chart.ItemMergin.Right=subItem.Right;if(IFrameSplitOperator.IsNumber(subItem.YOffset))chart.ItemMergin.YOffset=subItem.YOffset;}if(config.TextFont){var subItem=config.TextFont;if(IFrameSplitOperator.IsNumber(subItem.FontMaxSize))chart.TextFontConfig.FontMaxSize=subItem.FontMaxSize;if(subItem.Family)chart.TextFontConfig.Family=subItem.Family;}}chart.BuildCacheData();frame.ChartPaint.push(chart);var titleIndex=windowIndex+1;var titlePaint=hqChart.TitlePaint[titleIndex];var titleData=new DynamicTitleData(chart.Data,chart.BarName,chart.BarColor);titleData.DataType="ChartKLineTable";titlePaint.OverlayIndex.get(overlayIndex.Identify).Data[id]=titleData;};//创建通道
|
|
12576
12578
|
this.CreateChannel=function(hqChart,windowIndex,varItem,id){var overlayIndex=this.OverlayIndex;var frame=overlayIndex.Frame;var chart=new ChartChannel();chart.Canvas=hqChart.Canvas;chart.Name=varItem.Name;chart.ChartBorder=frame.Frame.ChartBorder;chart.ChartFrame=frame.Frame;chart.Identify=overlayIndex.Identify;if(varItem.Draw.AreaColor)chart.AreaColor=varItem.Draw.AreaColor;else if(varItem.Color)chart.AreaColor=this.GetColor(varItem.Color);else chart.AreaColor=this.GetDefaultColor(id);if(varItem.Draw.Border.Color)chart.LineColor=varItem.Draw.Border.Color;else chart.LineColor=null;if(varItem.Draw.Border.Dotted)chart.LineDotted=varItem.Draw.Border.Dotted;if(varItem.Draw.Border.Width>0)chart.LineWidth=varItem.Draw.Border.Width;//let titleIndex=windowIndex+1;
|
|
12577
12579
|
chart.Data.Data=varItem.Draw.DrawData;frame.ChartPaint.push(chart);};//
|
|
@@ -13713,7 +13715,7 @@ this.AryFullSelectedRow=[];//选中行
|
|
|
13713
13715
|
// Icon:{ Family:"iconfont", Size:12, Symbol:"", Margin: { Left:, Bottom }}
|
|
13714
13716
|
//}
|
|
13715
13717
|
this.Column=[{Type:REPORT_COLUMN_ID.INDEX_ID,Title:"序号",TextAlign:"center",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Index,MaxText:"8888"},{Type:REPORT_COLUMN_ID.SYMBOL_ID,Title:"代码",TextAlign:"left",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Symbol,MaxText:"888888"},{Type:REPORT_COLUMN_ID.NAME_ID,Title:"名称",TextAlign:"left",Width:null,TextColor:g_JSChartResource.Report.FieldColor.Name,MaxText:"擎擎擎擎"},{Type:REPORT_COLUMN_ID.INCREASE_ID,Title:"涨幅%",TextAlign:"right",Width:null,MaxText:"-888.88"}];this.RectClient={};//{ Rect:rtItem, Stock:stock, Index:index, Column:column, RowType:rowType, Type:drawInfo.Tooltip.Type, Data:{ AryText:[ {Text:xx} ]} };
|
|
13716
|
-
//Type:1=数据截断 2=表头提示信息 20=分时图
|
|
13718
|
+
//Type:1=数据截断 2=表头提示信息 4=提示信息 20=分时图 21=K线
|
|
13717
13719
|
// { Text, Color, Title:, TitleColor, Space, Margin:{ Left, Top, Right, Bottom }}
|
|
13718
13720
|
this.TooltipRect=[];//{ Rect:rtItem, Type: 0=checkedbox, 1=button, 2=link , Stock, Index:index, Column:column }
|
|
13719
13721
|
this.ButtonRect=[];this.LastMouseStatus;this.ReloadResource=function(resource){this.DevicePixelRatio=GetDevicePixelRatio();this.UpColor=g_JSChartResource.Report.UpTextColor;this.DownColor=g_JSChartResource.Report.DownTextColor;this.UnchagneColor=g_JSChartResource.Report.UnchagneTextColor;this.BorderColor=g_JSChartResource.Report.BorderColor;//边框线
|
|
@@ -13797,12 +13799,12 @@ if(stock){this.DrawLimitPriceBorder(stock.High,stock,left,top,column.Width);this
|
|
|
13797
13799
|
if(stock){this.DrawLimitPriceBorder(stock.Low,stock,left,top,column.Width);this.GetPriceDrawInfo(stock.Low,stock,data,drawInfo,{LimitBG:true});}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.YCLOSE_ID){if(stock)this.GetPriceDrawInfo(stock.YClose,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.BUY_PRICE_ID){if(stock)this.GetPriceDrawInfo(stock.BuyPrice,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.FUTURES_CLOSE_ID||column.Type==REPORT_COLUMN_ID.FUTURES_YCLOSE_ID){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(stock&&IFrameSplitOperator.IsNumber(stock[fieldName])){var value=stock[fieldName];this.GetPriceDrawInfo(value,stock,data,drawInfo);}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.SELL_PRICE_ID){if(stock)this.GetPriceDrawInfo(stock.SellPrice,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.AVERAGE_PRICE_ID){if(stock)this.GetPriceDrawInfo(stock.AvPrice,stock,data,drawInfo);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.EXCHANGE_RATE_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.Exchange))drawInfo.Text=stock.Exchange.toFixed(2);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.BUY_VOL_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.BuyVol))drawInfo.Text=this.FormatVolString(stock.BuyVol);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.SELL_VOL_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.SellVol))drawInfo.Text=this.FormatVolString(stock.SellVol);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.VOL_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.Vol))drawInfo.Text=this.FormatVolString(stock.Vol);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.VOL_IN_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.VolIn))drawInfo.Text=this.FormatVolString(stock.VolIn);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.VOL_OUT_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.VolOut))drawInfo.Text=this.FormatVolString(stock.VolOut);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.TOTAL_SHARES_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.TotalShares))drawInfo.Text=this.FormatVolString(stock.TotalShares);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.OUTSTANDING_SHARES_ID){if(stock&&IFrameSplitOperator.IsNumber(stock.OutShares))drawInfo.Text=this.FormatVolString(stock.OutShares);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.CIRC_MARKET_VALUE_ID||column.Type==REPORT_COLUMN_ID.MARKET_VALUE_ID||column.Type==REPORT_COLUMN_ID.AMOUNT_ID){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(stock&&IFrameSplitOperator.IsNumber(stock[fieldName]))drawInfo.Text=this.FormatVolString(stock[fieldName]);this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.INCREASE_ID||column.Type==REPORT_COLUMN_ID.AMPLITUDE_ID||column.Type==REPORT_COLUMN_ID.UPDOWN_ID||column.Type==REPORT_COLUMN_ID.RISING_SPEED_1M_ID||column.Type==REPORT_COLUMN_ID.RISING_SPEED_3M_ID||column.Type==REPORT_COLUMN_ID.RISING_SPEED_5M_ID||column.Type==REPORT_COLUMN_ID.RISING_SPEED_10M_ID||column.Type==REPORT_COLUMN_ID.RISING_SPEED_15M_ID){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(stock&&IFrameSplitOperator.IsNumber(stock[fieldName])){var value=stock[fieldName];drawInfo.Text=value.toFixed(2);drawInfo.TextColor=this.GetUpDownColor(value,0);}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.FUTURES_POSITION_ID||column.Type==REPORT_COLUMN_ID.FUTURES_OPEN_POSITION_ID||column.Type==REPORT_COLUMN_ID.FUTURES_CLOSE_POSITION_ID){//持仓量原始值输出
|
|
13798
13800
|
var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(stock&&IFrameSplitOperator.IsNumber(stock[fieldName])){var value=stock[fieldName];drawInfo.Text=value.toFixed(0);}this.FormatDrawInfo(column,stock,drawInfo,data);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID){this.GetCustomStringDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_NUMBER_TEXT_ID){this.GetCustomNumberDrawInfo(data,column,drawInfo);this.FormatDrawInfoEvent(stock,data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_DATETIME_TEXT_ID){this.GetCustomDateTimeDrawInfo(data,column,drawInfo);this.FormatDrawInfoEvent(stock,data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_ICON_ID){this.GetCustomIconDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CLOSE_LINE_ID){var rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;if(stock)this.DrawLine(stock.CloseLine,column,rtItem);}else if(column.Type==REPORT_COLUMN_ID.KLINE_ID){var rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;this.DrawKLine(stock.KLine,column,rtItem,data);}else if(column.Type==REPORT_COLUMN_ID.TIME_ID){this.FormaTimeDrawInfo(column,stock,drawInfo,data);this.FormatDrawInfoEvent(stock,data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.DATE_ID){this.FormaDateDrawInfo(column,stock,drawInfo,data);this.FormatDrawInfoEvent(stock,data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CHECKBOX_ID){rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;drawInfo.Rect=rtItem;drawInfo.Checked=false;drawInfo.Enable=true;drawInfo.CheckBox=this.CheckBoxConfig;drawInfo.Data=stock;if(stock&&IFrameSplitOperator.IsBool(stock.Checked))drawInfo.Checked=stock.Checked;}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID){rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;drawInfo.Rect=rtItem;this.GetCustomCheckBoxDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_BUTTON_ID){rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;drawInfo.Rect=rtItem;this.GetCustomButtonDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_PROGRESS_ID){rtItem={Left:left,Top:top,Width:column.Width,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;drawInfo.Rect=rtItem;this.GetCustomProgressBarDrawInfo(data,column,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_LINK_ID){this.GetCustomLinkDrawInfo(data,column,drawInfo);}else if(this.IsReserveNumber(column.Type)){this.FormatReserveNumber(column,stock,drawInfo);this.FormatDrawInfoEvent(stock,data,column,drawInfo);}else if(this.IsReserveString(column.Type)){this.FormatReserveString(column,stock,drawInfo);this.FormatDrawInfoEvent(stock,data,column,drawInfo);}else if(this.IsReserveDateTime(column.Type)){this.FormatReserveDateTime(column,stock,drawInfo);this.FormatDrawInfoEvent(stock,data,column,drawInfo);}else if(this.IsReserveProgressBarColumn(column.Type)){this.FormatReserveProgressBar(column,stock,drawInfo);}else if(this.IsReserveButtonColumn(column.Type)){this.FormatReserveButton(column,stock,drawInfo);}else if(column.Type==REPORT_COLUMN_ID.MULTI_LINE_CONTAINER){if(IFrameSplitOperator.IsNonEmptyArray(column.AryField)){var yBottom=rtItem.Bottom-this.ItemMergin.Bottom-(column.AryField.length-1)*this.ItemFontHeight;var rtText={Left:left+this.ItemMergin.Left,Width:textWidth,Height:this.ItemFontHeight,Bottom:yBottom};rtText.Right=rtText.Left+rtText.Width;rtText.Top=rtText.Bottom-rtText.Height;for(var k=0;k<column.AryField.length;++k){drawInfo.Text=null;var subItem=column.AryField[k];this.BuildSubCellTextData(subItem,column,stock,drawInfo,data);this.DrawSubCellText(drawInfo,column,rtText);rtText.Bottom+=this.ItemFontHeight;rtText.Top+=this.ItemFontHeight;}}}//拖拽行颜色
|
|
13799
13801
|
if(rowType==3)drawInfo.TextColor=this.DragRowTextColor;if(drawInfo.Symbol){this.DrawItemTextEx(drawInfo,x,top,textWidth);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_ICON_ID){this.DrawIconItem(drawInfo,x,top,textWidth);}else if(column.Type==REPORT_COLUMN_ID.CHECKBOX_ID||column.Type==REPORT_COLUMN_ID.CUSTOM_CHECKBOX_ID){this.DrawCheckbox(drawInfo,left,top,itemWidth);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_BUTTON_ID||this.IsReserveButtonColumn(column.Type)){this.DrawButton(drawInfo,left,top,itemWidth);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_PROGRESS_ID||this.IsReserveProgressBarColumn(column.Type)){this.DrawProgressBar(drawInfo,left,top,itemWidth);}else if(column.Type==REPORT_COLUMN_ID.CUSTOM_LINK_ID){this.DrawLinkText(drawInfo,x,top,textWidth);}else if(column.Type==REPORT_COLUMN_ID.MULTI_LINE_CONTAINER){}else{if(data.FlashBG&&data.FlashBG.Data&&column.ID!=undefined){if(data.FlashBG.Data.has(column.ID)){var flashItem=data.FlashBG.Data.get(column.ID);var drawBG={Rect:drawInfo.Rect,BGColor:flashItem.Color};--flashItem.Count;this.DrawItemBG(drawBG);if(this.GlobalOption)++this.GlobalOption.FlashBGCount;}}this.DrawItemBG(drawInfo);if(column.Type==REPORT_COLUMN_ID.CUSTOM_STRING_TEXT_ID||this.IsReserveString(column.Type))this.DrawCustomText(drawInfo,column,x,top,textWidth);else this.DrawItemText(drawInfo.Text,drawInfo.TextColor,drawInfo.TextAlign,x,top,textWidth,drawInfo.BGColor);}//tooltip提示
|
|
13800
|
-
if(drawInfo.Tooltip){//Type:1=数据截断
|
|
13802
|
+
if(drawInfo.Tooltip){//Type:1=数据截断 4=提示信息
|
|
13801
13803
|
var tooltipData={Rect:rtItem,Stock:stock,Index:index,Column:column,RowType:rowType,Type:drawInfo.Tooltip.Type,Data:drawInfo.Tooltip.Data};this.TooltipRect.push(tooltipData);}else if(column.ChartTooltip&&column.ChartTooltip.Enable&&IFrameSplitOperator.IsNumber(column.ChartTooltip.Type))//Type 20分时图 21K线图
|
|
13802
13804
|
{var tooltipData={Rect:rtItem,Stock:stock,Index:index,Column:column,RowType:rowType,Type:column.ChartTooltip.Type};this.TooltipRect.push(tooltipData);}if(drawInfo.Botton){var buttonData={Stock:stock,Index:index,ColumnIndex:columnIndex,Column:column,Rect:drawInfo.Botton.Rect,Type:drawInfo.Botton.Type,Data:drawInfo.Data};this.ButtonRect.push(buttonData);}};this.FormatDrawInfoEvent=function(stock,data,column,drawInfo){if(!column.EnableFormatDrawInfoEvent)return;var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_REPORT_FORMAT_DRAW_INFO);if(!event||!event.Callback)return;var sendData={Stock:stock,Column:column,Data:data,DrawInfo:drawInfo};event.Callback(event,sendData,this);};this.IsReserveProgressBarColumn=function(value){var ARARY_TYPE=[REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR1_ID,REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR2_ID,REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR3_ID,REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR4_ID,REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR5_ID,REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR6_ID,REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR7_ID,REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR8_ID,REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR9_ID,REPORT_COLUMN_ID.RESERVE_PROGRESS_BAR10_ID];return ARARY_TYPE.includes(value);};this.IsReserveButtonColumn=function(value){var ARARY_TYPE=[REPORT_COLUMN_ID.RESERVE_BUTTON1_ID,REPORT_COLUMN_ID.RESERVE_BUTTON2_ID,REPORT_COLUMN_ID.RESERVE_BUTTON3_ID,REPORT_COLUMN_ID.RESERVE_BUTTON4_ID,REPORT_COLUMN_ID.RESERVE_BUTTON5_ID,REPORT_COLUMN_ID.RESERVE_BUTTON6_ID,REPORT_COLUMN_ID.RESERVE_BUTTON7_ID,REPORT_COLUMN_ID.RESERVE_BUTTON8_ID,REPORT_COLUMN_ID.RESERVE_BUTTON9_ID,REPORT_COLUMN_ID.RESERVE_BUTTON10_ID];return ARARY_TYPE.includes(value);};this.IsReserveNumber=function(value){var ARARY_TYPE=[REPORT_COLUMN_ID.RESERVE_NUMBER1_ID,REPORT_COLUMN_ID.RESERVE_NUMBER2_ID,REPORT_COLUMN_ID.RESERVE_NUMBER3_ID,REPORT_COLUMN_ID.RESERVE_NUMBER4_ID,REPORT_COLUMN_ID.RESERVE_NUMBER5_ID,REPORT_COLUMN_ID.RESERVE_NUMBER6_ID,REPORT_COLUMN_ID.RESERVE_NUMBER7_ID,REPORT_COLUMN_ID.RESERVE_NUMBER8_ID,REPORT_COLUMN_ID.RESERVE_NUMBER9_ID,REPORT_COLUMN_ID.RESERVE_NUMBER10_ID];return ARARY_TYPE.includes(value);};this.IsReserveString=function(value){var ARARY_TYPE=[REPORT_COLUMN_ID.RESERVE_STRING1_ID,REPORT_COLUMN_ID.RESERVE_STRING2_ID,REPORT_COLUMN_ID.RESERVE_STRING3_ID,REPORT_COLUMN_ID.RESERVE_STRING4_ID,REPORT_COLUMN_ID.RESERVE_STRING5_ID,REPORT_COLUMN_ID.RESERVE_STRING6_ID,REPORT_COLUMN_ID.RESERVE_STRING7_ID,REPORT_COLUMN_ID.RESERVE_STRING8_ID,REPORT_COLUMN_ID.RESERVE_STRING9_ID,REPORT_COLUMN_ID.RESERVE_STRING10_ID];return ARARY_TYPE.includes(value);};this.IsReserveDateTime=function(value){var ARARY_TYPE=[REPORT_COLUMN_ID.RESERVE_DATETIME1_ID,REPORT_COLUMN_ID.RESERVE_DATETIME2_ID,REPORT_COLUMN_ID.RESERVE_DATETIME3_ID,REPORT_COLUMN_ID.RESERVE_DATETIME4_ID,REPORT_COLUMN_ID.RESERVE_DATETIME5_ID,REPORT_COLUMN_ID.RESERVE_DATETIME6_ID,REPORT_COLUMN_ID.RESERVE_DATETIME7_ID,REPORT_COLUMN_ID.RESERVE_DATETIME8_ID,REPORT_COLUMN_ID.RESERVE_DATETIME9_ID,REPORT_COLUMN_ID.RESERVE_DATETIME10_ID];return ARARY_TYPE.includes(value);};this.DrawCustomText=function(drawInfo,column,left,top,cellWidth){if(!drawInfo.Text)return;var text=drawInfo.Text;var x=left;if(drawInfo.TextAlign=='center'){x=left+cellWidth/2;this.Canvas.textAlign="center";}else if(drawInfo.TextAlign=='right'){x=left+cellWidth-2;this.Canvas.textAlign="right";}else{x+=2;this.Canvas.textAlign="left";}var textWidth=this.Canvas.measureText(text).width+1;var bClip=false;if(textWidth>=cellWidth)//长度超过单元格 裁剪
|
|
13803
13805
|
{if(column.FormatType==2){var count=text.length+5;text="";for(var i=0;i<count;++i){text+="#";}}else if(column.FormatType==1){text=this.TextEllipsis(text,cellWidth,column.MaxText);}this.Canvas.save();bClip=true;var rtCell={Left:left,Top:top+this.ItemMergin.Top,Width:cellWidth,Height:this.RowHeight};this.Canvas.beginPath();this.Canvas.rect(rtCell.Left,rtCell.Top,rtCell.Width,rtCell.Height);//this.Canvas.stroke(); //调试用
|
|
13804
13806
|
this.Canvas.clip();//数据截断提示信息
|
|
13805
|
-
drawInfo.Tooltip={Type:1,Data:{AryText:[{Text:drawInfo.Text}]}};}this.Canvas.textBaseline="bottom";this.Canvas.fillStyle=drawInfo.TextColor;this.Canvas.fillText(text,x,top+this.RowHeight-this.ItemMergin.Bottom);if(bClip)this.Canvas.restore();};this.DrawSymbolName=function(data,column,left,top,rowType){var stock=data.Stock;var symbol=IFrameSplitOperator.RemoveMarketSuffix(data.Symbol);var name;if(stock){symbol=stock.Symbol;name=stock.Name;}if(!symbol&&!name)return;var y=top+this.ItemMergin.Top+this.ItemNameHeight;var textLeft=left+this.ItemMergin.Left;var x=textLeft;var width=column.Width-this.ItemMergin.Left-this.ItemMergin.Right;var textAlign=column.TextAlign;if(textAlign=='center'){x=textLeft+width/2;this.Canvas.textAlign="center";}else if(textAlign=='right'){x=textLeft+width-2;this.Canvas.textAlign="right";}else{x+=2;this.Canvas.textAlign="left";}var textColor=this.GetNameColor(column,symbol,rowType);var text=name;if(text){this.Canvas.textBaseline="bottom";this.Canvas.fillStyle=textColor;this.Canvas.font=this.ItemNameFont;text=this.TextEllipsis(text,width,column.MaxText);if(text)this.Canvas.fillText(text,x,y);}text=symbol;if(text){this.Canvas.textBaseline="bottom";this.Canvas.font=this.ItemSymbolFont;this.Canvas.fillStyle=textColor;this.Canvas.fillText(text,x,y+this.ItemSymbolHeight);}this.Canvas.font=this.ItemFont;//还原字体
|
|
13807
|
+
if(!drawInfo.Tooltip){drawInfo.Tooltip={Type:1,Data:{AryText:[{Text:drawInfo.Text}]}};}}this.Canvas.textBaseline="bottom";this.Canvas.fillStyle=drawInfo.TextColor;this.Canvas.fillText(text,x,top+this.RowHeight-this.ItemMergin.Bottom);if(bClip)this.Canvas.restore();};this.DrawSymbolName=function(data,column,left,top,rowType){var stock=data.Stock;var symbol=IFrameSplitOperator.RemoveMarketSuffix(data.Symbol);var name;if(stock){symbol=stock.Symbol;name=stock.Name;}if(!symbol&&!name)return;var y=top+this.ItemMergin.Top+this.ItemNameHeight;var textLeft=left+this.ItemMergin.Left;var x=textLeft;var width=column.Width-this.ItemMergin.Left-this.ItemMergin.Right;var textAlign=column.TextAlign;if(textAlign=='center'){x=textLeft+width/2;this.Canvas.textAlign="center";}else if(textAlign=='right'){x=textLeft+width-2;this.Canvas.textAlign="right";}else{x+=2;this.Canvas.textAlign="left";}var textColor=this.GetNameColor(column,symbol,rowType);var text=name;if(text){this.Canvas.textBaseline="bottom";this.Canvas.fillStyle=textColor;this.Canvas.font=this.ItemNameFont;text=this.TextEllipsis(text,width,column.MaxText);if(text)this.Canvas.fillText(text,x,y);}text=symbol;if(text){this.Canvas.textBaseline="bottom";this.Canvas.font=this.ItemSymbolFont;this.Canvas.fillStyle=textColor;this.Canvas.fillText(text,x,y+this.ItemSymbolHeight);}this.Canvas.font=this.ItemFont;//还原字体
|
|
13806
13808
|
};this.DrawSymbolNameV2=function(data,column,left,top,rowType){var stock=data.Stock;var symbol=IFrameSplitOperator.RemoveMarketSuffix(data.Symbol);var name;if(stock){symbol=stock.Symbol;name=stock.Name;}if(!symbol&&!name)return;var y=top+this.ItemMergin.Top+this.ItemNameHeight;var textLeft=left+this.ItemMergin.Left;var x=textLeft;var width=column.Width-this.ItemMergin.Left-this.ItemMergin.Right;var textAlign=column.TextAlign;if(textAlign=='center'){x=textLeft+width/2;this.Canvas.textAlign="center";}else if(textAlign=='right'){x=textLeft+width-2;this.Canvas.textAlign="right";}else{x+=2;this.Canvas.textAlign="left";}this.Canvas.textBaseline="bottom";var textColor=column.TextColor;var text=name;if(text){this.Canvas.fillStyle=textColor;this.Canvas.font=this.NameSymbolFont.Name;text=this.TextEllipsis(text,width,column.MaxText);if(text){this.Canvas.fillText(text,x,y);var textWidth=this.Canvas.measureText(text).width;var space=2;if(IFrameSplitOperator.IsNumber(column.Space))space=column.Space;x+=textWidth+space;}}var textColor=column.TextColor2;text=symbol;if(text){this.Canvas.font=this.NameSymbolFont.Symbol;this.Canvas.fillStyle=textColor;this.Canvas.fillText(text,x,y);}this.Canvas.font=this.ItemFont;//还原字体
|
|
13807
13809
|
};this.DrawLimitPriceBorder=function(value,stock,left,top,itemWidth){if(!IFrameSplitOperator.IsNumber(value)||!stock)return;var bDraw=false;if(IFrameSplitOperator.IsNumber(stock.LimitHigh)){if(value>=stock.LimitHigh)bDraw=true;}if(IFrameSplitOperator.IsNumber(stock.LimitLow)){if(value<=stock.LimitLow)bDraw=true;}if(!bDraw)return;var x=left+this.ItemMergin.Left+this.LimitMergin.Left;var width=itemWidth-this.ItemMergin.Left-this.ItemMergin.Right-this.LimitMergin.Left-this.LimitMergin.Right;var y=top+this.ItemMergin.Top+this.LimitMergin.Top;var height=this.RowHeight-this.ItemMergin.Top-this.ItemMergin.Bottom-this.LimitMergin.Top-this.LimitMergin.Bottom;this.Canvas.strokeStyle=this.LimitBorderColor;this.Canvas.strokeRect(ToFixedPoint(x),ToFixedPoint(y),ToFixedRect(width),ToFixedRect(height));};this.GetExtendData=function(data,column){if(IFrameSplitOperator.IsNumber(column.DataIndex)){if(!data.Stock||!data.Stock.ExtendData)return null;if(column.DataIndex<0)return;return data.Stock.ExtendData[column.DataIndex];}if(IFrameSplitOperator.IsNumber(column.BlockIndex)){if(!data.Block)return;if(column.BlockIndex<0)return;return data.Block[column.BlockIndex];}return null;};this.GetCustomStringDrawInfo=function(data,column,drawInfo){var value=this.GetExtendData(data,column);if(!IFrameSplitOperator.IsString(value))return;drawInfo.Text=value;};this.GetCustomNumberDrawInfo=function(data,column,drawInfo){var value=this.GetExtendData(data,column);if(!IFrameSplitOperator.IsNumber(value))return;//格式化输出
|
|
13808
13810
|
switch(column.FormatType){case 1:drawInfo.Text=value.toFixed(column.Decimal);break;case 2:drawInfo.Text=IFrameSplitOperator.FormatValueThousandsString(value,column.Decimal);break;case 3:drawInfo.Text=this.FormatVolString(value);break;default:drawInfo.Text=IFrameSplitOperator.FormatValueString(value,column.Decimal);break;}//颜色
|
|
@@ -13810,7 +13812,7 @@ switch(column.ColorType){case 1:drawInfo.TextColor=this.GetUpDownColor(value,0);
|
|
|
13810
13812
|
{this.GetCustomIconData(column,data.Symbol,drawInfo,data);return;}};this.GetCustomCheckBoxDrawInfo=function(data,column,drawInfo){var checkData=this.GetExtendData(data,column);if(!checkData)return;if(!IFrameSplitOperator.IsBool(checkData.Checked))return;drawInfo.Checked=checkData.Checked;drawInfo.Enable=true;drawInfo.Data=checkData;if(IFrameSplitOperator.IsBool(checkData.DisableCheckBox))drawInfo.Enable=!checkData.DisableCheckBox;drawInfo.CheckBox=column.CheckBox;};this.GetCustomButtonDrawInfo=function(data,column,drawInfo){var buttonData=this.GetExtendData(data,column);if(!buttonData)return;drawInfo.Text=buttonData.Title;drawInfo.Button=column.Button;drawInfo.Font=column.Button.Font;drawInfo.Enable=true;drawInfo.Data=buttonData;if(IFrameSplitOperator.IsBool(buttonData.Enable))drawInfo.Enable=buttonData.Enable;};this.GetCustomProgressBarDrawInfo=function(data,column,drawInfo){var barData=this.GetExtendData(data,column);if(!barData)return;drawInfo.Text=barData.Title;drawInfo.ProgressBar=column.ProgressBar;drawInfo.Enable=true;drawInfo.Value=barData.Value;//占比
|
|
13811
13813
|
drawInfo.Data=barData;if(IFrameSplitOperator.IsBool(barData.Enable))drawInfo.Enable=barData.Enable;if(barData.TextColor)drawInfo.TextColor=barData.TextColor;if(barData.BarColor)drawInfo.BarColor=barData.BarColor;if(barData.BGColor)drawInfo.BGColor=barData.BGColor;};this.GetCustomLinkDrawInfo=function(data,column,drawInfo){var linkData=this.GetExtendData(data,column);if(!linkData)return;drawInfo.Text=linkData.Title;drawInfo.Link=column.Link;drawInfo.Enable=true;drawInfo.Data=linkData;drawInfo.MaxText=column.MaxText;if(IFrameSplitOperator.IsBool(linkData.Enable))drawInfo.Enable=linkData.Enable;if(linkData.TextColor)drawInfo.TextColor=linkData.TextColor;};this.FormatReserveNumber=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var value=data[fieldName];if(!IFrameSplitOperator.IsNumber(value))return;if(IFrameSplitOperator.IsNumber(column.ColorType)){if(column.ColorType==1){drawInfo.TextColor=this.GetUpDownColor(value,0);}else if(column.ColorType==2){drawInfo.TextColor=this.GetUpDownColorV2(value,0);}else if(column.ColorType==3){drawInfo.TextColor=this.GetUpDownColor(value,data.YClose);}}var text=value.toFixed(column.FloatPrecision);if(column.Format&&IFrameSplitOperator.IsNumber(column.Format.Type)){var format=column.Format;switch(format.Type){case 1://原始数据
|
|
13812
13814
|
text=value.toFixed(column.FloatPrecision);break;case 2://千分位分割
|
|
13813
|
-
text=IFrameSplitOperator.FormatValueThousandsString(value,column.FloatPrecision);break;case 3:var exfloatPrecision=1;if(IFrameSplitOperator.IsNumber(format.ExFloatPrecision))exfloatPrecision=format.ExFloatPrecision;text=IFrameSplitOperator.FormatValueStringV2(value,column.FloatPrecision,exfloatPrecision);break;}}if(column.StringFormat&&text){text=column.StringFormat.replace("{0}",text);}drawInfo.Text=text;};this.FormatReserveString=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(IFrameSplitOperator.IsObject(item)){if(item.Text)drawInfo.Text=item.Text;if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;}else if(IFrameSplitOperator.IsString(item)){drawInfo.Text=item;}};this.FormatReserveDateTime=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(!IFrameSplitOperator.IsObject(item))return;if(item.DateTime)drawInfo.Text=IFrameSplitOperator.FormatDateTimeStringV2(item.DateTime,column.DateTimeFormat);if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;};this.FormatReserveProgressBar=function(column,data,drawInfo){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(IFrameSplitOperator.IsNumber(item)){drawInfo.ProgressBar=column.ProgressBar;drawInfo.Enable=true;drawInfo.Value=item;//占比
|
|
13815
|
+
text=IFrameSplitOperator.FormatValueThousandsString(value,column.FloatPrecision);break;case 3:var exfloatPrecision=1;if(IFrameSplitOperator.IsNumber(format.ExFloatPrecision))exfloatPrecision=format.ExFloatPrecision;text=IFrameSplitOperator.FormatValueStringV2(value,column.FloatPrecision,exfloatPrecision);break;}}if(column.StringFormat&&text){text=column.StringFormat.replace("{0}",text);}drawInfo.Text=text;};this.FormatReserveString=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(IFrameSplitOperator.IsObject(item)){if(item.Text)drawInfo.Text=item.Text;if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;if(item.Tooltip&&IFrameSplitOperator.IsNonEmptyArray(item.Tooltip.AryText)){drawInfo.Tooltip={Type:4,Data:{AryText:item.Tooltip.AryText}};}}else if(IFrameSplitOperator.IsString(item)){drawInfo.Text=item;}};this.FormatReserveDateTime=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(!IFrameSplitOperator.IsObject(item))return;if(item.DateTime)drawInfo.Text=IFrameSplitOperator.FormatDateTimeStringV2(item.DateTime,column.DateTimeFormat);if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;};this.FormatReserveProgressBar=function(column,data,drawInfo){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(IFrameSplitOperator.IsNumber(item)){drawInfo.ProgressBar=column.ProgressBar;drawInfo.Enable=true;drawInfo.Value=item;//占比
|
|
13814
13816
|
drawInfo.Data={Value:item};}else if(IFrameSplitOperator.IsObject(item)){if(item.Title)drawInfo.Text=item.Title;drawInfo.ProgressBar=column.ProgressBar;drawInfo.Enable=true;drawInfo.Value=item.Value;//占比
|
|
13815
13817
|
drawInfo.Data=item;if(IFrameSplitOperator.IsBool(item.Enable))drawInfo.Enable=item.Enable;if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BarColor)drawInfo.BarColor=item.BarColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;}};this.FormatReserveButton=function(column,data,drawInfo){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(!item)return;drawInfo.Text=item.Title;drawInfo.Button=column.Button;drawInfo.Font=column.Button.Font;drawInfo.Enable=true;drawInfo.Data=item;if(IFrameSplitOperator.IsBool(item.Enable))drawInfo.Enable=item.Enable;};this.FormaTimeDrawInfo=function(column,stock,drawInfo,data){if(!IFrameSplitOperator.IsNumber(stock.Time))return;if(column.ValueType==0)//0=hhmm 1=hhmmss 2=hhmmss.fff
|
|
13816
13818
|
{drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM");}else if(column.ValueType==1){drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM:SS");}else if(column.ValueType==2){drawInfo.Text=IFrameSplitOperator.FormatTimeString(stock.Time,"HH:MM:SS.fff");}};this.FormaDateDrawInfo=function(column,stock,drawInfo,data){if(!IFrameSplitOperator.IsNumber(stock.Date))return;if(column.FormatType==0)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY-MM-DD");else if(column.FormatType==1)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY/MM/DD");else if(column.FormatType==2)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY/MM/DD/W");else if(column.FormatType==3)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"YYYY-MM");else if(column.FormatType==4)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"MM/DD");else if(column.FormatType==4)drawInfo.Text=IFrameSplitOperator.FormatDateString(stock.Date,"MM-DD");};//自定义图标
|
|
@@ -14865,11 +14867,18 @@ this.BGColor="rgba(100,100,100,0.2)";this.LineWidth=g_JSChartResource.PopMinuteC
|
|
|
14865
14867
|
// K线图提示信息
|
|
14866
14868
|
//
|
|
14867
14869
|
//////////////////////////////////////////////////////
|
|
14868
|
-
function JSTooltipKLineChart(){this.DivDialog=null;this.HQChart=null;this.ID=Guid();this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;this.
|
|
14870
|
+
function JSTooltipKLineChart(){this.DivDialog=null;this.HQChart=null;this.ID=Guid();this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;this.TitleFont=g_JSChartResource.PopMinuteChart.Title.Font;//指标标题字体
|
|
14871
|
+
this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font;//十字光标
|
|
14872
|
+
this.FrameSplitTextFont=g_JSChartResource.PopMinuteChart.Frame.Font;//刻度文字
|
|
14873
|
+
this.OnCreatedCallback=null;this.KLine={Option:JSTooltipKLineChart.GetKLineOption(),JSChart:null,Symbol:null};this.Inital=function(hqchart,option){this.HQChart=hqchart;if(option){if(IFrameSplitOperator.IsObject(option.Option)){var item=CloneData(option.Option);//复制一份出来
|
|
14869
14874
|
this.KLine.Option=(0,_assign2.default)(this.KLine.Option,item);if(IFrameSplitOperator.IsNonEmptyArray(option.Option.EventCallback))this.KLine.Option.EventCallback=option.Option.EventCallback;}if(option.OnCreatedCallback)this.OnCreatedCallback=option.OnCreatedCallback;}};this.Create=function(){var _this96=this;var divDom=document.createElement('div');divDom.className='UMyChart_Tooltip_KLine_Div';divDom.id=this.ID;var divChart=document.createElement('div');divChart.className='UMyChart_Tooltip_KLine_Chart_Div';divDom.appendChild(divChart);this.DivDialog=divDom;var chart=JSChart.Init(divChart);this.KLine.JSChart=chart;//语言跟主图保持一致
|
|
14870
|
-
if(this.HQChart)this.KLine.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);this.KLine.Option.OnCreatedCallback=function(chart){_this96.OnCreateHQChart(chart);};this.KLine.Option.NetworkFilter=function(data,callback){_this96.NetworkFilter(data,callback);};chart.SetOption(this.KLine.Option);//设置K线配置
|
|
14871
|
-
document.body.appendChild(divDom);this.UpdateStyle();if(!this.KLine.Option.EnableResize){if(this.KLine.JSChart)this.KLine.JSChart.OnSize({Type:1});}};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;};this.NetworkFilter=function(data,callback){if(!this.HQChart||!this.HQChart.NetworkFilter)return;this.HQChart.NetworkFilter(data,callback);};this.OnCreateHQChart=function(chart){if(this.OnCreatedCallback)this.OnCreatedCallback(chart);};this.Destroy=function(){if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);}this.DivDialog=null;this.TitleBox=null;if(!this.KLine.JSChart)this.KLine.JSChart.ChartDestory();this.KLine.JSChart=null;};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.Show=function(data,x,y){if(!this.DivDialog)this.Create();if(!data||!data.Symbol)return;var symbol=data.Symbol;if(this.KLine.JSChart){if(this.KLine.Symbol!=symbol){this.KLine.Symbol=symbol;this.KLine.JSChart.ChangeSymbol(symbol);}}if(IFrameSplitOperator.IsNumberV2(x,y)){}else if(data.Rect){var rtCell=data.Rect;var pixelRatio=GetDevicePixelRatio();var rtItem={Left:rtCell.Left/pixelRatio,Right:rtCell.Right/pixelRatio,Bottom:rtCell.Bottom/pixelRatio,Top:rtCell.Top/pixelRatio};rtItem.Width=rtItem.Right-rtItem.Left;rtItem.Height=rtItem.Bottom-rtItem.Top;//超出窗口调整位置
|
|
14872
|
-
var height=this.DivDialog.offsetHeight;var width=this.DivDialog.offsetWidth;var x=rtItem.Right+data.Offset.Left;var y=rtItem.Bottom+data.Offset.Top;var xRight=window.innerWidth-5;var ybottom=window.innerHeight-5;if(x+width>xRight)x=rtItem.Left+data.Offset.Left-width;if(y+height>ybottom)y=rtItem.Top+data.Offset.Top-height;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";}};this.Hide=function(){if(!this.DivDialog)return;if(this.DivDialog.style.visibility!='hidden')this.DivDialog.style.visibility='hidden';};this.ReloadResource=function(option){this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;
|
|
14875
|
+
if(this.HQChart)this.KLine.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);this.KLine.Option.OnCreatedCallback=function(chart){_this96.OnCreateHQChart(chart);};this.KLine.Option.NetworkFilter=function(data,callback){_this96.NetworkFilter(data,callback);};var reloadResourceEvent={event:JSCHART_EVENT_ID.ON_RELOAD_RESOURCE,callback:function callback(event,data,obj){_this96.LoadChartResource(obj);}};var splitXEvent={event:JSCHART_EVENT_ID.ON_SPLIT_XCOORDINATE,callback:function callback(event,data,obj){_this96.OnSplitXCoordinate(event,data,obj);}};var splitYEvent={event:JSCHART_EVENT_ID.ON_SPLIT_YCOORDINATE,callback:function callback(event,data,obj){_this96.OnSplitYCoordinate(event,data,obj);}};if(Array.isArray(this.KLine.Option.EventCallback)){this.KLine.Option.EventCallback.unshift(reloadResourceEvent,splitYEvent,splitYEvent);}else{this.KLine.Option.EventCallback=[reloadResourceEvent,splitXEvent,splitYEvent];}chart.SetOption(this.KLine.Option);//设置K线配置
|
|
14876
|
+
document.body.appendChild(divDom);this.UpdateStyle();if(!this.KLine.Option.EnableResize){if(this.KLine.JSChart)this.KLine.JSChart.OnSize({Type:1});}};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;};this.NetworkFilter=function(data,callback){if(!this.HQChart||!this.HQChart.NetworkFilter)return;this.HQChart.NetworkFilter(data,callback);};this.OnCreateHQChart=function(chart){this.LoadChartResource(chart);if(this.OnCreatedCallback)this.OnCreatedCallback(chart);};this.Destroy=function(){if(this.DivDialog){if(document&&document.body&&document.body.removeChild)document.body.removeChild(this.DivDialog);}this.DivDialog=null;this.TitleBox=null;if(!this.KLine.JSChart)this.KLine.JSChart.ChartDestory();this.KLine.JSChart=null;};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.Show=function(data,x,y){if(!this.DivDialog)this.Create();if(!data||!data.Symbol)return;var symbol=data.Symbol;if(this.KLine.JSChart){if(this.KLine.Symbol!=symbol){this.KLine.Symbol=symbol;this.KLine.JSChart.ChangeSymbol(symbol);}}if(IFrameSplitOperator.IsNumberV2(x,y)){}else if(data.Rect){var rtCell=data.Rect;var pixelRatio=GetDevicePixelRatio();var rtItem={Left:rtCell.Left/pixelRatio,Right:rtCell.Right/pixelRatio,Bottom:rtCell.Bottom/pixelRatio,Top:rtCell.Top/pixelRatio};rtItem.Width=rtItem.Right-rtItem.Left;rtItem.Height=rtItem.Bottom-rtItem.Top;//超出窗口调整位置
|
|
14877
|
+
var height=this.DivDialog.offsetHeight;var width=this.DivDialog.offsetWidth;var x=rtItem.Right+data.Offset.Left;var y=rtItem.Bottom+data.Offset.Top;var xRight=window.innerWidth-5;var ybottom=window.innerHeight-5;if(x+width>xRight)x=rtItem.Left+data.Offset.Left-width;if(y+height>ybottom)y=rtItem.Top+data.Offset.Top-height;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";}};this.Hide=function(){if(!this.DivDialog)return;if(this.DivDialog.style.visibility!='hidden')this.DivDialog.style.visibility='hidden';};this.ReloadResource=function(option){this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;this.TitleFont=g_JSChartResource.PopMinuteChart.Title.Font;//指标标题字体
|
|
14878
|
+
this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font;//十字光标
|
|
14879
|
+
this.FrameSplitTextFont=g_JSChartResource.PopMinuteChart.Frame.Font;//刻度文字
|
|
14880
|
+
if(!this.DivDialog)return;this.UpdateStyle();if(this.KLine.JSChart)this.KLine.JSChart.ReloadResource(option);};this.LoadChartResource=function(chart){if(IFrameSplitOperator.IsNonEmptyArray(chart.TitlePaint)){for(var i=0;i<chart.TitlePaint.length;++i){var item=chart.TitlePaint[i];if(!item)continue;item.Font=this.TitleFont;}}if(IFrameSplitOperator.IsNonEmptyArray(chart.WindowIndex)){for(var i=0;i<chart.WindowIndex.length;++i)//去掉指标里面的字体
|
|
14881
|
+
{var item=chart.WindowIndex[i];if(!item)continue;item.TitleFont=null;}}if(chart.ChartCorssCursor){chart.ChartCorssCursor.Font=this.CorssCursorFont;}};this.OnSplitXCoordinate=function(event,data,obj){var frame=data.Frame;if(IFrameSplitOperator.IsNonEmptyArray(frame.VerticalInfo)){for(var i=0;i<frame.VerticalInfo.length;++i){var item=frame.VerticalInfo[i];if(!item)continue;if(item.Font)item.Font=this.FrameSplitTextFont;}}};this.OnSplitYCoordinate=function(event,data,obj){var frame=data.Frame;if(IFrameSplitOperator.IsNonEmptyArray(frame.HorizontalInfo)){for(var i=0;i<frame.HorizontalInfo.length;++i){var item=frame.HorizontalInfo[i];if(!item)continue;if(item.Font)item.Font=this.FrameSplitTextFont;}}};}JSTooltipKLineChart.GetKLineOption=function(){var option={Type:'历史K线图',//创建图形类型
|
|
14873
14882
|
Windows://窗口指标
|
|
14874
14883
|
[{Index:"MA",Change:false,Modify:false},{Index:"MACD",Close:false,Change:false,Modify:false,MaxMin:false,TitleWindow:false}],//Language:'EN',
|
|
14875
14884
|
Symbol:null,IsAutoUpdate:false,//是自动更新数据
|
|
@@ -15009,7 +15018,8 @@ this.Update=function(data){if(!this.DivDialog)return;this.LanguageID=this.HQChar
|
|
|
15009
15018
|
{this.UpdateRealtimeHQTooltip(data);}else if(data.DataType==3)//报价列表
|
|
15010
15019
|
{var tooltipData=data.Tooltip;if(!tooltipData)return;if(tooltipData.Type==2)//报价列表表头图标提示信息
|
|
15011
15020
|
{this.ReportHeaderIconTooltip(data);}else if(tooltipData.Type==1)//单元格截断内容
|
|
15012
|
-
{this.ReportCellTruncateTooltip(data);}
|
|
15021
|
+
{this.ReportCellTruncateTooltip(data);}else if(tooltipData.Type==4)//单元格提示信息
|
|
15022
|
+
{this.ReportCellTooltip(data);}}else if(data.DataType==4)//T型报价
|
|
15013
15023
|
{var tooltipData=data.Tooltip;if(!tooltipData)return;if(tooltipData.Type==2||tooltipData.Type==3){this.TReportIconTooltip(data);}}else if(data.DataType==5)//成交笔数
|
|
15014
15024
|
{var tooltipData=data.Tooltip;if(!tooltipData)return;if(tooltipData.Type==2)//提示信息
|
|
15015
15025
|
{this.DealItemTooltip(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)//数据变动的才更新
|
|
@@ -15023,8 +15033,9 @@ this.UpdateTradeIndexTooltip=function(data){var tooltipData=data.Tooltip;if(!too
|
|
|
15023
15033
|
this.UpdateMinuteInfoTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!tooltipData.Data.Data||!tooltipData.Data.Data.Item)return;var item=tooltipData.Data.Data.Item;var aryText=[];var rowItem={Title:"日期",Text:IFrameSplitOperator.FormatDateString(item.Date,"YYYY-MM-DD"),Color:this.ValueColor};aryText.push(rowItem);var format="HH:MM";var rowItem={Title:"时间",Text:IFrameSplitOperator.FormatTimeString(item.Time,format),Color:this.ValueColor};aryText.push(rowItem);var rowItem={Title:"异动",Text:item.Title,Color:this.ValueColor};aryText.push(rowItem);this.AryText=aryText;this.UpdateTableDOM();this.ShowTooltip(data);};//ChartMultiSVGIconV2 图标信息
|
|
15024
15034
|
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 信息
|
|
15025
15035
|
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);};//表头图标
|
|
15026
|
-
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);}
|
|
15027
|
-
this.
|
|
15036
|
+
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);};//单元格提示信息
|
|
15037
|
+
this.ReportCellTooltip=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);};//表格单元格截断内容
|
|
15038
|
+
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.DealItemTooltip=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;if(outItem.TitleColor)item.TitleSpan.style.color=outItem.TitleColor;else 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)//合并单元格
|
|
15028
15039
|
{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;if(data&&data.Symbol)symbol=symbol;var upperSymbol="";if(symbol)upperSymbol=symbol.toUpperCase();var defaultfloatPrecision=GetfloatPrecision(symbol);//价格小数位数
|
|
15029
15040
|
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);//日期
|
|
15030
15041
|
var dateItem=this.ForamtDate(data.Date,"YYYY/MM/DD/W",'FloatTooltip-Date');//时间
|
|
@@ -15176,7 +15187,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
15176
15187
|
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);};}/********************************************************************************
|
|
15177
15188
|
* 版本信息输出
|
|
15178
15189
|
*
|
|
15179
|
-
*/var HQCHART_VERSION="1.1.
|
|
15190
|
+
*/var HQCHART_VERSION="1.1.14909";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();//把给外界调用的方法暴露出来
|
|
15180
15191
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
15181
15192
|
// BaseIndex:BaseIndex,
|
|
15182
15193
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -1354,6 +1354,10 @@ function JSFloatTooltip()
|
|
|
1354
1354
|
{
|
|
1355
1355
|
this.ReportCellTruncateTooltip(data);
|
|
1356
1356
|
}
|
|
1357
|
+
else if (tooltipData.Type==4) //单元格提示信息
|
|
1358
|
+
{
|
|
1359
|
+
this.ReportCellTooltip(data);
|
|
1360
|
+
}
|
|
1357
1361
|
}
|
|
1358
1362
|
else if (data.DataType==4) //T型报价
|
|
1359
1363
|
{
|
|
@@ -1640,6 +1644,18 @@ function JSFloatTooltip()
|
|
|
1640
1644
|
this.ShowTooltip(data);
|
|
1641
1645
|
}
|
|
1642
1646
|
|
|
1647
|
+
//单元格提示信息
|
|
1648
|
+
this.ReportCellTooltip=function(data)
|
|
1649
|
+
{
|
|
1650
|
+
var tooltipData=data.Tooltip;
|
|
1651
|
+
if (!tooltipData.Data || !IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText)) return;
|
|
1652
|
+
|
|
1653
|
+
this.AryText=tooltipData.Data.AryText;
|
|
1654
|
+
this.UpdateTableDOM();
|
|
1655
|
+
|
|
1656
|
+
this.ShowTooltip(data);
|
|
1657
|
+
}
|
|
1658
|
+
|
|
1643
1659
|
//表格单元格截断内容
|
|
1644
1660
|
this.ReportCellTruncateTooltip=function(data)
|
|
1645
1661
|
{
|
|
@@ -1690,7 +1706,8 @@ function JSFloatTooltip()
|
|
|
1690
1706
|
if (outItem.HTMLTitle) item.TitleSpan.innerHTML=outItem.HTMLTitle
|
|
1691
1707
|
else item.TitleSpan.innerText=outItem.Title;
|
|
1692
1708
|
|
|
1693
|
-
item.TitleSpan.style.color=
|
|
1709
|
+
if (outItem.TitleColor) item.TitleSpan.style.color=outItem.TitleColor;
|
|
1710
|
+
else item.TitleSpan.style.color=this.TextColor;
|
|
1694
1711
|
|
|
1695
1712
|
if (outItem.HTMLText) item.TextSpan.innerHTML=outItem.HTMLText
|
|
1696
1713
|
else item.TextSpan.innerText=outItem.Text;
|
|
@@ -24,6 +24,10 @@ function JSTooltipKLineChart()
|
|
|
24
24
|
|
|
25
25
|
this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;
|
|
26
26
|
this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;
|
|
27
|
+
this.TitleFont=g_JSChartResource.PopMinuteChart.Title.Font; //指标标题字体
|
|
28
|
+
this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font; //十字光标
|
|
29
|
+
this.FrameSplitTextFont=g_JSChartResource.PopMinuteChart.Frame.Font; //刻度文字
|
|
30
|
+
|
|
27
31
|
this.OnCreatedCallback=null;
|
|
28
32
|
|
|
29
33
|
this.KLine=
|
|
@@ -69,6 +73,35 @@ function JSTooltipKLineChart()
|
|
|
69
73
|
if (this.HQChart) this.KLine.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);
|
|
70
74
|
this.KLine.Option.OnCreatedCallback=(chart)=>{ this.OnCreateHQChart(chart); }
|
|
71
75
|
this.KLine.Option.NetworkFilter=(data, callback)=>{ this.NetworkFilter(data, callback); }
|
|
76
|
+
|
|
77
|
+
var reloadResourceEvent=
|
|
78
|
+
{
|
|
79
|
+
event:JSCHART_EVENT_ID.ON_RELOAD_RESOURCE,
|
|
80
|
+
callback:(event, data, obj)=>{ this.LoadChartResource(obj); }
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
var splitXEvent=
|
|
84
|
+
{
|
|
85
|
+
event:JSCHART_EVENT_ID.ON_SPLIT_XCOORDINATE,
|
|
86
|
+
callback:(event, data, obj)=>{ this.OnSplitXCoordinate(event, data, obj); }
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
var splitYEvent=
|
|
90
|
+
{
|
|
91
|
+
event:JSCHART_EVENT_ID.ON_SPLIT_YCOORDINATE,
|
|
92
|
+
callback:(event, data, obj)=>{ this.OnSplitYCoordinate(event, data, obj); }
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (Array.isArray(this.KLine.Option.EventCallback))
|
|
96
|
+
{
|
|
97
|
+
this.KLine.Option.EventCallback.unshift(reloadResourceEvent,splitYEvent,splitYEvent);
|
|
98
|
+
}
|
|
99
|
+
else
|
|
100
|
+
{
|
|
101
|
+
this.KLine.Option.EventCallback=[reloadResourceEvent,splitXEvent,splitYEvent];
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
|
|
72
105
|
chart.SetOption(this.KLine.Option); //设置K线配置
|
|
73
106
|
|
|
74
107
|
document.body.appendChild(divDom);
|
|
@@ -98,6 +131,8 @@ function JSTooltipKLineChart()
|
|
|
98
131
|
|
|
99
132
|
this.OnCreateHQChart=function(chart)
|
|
100
133
|
{
|
|
134
|
+
this.LoadChartResource(chart);
|
|
135
|
+
|
|
101
136
|
if (this.OnCreatedCallback) this.OnCreatedCallback(chart);
|
|
102
137
|
}
|
|
103
138
|
|
|
@@ -179,6 +214,10 @@ function JSTooltipKLineChart()
|
|
|
179
214
|
this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;
|
|
180
215
|
this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;
|
|
181
216
|
|
|
217
|
+
this.TitleFont=g_JSChartResource.PopMinuteChart.Title.Font; //指标标题字体
|
|
218
|
+
this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font; //十字光标
|
|
219
|
+
this.FrameSplitTextFont=g_JSChartResource.PopMinuteChart.Frame.Font; //刻度文字
|
|
220
|
+
|
|
182
221
|
if (!this.DivDialog) return;
|
|
183
222
|
|
|
184
223
|
this.UpdateStyle();
|
|
@@ -186,6 +225,63 @@ function JSTooltipKLineChart()
|
|
|
186
225
|
if (this.KLine.JSChart) this.KLine.JSChart.ReloadResource(option);
|
|
187
226
|
}
|
|
188
227
|
|
|
228
|
+
this.LoadChartResource=function(chart)
|
|
229
|
+
{
|
|
230
|
+
if (IFrameSplitOperator.IsNonEmptyArray(chart.TitlePaint))
|
|
231
|
+
{
|
|
232
|
+
for(var i=0;i<chart.TitlePaint.length;++i)
|
|
233
|
+
{
|
|
234
|
+
var item=chart.TitlePaint[i];
|
|
235
|
+
if (!item) continue;
|
|
236
|
+
|
|
237
|
+
item.Font=this.TitleFont;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
if (IFrameSplitOperator.IsNonEmptyArray(chart.WindowIndex))
|
|
242
|
+
{
|
|
243
|
+
for(var i=0;i<chart.WindowIndex.length;++i) //去掉指标里面的字体
|
|
244
|
+
{
|
|
245
|
+
var item=chart.WindowIndex[i];
|
|
246
|
+
if (!item) continue;
|
|
247
|
+
item.TitleFont=null;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
if (chart.ChartCorssCursor)
|
|
252
|
+
{
|
|
253
|
+
chart.ChartCorssCursor.Font=this.CorssCursorFont;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
this.OnSplitXCoordinate=function(event, data, obj)
|
|
258
|
+
{
|
|
259
|
+
var frame=data.Frame;
|
|
260
|
+
if (IFrameSplitOperator.IsNonEmptyArray(frame.VerticalInfo))
|
|
261
|
+
{
|
|
262
|
+
for(var i=0;i<frame.VerticalInfo.length;++i)
|
|
263
|
+
{
|
|
264
|
+
var item=frame.VerticalInfo[i];
|
|
265
|
+
if (!item) continue;
|
|
266
|
+
if (item.Font) item.Font=this.FrameSplitTextFont;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
this.OnSplitYCoordinate=function(event, data, obj)
|
|
272
|
+
{
|
|
273
|
+
var frame=data.Frame;
|
|
274
|
+
if (IFrameSplitOperator.IsNonEmptyArray(frame.HorizontalInfo))
|
|
275
|
+
{
|
|
276
|
+
for(var i=0;i<frame.HorizontalInfo.length;++i)
|
|
277
|
+
{
|
|
278
|
+
var item=frame.HorizontalInfo[i];
|
|
279
|
+
if (!item) continue;
|
|
280
|
+
if (item.Font) item.Font=this.FrameSplitTextFont;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
|
|
189
285
|
}
|
|
190
286
|
|
|
191
287
|
JSTooltipKLineChart.GetKLineOption=function()
|
|
@@ -22343,6 +22343,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
22343
22343
|
if (config.UpColor) chart.UpColor=config.UpColor;
|
|
22344
22344
|
if (config.DownColor) chart.DownColor=config.DownColor;
|
|
22345
22345
|
if (IFrameSplitOperator.IsNumber(config.DefaultMax)) chart.DefaultMax=config.DefaultMax;
|
|
22346
|
+
if (IFrameSplitOperator.IsNumber(config.Style)) chart.Style=config.Style;
|
|
22346
22347
|
}
|
|
22347
22348
|
|
|
22348
22349
|
chart.BuildCacheData();
|
|
@@ -23918,6 +23919,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
23918
23919
|
if (config.UpColor) chart.UpColor=config.UpColor;
|
|
23919
23920
|
if (config.DownColor) chart.DownColor=config.DownColor;
|
|
23920
23921
|
if (IFrameSplitOperator.IsNumber(config.DefaultMax)) chart.DefaultMax=config.DefaultMax;
|
|
23922
|
+
if (IFrameSplitOperator.IsNumber(config.Style)) chart.Style=config.Style;
|
|
23921
23923
|
}
|
|
23922
23924
|
|
|
23923
23925
|
chart.BuildCacheData();
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -41728,6 +41728,7 @@ function ChartBaseLineBar()
|
|
|
41728
41728
|
this.UpColor=g_JSChartResource.ChartBaseLineBar.UpColor;
|
|
41729
41729
|
this.DownColor=g_JSChartResource.ChartBaseLineBar.DownColor;
|
|
41730
41730
|
this.LineWidth=1;
|
|
41731
|
+
this.Style=0; //0=坐标使用主图坐标 1=独立坐标
|
|
41731
41732
|
this.IsDrawFirst=true;
|
|
41732
41733
|
this.AryData=[]; //{ Date, Time, Up, Down }
|
|
41733
41734
|
this.DefaultMax; //默认最大值
|
|
@@ -41736,6 +41737,74 @@ function ChartBaseLineBar()
|
|
|
41736
41737
|
this.YBaseLine;
|
|
41737
41738
|
this.BarMaxHeight; //{ Up:, Down: }
|
|
41738
41739
|
|
|
41740
|
+
this.DrawStyle2=function()
|
|
41741
|
+
{
|
|
41742
|
+
var bHScreen=(this.ChartFrame.IsHScreen===true);
|
|
41743
|
+
var bMinute=this.IsMinuteFrame();
|
|
41744
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
41745
|
+
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
41746
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
41747
|
+
var border=this.ChartFrame.GetBorder();
|
|
41748
|
+
|
|
41749
|
+
if (bHScreen)
|
|
41750
|
+
{
|
|
41751
|
+
var chartright=border.BottomEx;
|
|
41752
|
+
var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
41753
|
+
}
|
|
41754
|
+
else
|
|
41755
|
+
{
|
|
41756
|
+
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
41757
|
+
var chartright=border.RightEx;
|
|
41758
|
+
}
|
|
41759
|
+
|
|
41760
|
+
this.Canvas.save();
|
|
41761
|
+
this.ClipClient(bHScreen);
|
|
41762
|
+
|
|
41763
|
+
this.YBaseLine=this.ChartFrame.GetYFromData(0, false);
|
|
41764
|
+
var aryUpBar=[], aryDownBar=[];
|
|
41765
|
+
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
41766
|
+
{
|
|
41767
|
+
var kItem=this.Data.Data[i];
|
|
41768
|
+
if (!kItem) continue;
|
|
41769
|
+
var key=this.BuildKey(kItem);
|
|
41770
|
+
if (!this.MapCache.has(key)) continue;
|
|
41771
|
+
|
|
41772
|
+
var item=this.MapCache.get(key);
|
|
41773
|
+
|
|
41774
|
+
if (bMinute)
|
|
41775
|
+
{
|
|
41776
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
41777
|
+
}
|
|
41778
|
+
else
|
|
41779
|
+
{
|
|
41780
|
+
var left=xOffset;
|
|
41781
|
+
var right=xOffset+dataWidth;
|
|
41782
|
+
if (right>chartright) break;
|
|
41783
|
+
var x=left+(right-left)/2;
|
|
41784
|
+
}
|
|
41785
|
+
|
|
41786
|
+
if (IFrameSplitOperator.IsNumber(item.Up))
|
|
41787
|
+
{
|
|
41788
|
+
var value=Math.abs(item.Up);
|
|
41789
|
+
var y=this.ChartFrame.GetYFromData(value, false);
|
|
41790
|
+
|
|
41791
|
+
aryUpBar.push({ X:x, Y:y});
|
|
41792
|
+
}
|
|
41793
|
+
|
|
41794
|
+
if (IFrameSplitOperator.IsNumber(item.Down))
|
|
41795
|
+
{
|
|
41796
|
+
var value=Math.abs(item.Down)*-1;
|
|
41797
|
+
var y=this.ChartFrame.GetYFromData(value, false);
|
|
41798
|
+
aryDownBar.push({X:x, Y:y});
|
|
41799
|
+
}
|
|
41800
|
+
}
|
|
41801
|
+
|
|
41802
|
+
this.DrawBars(aryUpBar, this.UpColor);
|
|
41803
|
+
this.DrawBars(aryDownBar,this.DownColor);
|
|
41804
|
+
|
|
41805
|
+
this.Canvas.restore();
|
|
41806
|
+
}
|
|
41807
|
+
|
|
41739
41808
|
this.Draw=function()
|
|
41740
41809
|
{
|
|
41741
41810
|
this.YBaseLine=null;
|
|
@@ -41746,6 +41815,14 @@ function ChartBaseLineBar()
|
|
|
41746
41815
|
if (!this.HQChart) return;
|
|
41747
41816
|
if(!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
|
|
41748
41817
|
if (!IFrameSplitOperator.IsNumber(this.MaxValue)) return;
|
|
41818
|
+
|
|
41819
|
+
if (this.Style==1)
|
|
41820
|
+
{
|
|
41821
|
+
this.DrawStyle2();
|
|
41822
|
+
return;
|
|
41823
|
+
}
|
|
41824
|
+
|
|
41825
|
+
|
|
41749
41826
|
this.CalculateBaseLine();
|
|
41750
41827
|
|
|
41751
41828
|
if (!IFrameSplitOperator.IsNumber(this.YBaseLine)) return;
|
|
@@ -41913,7 +41990,30 @@ function ChartBaseLineBar()
|
|
|
41913
41990
|
|
|
41914
41991
|
this.GetMaxMin=function()
|
|
41915
41992
|
{
|
|
41916
|
-
|
|
41993
|
+
var range={Min:null, Max:null};
|
|
41994
|
+
|
|
41995
|
+
if (this.Style==1) //独立坐标
|
|
41996
|
+
{
|
|
41997
|
+
if (IFrameSplitOperator.IsNumber(this.DefaultMax)) range.Max=this.DefaultMax;
|
|
41998
|
+
range.Min=0;
|
|
41999
|
+
|
|
42000
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
42001
|
+
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
42002
|
+
{
|
|
42003
|
+
var kItem=this.Data.Data[i];
|
|
42004
|
+
if (!kItem) continue;
|
|
42005
|
+
var key=this.BuildKey(kItem);
|
|
42006
|
+
if (!this.MapCache.has(key)) continue;
|
|
42007
|
+
|
|
42008
|
+
var item=this.MapCache.get(key);
|
|
42009
|
+
var value=Math.abs(item.Up);
|
|
42010
|
+
if (range.Max==null || range.Max<value) range.Max=value;
|
|
42011
|
+
var value=Math.abs(item.Down)*-1;
|
|
42012
|
+
if (range.Min>value) range.Min=value;
|
|
42013
|
+
}
|
|
42014
|
+
}
|
|
42015
|
+
|
|
42016
|
+
return range;
|
|
41917
42017
|
}
|
|
41918
42018
|
}
|
|
41919
42019
|
|
|
@@ -5095,7 +5095,7 @@ function ChartReport()
|
|
|
5095
5095
|
this.RectClient={};
|
|
5096
5096
|
|
|
5097
5097
|
//{ Rect:rtItem, Stock:stock, Index:index, Column:column, RowType:rowType, Type:drawInfo.Tooltip.Type, Data:{ AryText:[ {Text:xx} ]} };
|
|
5098
|
-
//Type:1=数据截断 2=表头提示信息 20=分时图
|
|
5098
|
+
//Type:1=数据截断 2=表头提示信息 4=提示信息 20=分时图 21=K线
|
|
5099
5099
|
// { Text, Color, Title:, TitleColor, Space, Margin:{ Left, Top, Right, Bottom }}
|
|
5100
5100
|
this.TooltipRect=[];
|
|
5101
5101
|
|
|
@@ -6979,7 +6979,7 @@ function ChartReport()
|
|
|
6979
6979
|
//tooltip提示
|
|
6980
6980
|
if (drawInfo.Tooltip)
|
|
6981
6981
|
{
|
|
6982
|
-
//Type:1=数据截断
|
|
6982
|
+
//Type:1=数据截断 4=提示信息
|
|
6983
6983
|
var tooltipData={ Rect:rtItem, Stock:stock, Index:index, Column:column, RowType:rowType, Type:drawInfo.Tooltip.Type, Data:drawInfo.Tooltip.Data };
|
|
6984
6984
|
this.TooltipRect.push(tooltipData);
|
|
6985
6985
|
}
|
|
@@ -7122,10 +7122,13 @@ function ChartReport()
|
|
|
7122
7122
|
this.Canvas.clip();
|
|
7123
7123
|
|
|
7124
7124
|
//数据截断提示信息
|
|
7125
|
-
drawInfo.Tooltip
|
|
7126
|
-
{
|
|
7127
|
-
|
|
7128
|
-
|
|
7125
|
+
if (!drawInfo.Tooltip)
|
|
7126
|
+
{
|
|
7127
|
+
drawInfo.Tooltip=
|
|
7128
|
+
{
|
|
7129
|
+
Type:1,
|
|
7130
|
+
Data:{ AryText:[ {Text:drawInfo.Text} ] }
|
|
7131
|
+
}
|
|
7129
7132
|
}
|
|
7130
7133
|
}
|
|
7131
7134
|
|
|
@@ -7497,6 +7500,15 @@ function ChartReport()
|
|
|
7497
7500
|
if (item.Text) drawInfo.Text=item.Text;
|
|
7498
7501
|
if (item.TextColor) drawInfo.TextColor=item.TextColor;
|
|
7499
7502
|
if (item.BGColor) drawInfo.BGColor=item.BGColor;
|
|
7503
|
+
|
|
7504
|
+
if (item.Tooltip && IFrameSplitOperator.IsNonEmptyArray(item.Tooltip.AryText))
|
|
7505
|
+
{
|
|
7506
|
+
drawInfo.Tooltip=
|
|
7507
|
+
{
|
|
7508
|
+
Type:4,
|
|
7509
|
+
Data:{ AryText:item.Tooltip.AryText }
|
|
7510
|
+
}
|
|
7511
|
+
}
|
|
7500
7512
|
}
|
|
7501
7513
|
else if (IFrameSplitOperator.IsString(item))
|
|
7502
7514
|
{
|
|
@@ -45824,6 +45824,7 @@ function ChartBaseLineBar()
|
|
|
45824
45824
|
this.UpColor=g_JSChartResource.ChartBaseLineBar.UpColor;
|
|
45825
45825
|
this.DownColor=g_JSChartResource.ChartBaseLineBar.DownColor;
|
|
45826
45826
|
this.LineWidth=1;
|
|
45827
|
+
this.Style=0; //0=坐标使用主图坐标 1=独立坐标
|
|
45827
45828
|
this.IsDrawFirst=true;
|
|
45828
45829
|
this.AryData=[]; //{ Date, Time, Up, Down }
|
|
45829
45830
|
this.DefaultMax; //默认最大值
|
|
@@ -45832,6 +45833,74 @@ function ChartBaseLineBar()
|
|
|
45832
45833
|
this.YBaseLine;
|
|
45833
45834
|
this.BarMaxHeight; //{ Up:, Down: }
|
|
45834
45835
|
|
|
45836
|
+
this.DrawStyle2=function()
|
|
45837
|
+
{
|
|
45838
|
+
var bHScreen=(this.ChartFrame.IsHScreen===true);
|
|
45839
|
+
var bMinute=this.IsMinuteFrame();
|
|
45840
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
45841
|
+
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
45842
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
45843
|
+
var border=this.ChartFrame.GetBorder();
|
|
45844
|
+
|
|
45845
|
+
if (bHScreen)
|
|
45846
|
+
{
|
|
45847
|
+
var chartright=border.BottomEx;
|
|
45848
|
+
var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
45849
|
+
}
|
|
45850
|
+
else
|
|
45851
|
+
{
|
|
45852
|
+
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
45853
|
+
var chartright=border.RightEx;
|
|
45854
|
+
}
|
|
45855
|
+
|
|
45856
|
+
this.Canvas.save();
|
|
45857
|
+
this.ClipClient(bHScreen);
|
|
45858
|
+
|
|
45859
|
+
this.YBaseLine=this.ChartFrame.GetYFromData(0, false);
|
|
45860
|
+
var aryUpBar=[], aryDownBar=[];
|
|
45861
|
+
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
45862
|
+
{
|
|
45863
|
+
var kItem=this.Data.Data[i];
|
|
45864
|
+
if (!kItem) continue;
|
|
45865
|
+
var key=this.BuildKey(kItem);
|
|
45866
|
+
if (!this.MapCache.has(key)) continue;
|
|
45867
|
+
|
|
45868
|
+
var item=this.MapCache.get(key);
|
|
45869
|
+
|
|
45870
|
+
if (bMinute)
|
|
45871
|
+
{
|
|
45872
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
45873
|
+
}
|
|
45874
|
+
else
|
|
45875
|
+
{
|
|
45876
|
+
var left=xOffset;
|
|
45877
|
+
var right=xOffset+dataWidth;
|
|
45878
|
+
if (right>chartright) break;
|
|
45879
|
+
var x=left+(right-left)/2;
|
|
45880
|
+
}
|
|
45881
|
+
|
|
45882
|
+
if (IFrameSplitOperator.IsNumber(item.Up))
|
|
45883
|
+
{
|
|
45884
|
+
var value=Math.abs(item.Up);
|
|
45885
|
+
var y=this.ChartFrame.GetYFromData(value, false);
|
|
45886
|
+
|
|
45887
|
+
aryUpBar.push({ X:x, Y:y});
|
|
45888
|
+
}
|
|
45889
|
+
|
|
45890
|
+
if (IFrameSplitOperator.IsNumber(item.Down))
|
|
45891
|
+
{
|
|
45892
|
+
var value=Math.abs(item.Down)*-1;
|
|
45893
|
+
var y=this.ChartFrame.GetYFromData(value, false);
|
|
45894
|
+
aryDownBar.push({X:x, Y:y});
|
|
45895
|
+
}
|
|
45896
|
+
}
|
|
45897
|
+
|
|
45898
|
+
this.DrawBars(aryUpBar, this.UpColor);
|
|
45899
|
+
this.DrawBars(aryDownBar,this.DownColor);
|
|
45900
|
+
|
|
45901
|
+
this.Canvas.restore();
|
|
45902
|
+
}
|
|
45903
|
+
|
|
45835
45904
|
this.Draw=function()
|
|
45836
45905
|
{
|
|
45837
45906
|
this.YBaseLine=null;
|
|
@@ -45842,6 +45911,14 @@ function ChartBaseLineBar()
|
|
|
45842
45911
|
if (!this.HQChart) return;
|
|
45843
45912
|
if(!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
|
|
45844
45913
|
if (!IFrameSplitOperator.IsNumber(this.MaxValue)) return;
|
|
45914
|
+
|
|
45915
|
+
if (this.Style==1)
|
|
45916
|
+
{
|
|
45917
|
+
this.DrawStyle2();
|
|
45918
|
+
return;
|
|
45919
|
+
}
|
|
45920
|
+
|
|
45921
|
+
|
|
45845
45922
|
this.CalculateBaseLine();
|
|
45846
45923
|
|
|
45847
45924
|
if (!IFrameSplitOperator.IsNumber(this.YBaseLine)) return;
|
|
@@ -46009,7 +46086,30 @@ function ChartBaseLineBar()
|
|
|
46009
46086
|
|
|
46010
46087
|
this.GetMaxMin=function()
|
|
46011
46088
|
{
|
|
46012
|
-
|
|
46089
|
+
var range={Min:null, Max:null};
|
|
46090
|
+
|
|
46091
|
+
if (this.Style==1) //独立坐标
|
|
46092
|
+
{
|
|
46093
|
+
if (IFrameSplitOperator.IsNumber(this.DefaultMax)) range.Max=this.DefaultMax;
|
|
46094
|
+
range.Min=0;
|
|
46095
|
+
|
|
46096
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
46097
|
+
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
46098
|
+
{
|
|
46099
|
+
var kItem=this.Data.Data[i];
|
|
46100
|
+
if (!kItem) continue;
|
|
46101
|
+
var key=this.BuildKey(kItem);
|
|
46102
|
+
if (!this.MapCache.has(key)) continue;
|
|
46103
|
+
|
|
46104
|
+
var item=this.MapCache.get(key);
|
|
46105
|
+
var value=Math.abs(item.Up);
|
|
46106
|
+
if (range.Max==null || range.Max<value) range.Max=value;
|
|
46107
|
+
var value=Math.abs(item.Down)*-1;
|
|
46108
|
+
if (range.Min>value) range.Min=value;
|
|
46109
|
+
}
|
|
46110
|
+
}
|
|
46111
|
+
|
|
46112
|
+
return range;
|
|
46013
46113
|
}
|
|
46014
46114
|
}
|
|
46015
46115
|
|
|
@@ -129826,6 +129926,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
129826
129926
|
if (config.UpColor) chart.UpColor=config.UpColor;
|
|
129827
129927
|
if (config.DownColor) chart.DownColor=config.DownColor;
|
|
129828
129928
|
if (IFrameSplitOperator.IsNumber(config.DefaultMax)) chart.DefaultMax=config.DefaultMax;
|
|
129929
|
+
if (IFrameSplitOperator.IsNumber(config.Style)) chart.Style=config.Style;
|
|
129829
129930
|
}
|
|
129830
129931
|
|
|
129831
129932
|
chart.BuildCacheData();
|
|
@@ -131401,6 +131502,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
131401
131502
|
if (config.UpColor) chart.UpColor=config.UpColor;
|
|
131402
131503
|
if (config.DownColor) chart.DownColor=config.DownColor;
|
|
131403
131504
|
if (IFrameSplitOperator.IsNumber(config.DefaultMax)) chart.DefaultMax=config.DefaultMax;
|
|
131505
|
+
if (IFrameSplitOperator.IsNumber(config.Style)) chart.Style=config.Style;
|
|
131404
131506
|
}
|
|
131405
131507
|
|
|
131406
131508
|
chart.BuildCacheData();
|
|
@@ -142628,7 +142730,7 @@ function ChartReport()
|
|
|
142628
142730
|
this.RectClient={};
|
|
142629
142731
|
|
|
142630
142732
|
//{ Rect:rtItem, Stock:stock, Index:index, Column:column, RowType:rowType, Type:drawInfo.Tooltip.Type, Data:{ AryText:[ {Text:xx} ]} };
|
|
142631
|
-
//Type:1=数据截断 2=表头提示信息 20=分时图
|
|
142733
|
+
//Type:1=数据截断 2=表头提示信息 4=提示信息 20=分时图 21=K线
|
|
142632
142734
|
// { Text, Color, Title:, TitleColor, Space, Margin:{ Left, Top, Right, Bottom }}
|
|
142633
142735
|
this.TooltipRect=[];
|
|
142634
142736
|
|
|
@@ -144512,7 +144614,7 @@ function ChartReport()
|
|
|
144512
144614
|
//tooltip提示
|
|
144513
144615
|
if (drawInfo.Tooltip)
|
|
144514
144616
|
{
|
|
144515
|
-
//Type:1=数据截断
|
|
144617
|
+
//Type:1=数据截断 4=提示信息
|
|
144516
144618
|
var tooltipData={ Rect:rtItem, Stock:stock, Index:index, Column:column, RowType:rowType, Type:drawInfo.Tooltip.Type, Data:drawInfo.Tooltip.Data };
|
|
144517
144619
|
this.TooltipRect.push(tooltipData);
|
|
144518
144620
|
}
|
|
@@ -144655,10 +144757,13 @@ function ChartReport()
|
|
|
144655
144757
|
this.Canvas.clip();
|
|
144656
144758
|
|
|
144657
144759
|
//数据截断提示信息
|
|
144658
|
-
drawInfo.Tooltip
|
|
144659
|
-
{
|
|
144660
|
-
|
|
144661
|
-
|
|
144760
|
+
if (!drawInfo.Tooltip)
|
|
144761
|
+
{
|
|
144762
|
+
drawInfo.Tooltip=
|
|
144763
|
+
{
|
|
144764
|
+
Type:1,
|
|
144765
|
+
Data:{ AryText:[ {Text:drawInfo.Text} ] }
|
|
144766
|
+
}
|
|
144662
144767
|
}
|
|
144663
144768
|
}
|
|
144664
144769
|
|
|
@@ -145030,6 +145135,15 @@ function ChartReport()
|
|
|
145030
145135
|
if (item.Text) drawInfo.Text=item.Text;
|
|
145031
145136
|
if (item.TextColor) drawInfo.TextColor=item.TextColor;
|
|
145032
145137
|
if (item.BGColor) drawInfo.BGColor=item.BGColor;
|
|
145138
|
+
|
|
145139
|
+
if (item.Tooltip && IFrameSplitOperator.IsNonEmptyArray(item.Tooltip.AryText))
|
|
145140
|
+
{
|
|
145141
|
+
drawInfo.Tooltip=
|
|
145142
|
+
{
|
|
145143
|
+
Type:4,
|
|
145144
|
+
Data:{ AryText:item.Tooltip.AryText }
|
|
145145
|
+
}
|
|
145146
|
+
}
|
|
145033
145147
|
}
|
|
145034
145148
|
else if (IFrameSplitOperator.IsString(item))
|
|
145035
145149
|
{
|
|
@@ -150915,7 +151029,7 @@ function ScrollBarBGChart()
|
|
|
150915
151029
|
|
|
150916
151030
|
|
|
150917
151031
|
|
|
150918
|
-
var HQCHART_VERSION="1.1.
|
|
151032
|
+
var HQCHART_VERSION="1.1.14909";
|
|
150919
151033
|
|
|
150920
151034
|
function PrintHQChartVersion()
|
|
150921
151035
|
{
|
|
@@ -45868,6 +45868,7 @@ function ChartBaseLineBar()
|
|
|
45868
45868
|
this.UpColor=g_JSChartResource.ChartBaseLineBar.UpColor;
|
|
45869
45869
|
this.DownColor=g_JSChartResource.ChartBaseLineBar.DownColor;
|
|
45870
45870
|
this.LineWidth=1;
|
|
45871
|
+
this.Style=0; //0=坐标使用主图坐标 1=独立坐标
|
|
45871
45872
|
this.IsDrawFirst=true;
|
|
45872
45873
|
this.AryData=[]; //{ Date, Time, Up, Down }
|
|
45873
45874
|
this.DefaultMax; //默认最大值
|
|
@@ -45876,6 +45877,74 @@ function ChartBaseLineBar()
|
|
|
45876
45877
|
this.YBaseLine;
|
|
45877
45878
|
this.BarMaxHeight; //{ Up:, Down: }
|
|
45878
45879
|
|
|
45880
|
+
this.DrawStyle2=function()
|
|
45881
|
+
{
|
|
45882
|
+
var bHScreen=(this.ChartFrame.IsHScreen===true);
|
|
45883
|
+
var bMinute=this.IsMinuteFrame();
|
|
45884
|
+
var dataWidth=this.ChartFrame.DataWidth;
|
|
45885
|
+
var distanceWidth=this.ChartFrame.DistanceWidth;
|
|
45886
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
45887
|
+
var border=this.ChartFrame.GetBorder();
|
|
45888
|
+
|
|
45889
|
+
if (bHScreen)
|
|
45890
|
+
{
|
|
45891
|
+
var chartright=border.BottomEx;
|
|
45892
|
+
var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
45893
|
+
}
|
|
45894
|
+
else
|
|
45895
|
+
{
|
|
45896
|
+
var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
|
|
45897
|
+
var chartright=border.RightEx;
|
|
45898
|
+
}
|
|
45899
|
+
|
|
45900
|
+
this.Canvas.save();
|
|
45901
|
+
this.ClipClient(bHScreen);
|
|
45902
|
+
|
|
45903
|
+
this.YBaseLine=this.ChartFrame.GetYFromData(0, false);
|
|
45904
|
+
var aryUpBar=[], aryDownBar=[];
|
|
45905
|
+
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
|
|
45906
|
+
{
|
|
45907
|
+
var kItem=this.Data.Data[i];
|
|
45908
|
+
if (!kItem) continue;
|
|
45909
|
+
var key=this.BuildKey(kItem);
|
|
45910
|
+
if (!this.MapCache.has(key)) continue;
|
|
45911
|
+
|
|
45912
|
+
var item=this.MapCache.get(key);
|
|
45913
|
+
|
|
45914
|
+
if (bMinute)
|
|
45915
|
+
{
|
|
45916
|
+
var x=this.ChartFrame.GetXFromIndex(j);
|
|
45917
|
+
}
|
|
45918
|
+
else
|
|
45919
|
+
{
|
|
45920
|
+
var left=xOffset;
|
|
45921
|
+
var right=xOffset+dataWidth;
|
|
45922
|
+
if (right>chartright) break;
|
|
45923
|
+
var x=left+(right-left)/2;
|
|
45924
|
+
}
|
|
45925
|
+
|
|
45926
|
+
if (IFrameSplitOperator.IsNumber(item.Up))
|
|
45927
|
+
{
|
|
45928
|
+
var value=Math.abs(item.Up);
|
|
45929
|
+
var y=this.ChartFrame.GetYFromData(value, false);
|
|
45930
|
+
|
|
45931
|
+
aryUpBar.push({ X:x, Y:y});
|
|
45932
|
+
}
|
|
45933
|
+
|
|
45934
|
+
if (IFrameSplitOperator.IsNumber(item.Down))
|
|
45935
|
+
{
|
|
45936
|
+
var value=Math.abs(item.Down)*-1;
|
|
45937
|
+
var y=this.ChartFrame.GetYFromData(value, false);
|
|
45938
|
+
aryDownBar.push({X:x, Y:y});
|
|
45939
|
+
}
|
|
45940
|
+
}
|
|
45941
|
+
|
|
45942
|
+
this.DrawBars(aryUpBar, this.UpColor);
|
|
45943
|
+
this.DrawBars(aryDownBar,this.DownColor);
|
|
45944
|
+
|
|
45945
|
+
this.Canvas.restore();
|
|
45946
|
+
}
|
|
45947
|
+
|
|
45879
45948
|
this.Draw=function()
|
|
45880
45949
|
{
|
|
45881
45950
|
this.YBaseLine=null;
|
|
@@ -45886,6 +45955,14 @@ function ChartBaseLineBar()
|
|
|
45886
45955
|
if (!this.HQChart) return;
|
|
45887
45956
|
if(!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return;
|
|
45888
45957
|
if (!IFrameSplitOperator.IsNumber(this.MaxValue)) return;
|
|
45958
|
+
|
|
45959
|
+
if (this.Style==1)
|
|
45960
|
+
{
|
|
45961
|
+
this.DrawStyle2();
|
|
45962
|
+
return;
|
|
45963
|
+
}
|
|
45964
|
+
|
|
45965
|
+
|
|
45889
45966
|
this.CalculateBaseLine();
|
|
45890
45967
|
|
|
45891
45968
|
if (!IFrameSplitOperator.IsNumber(this.YBaseLine)) return;
|
|
@@ -46053,7 +46130,30 @@ function ChartBaseLineBar()
|
|
|
46053
46130
|
|
|
46054
46131
|
this.GetMaxMin=function()
|
|
46055
46132
|
{
|
|
46056
|
-
|
|
46133
|
+
var range={Min:null, Max:null};
|
|
46134
|
+
|
|
46135
|
+
if (this.Style==1) //独立坐标
|
|
46136
|
+
{
|
|
46137
|
+
if (IFrameSplitOperator.IsNumber(this.DefaultMax)) range.Max=this.DefaultMax;
|
|
46138
|
+
range.Min=0;
|
|
46139
|
+
|
|
46140
|
+
var xPointCount=this.ChartFrame.XPointCount;
|
|
46141
|
+
for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length && j<xPointCount;++i,++j)
|
|
46142
|
+
{
|
|
46143
|
+
var kItem=this.Data.Data[i];
|
|
46144
|
+
if (!kItem) continue;
|
|
46145
|
+
var key=this.BuildKey(kItem);
|
|
46146
|
+
if (!this.MapCache.has(key)) continue;
|
|
46147
|
+
|
|
46148
|
+
var item=this.MapCache.get(key);
|
|
46149
|
+
var value=Math.abs(item.Up);
|
|
46150
|
+
if (range.Max==null || range.Max<value) range.Max=value;
|
|
46151
|
+
var value=Math.abs(item.Down)*-1;
|
|
46152
|
+
if (range.Min>value) range.Min=value;
|
|
46153
|
+
}
|
|
46154
|
+
}
|
|
46155
|
+
|
|
46156
|
+
return range;
|
|
46057
46157
|
}
|
|
46058
46158
|
}
|
|
46059
46159
|
|
|
@@ -129870,6 +129970,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
129870
129970
|
if (config.UpColor) chart.UpColor=config.UpColor;
|
|
129871
129971
|
if (config.DownColor) chart.DownColor=config.DownColor;
|
|
129872
129972
|
if (IFrameSplitOperator.IsNumber(config.DefaultMax)) chart.DefaultMax=config.DefaultMax;
|
|
129973
|
+
if (IFrameSplitOperator.IsNumber(config.Style)) chart.Style=config.Style;
|
|
129873
129974
|
}
|
|
129874
129975
|
|
|
129875
129976
|
chart.BuildCacheData();
|
|
@@ -131445,6 +131546,7 @@ function OverlayScriptIndex(name,script,args,option)
|
|
|
131445
131546
|
if (config.UpColor) chart.UpColor=config.UpColor;
|
|
131446
131547
|
if (config.DownColor) chart.DownColor=config.DownColor;
|
|
131447
131548
|
if (IFrameSplitOperator.IsNumber(config.DefaultMax)) chart.DefaultMax=config.DefaultMax;
|
|
131549
|
+
if (IFrameSplitOperator.IsNumber(config.Style)) chart.Style=config.Style;
|
|
131448
131550
|
}
|
|
131449
131551
|
|
|
131450
131552
|
chart.BuildCacheData();
|
|
@@ -142672,7 +142774,7 @@ function ChartReport()
|
|
|
142672
142774
|
this.RectClient={};
|
|
142673
142775
|
|
|
142674
142776
|
//{ Rect:rtItem, Stock:stock, Index:index, Column:column, RowType:rowType, Type:drawInfo.Tooltip.Type, Data:{ AryText:[ {Text:xx} ]} };
|
|
142675
|
-
//Type:1=数据截断 2=表头提示信息 20=分时图
|
|
142777
|
+
//Type:1=数据截断 2=表头提示信息 4=提示信息 20=分时图 21=K线
|
|
142676
142778
|
// { Text, Color, Title:, TitleColor, Space, Margin:{ Left, Top, Right, Bottom }}
|
|
142677
142779
|
this.TooltipRect=[];
|
|
142678
142780
|
|
|
@@ -144556,7 +144658,7 @@ function ChartReport()
|
|
|
144556
144658
|
//tooltip提示
|
|
144557
144659
|
if (drawInfo.Tooltip)
|
|
144558
144660
|
{
|
|
144559
|
-
//Type:1=数据截断
|
|
144661
|
+
//Type:1=数据截断 4=提示信息
|
|
144560
144662
|
var tooltipData={ Rect:rtItem, Stock:stock, Index:index, Column:column, RowType:rowType, Type:drawInfo.Tooltip.Type, Data:drawInfo.Tooltip.Data };
|
|
144561
144663
|
this.TooltipRect.push(tooltipData);
|
|
144562
144664
|
}
|
|
@@ -144699,10 +144801,13 @@ function ChartReport()
|
|
|
144699
144801
|
this.Canvas.clip();
|
|
144700
144802
|
|
|
144701
144803
|
//数据截断提示信息
|
|
144702
|
-
drawInfo.Tooltip
|
|
144703
|
-
{
|
|
144704
|
-
|
|
144705
|
-
|
|
144804
|
+
if (!drawInfo.Tooltip)
|
|
144805
|
+
{
|
|
144806
|
+
drawInfo.Tooltip=
|
|
144807
|
+
{
|
|
144808
|
+
Type:1,
|
|
144809
|
+
Data:{ AryText:[ {Text:drawInfo.Text} ] }
|
|
144810
|
+
}
|
|
144706
144811
|
}
|
|
144707
144812
|
}
|
|
144708
144813
|
|
|
@@ -145074,6 +145179,15 @@ function ChartReport()
|
|
|
145074
145179
|
if (item.Text) drawInfo.Text=item.Text;
|
|
145075
145180
|
if (item.TextColor) drawInfo.TextColor=item.TextColor;
|
|
145076
145181
|
if (item.BGColor) drawInfo.BGColor=item.BGColor;
|
|
145182
|
+
|
|
145183
|
+
if (item.Tooltip && IFrameSplitOperator.IsNonEmptyArray(item.Tooltip.AryText))
|
|
145184
|
+
{
|
|
145185
|
+
drawInfo.Tooltip=
|
|
145186
|
+
{
|
|
145187
|
+
Type:4,
|
|
145188
|
+
Data:{ AryText:item.Tooltip.AryText }
|
|
145189
|
+
}
|
|
145190
|
+
}
|
|
145077
145191
|
}
|
|
145078
145192
|
else if (IFrameSplitOperator.IsString(item))
|
|
145079
145193
|
{
|
|
@@ -156886,6 +157000,10 @@ function JSTooltipKLineChart()
|
|
|
156886
157000
|
|
|
156887
157001
|
this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;
|
|
156888
157002
|
this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;
|
|
157003
|
+
this.TitleFont=g_JSChartResource.PopMinuteChart.Title.Font; //指标标题字体
|
|
157004
|
+
this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font; //十字光标
|
|
157005
|
+
this.FrameSplitTextFont=g_JSChartResource.PopMinuteChart.Frame.Font; //刻度文字
|
|
157006
|
+
|
|
156889
157007
|
this.OnCreatedCallback=null;
|
|
156890
157008
|
|
|
156891
157009
|
this.KLine=
|
|
@@ -156931,6 +157049,35 @@ function JSTooltipKLineChart()
|
|
|
156931
157049
|
if (this.HQChart) this.KLine.Option.Language=g_JSChartLocalization.GetLanguageName(this.HQChart.LanguageID);
|
|
156932
157050
|
this.KLine.Option.OnCreatedCallback=(chart)=>{ this.OnCreateHQChart(chart); }
|
|
156933
157051
|
this.KLine.Option.NetworkFilter=(data, callback)=>{ this.NetworkFilter(data, callback); }
|
|
157052
|
+
|
|
157053
|
+
var reloadResourceEvent=
|
|
157054
|
+
{
|
|
157055
|
+
event:JSCHART_EVENT_ID.ON_RELOAD_RESOURCE,
|
|
157056
|
+
callback:(event, data, obj)=>{ this.LoadChartResource(obj); }
|
|
157057
|
+
}
|
|
157058
|
+
|
|
157059
|
+
var splitXEvent=
|
|
157060
|
+
{
|
|
157061
|
+
event:JSCHART_EVENT_ID.ON_SPLIT_XCOORDINATE,
|
|
157062
|
+
callback:(event, data, obj)=>{ this.OnSplitXCoordinate(event, data, obj); }
|
|
157063
|
+
};
|
|
157064
|
+
|
|
157065
|
+
var splitYEvent=
|
|
157066
|
+
{
|
|
157067
|
+
event:JSCHART_EVENT_ID.ON_SPLIT_YCOORDINATE,
|
|
157068
|
+
callback:(event, data, obj)=>{ this.OnSplitYCoordinate(event, data, obj); }
|
|
157069
|
+
}
|
|
157070
|
+
|
|
157071
|
+
if (Array.isArray(this.KLine.Option.EventCallback))
|
|
157072
|
+
{
|
|
157073
|
+
this.KLine.Option.EventCallback.unshift(reloadResourceEvent,splitYEvent,splitYEvent);
|
|
157074
|
+
}
|
|
157075
|
+
else
|
|
157076
|
+
{
|
|
157077
|
+
this.KLine.Option.EventCallback=[reloadResourceEvent,splitXEvent,splitYEvent];
|
|
157078
|
+
}
|
|
157079
|
+
|
|
157080
|
+
|
|
156934
157081
|
chart.SetOption(this.KLine.Option); //设置K线配置
|
|
156935
157082
|
|
|
156936
157083
|
document.body.appendChild(divDom);
|
|
@@ -156960,6 +157107,8 @@ function JSTooltipKLineChart()
|
|
|
156960
157107
|
|
|
156961
157108
|
this.OnCreateHQChart=function(chart)
|
|
156962
157109
|
{
|
|
157110
|
+
this.LoadChartResource(chart);
|
|
157111
|
+
|
|
156963
157112
|
if (this.OnCreatedCallback) this.OnCreatedCallback(chart);
|
|
156964
157113
|
}
|
|
156965
157114
|
|
|
@@ -157041,6 +157190,10 @@ function JSTooltipKLineChart()
|
|
|
157041
157190
|
this.BGColor=g_JSChartResource.PopMinuteChart.BGColor;
|
|
157042
157191
|
this.BorderColor=g_JSChartResource.PopMinuteChart.BorderColor;
|
|
157043
157192
|
|
|
157193
|
+
this.TitleFont=g_JSChartResource.PopMinuteChart.Title.Font; //指标标题字体
|
|
157194
|
+
this.CorssCursorFont=g_JSChartResource.PopMinuteChart.CorssCursor.Font; //十字光标
|
|
157195
|
+
this.FrameSplitTextFont=g_JSChartResource.PopMinuteChart.Frame.Font; //刻度文字
|
|
157196
|
+
|
|
157044
157197
|
if (!this.DivDialog) return;
|
|
157045
157198
|
|
|
157046
157199
|
this.UpdateStyle();
|
|
@@ -157048,6 +157201,63 @@ function JSTooltipKLineChart()
|
|
|
157048
157201
|
if (this.KLine.JSChart) this.KLine.JSChart.ReloadResource(option);
|
|
157049
157202
|
}
|
|
157050
157203
|
|
|
157204
|
+
this.LoadChartResource=function(chart)
|
|
157205
|
+
{
|
|
157206
|
+
if (IFrameSplitOperator.IsNonEmptyArray(chart.TitlePaint))
|
|
157207
|
+
{
|
|
157208
|
+
for(var i=0;i<chart.TitlePaint.length;++i)
|
|
157209
|
+
{
|
|
157210
|
+
var item=chart.TitlePaint[i];
|
|
157211
|
+
if (!item) continue;
|
|
157212
|
+
|
|
157213
|
+
item.Font=this.TitleFont;
|
|
157214
|
+
}
|
|
157215
|
+
}
|
|
157216
|
+
|
|
157217
|
+
if (IFrameSplitOperator.IsNonEmptyArray(chart.WindowIndex))
|
|
157218
|
+
{
|
|
157219
|
+
for(var i=0;i<chart.WindowIndex.length;++i) //去掉指标里面的字体
|
|
157220
|
+
{
|
|
157221
|
+
var item=chart.WindowIndex[i];
|
|
157222
|
+
if (!item) continue;
|
|
157223
|
+
item.TitleFont=null;
|
|
157224
|
+
}
|
|
157225
|
+
}
|
|
157226
|
+
|
|
157227
|
+
if (chart.ChartCorssCursor)
|
|
157228
|
+
{
|
|
157229
|
+
chart.ChartCorssCursor.Font=this.CorssCursorFont;
|
|
157230
|
+
}
|
|
157231
|
+
}
|
|
157232
|
+
|
|
157233
|
+
this.OnSplitXCoordinate=function(event, data, obj)
|
|
157234
|
+
{
|
|
157235
|
+
var frame=data.Frame;
|
|
157236
|
+
if (IFrameSplitOperator.IsNonEmptyArray(frame.VerticalInfo))
|
|
157237
|
+
{
|
|
157238
|
+
for(var i=0;i<frame.VerticalInfo.length;++i)
|
|
157239
|
+
{
|
|
157240
|
+
var item=frame.VerticalInfo[i];
|
|
157241
|
+
if (!item) continue;
|
|
157242
|
+
if (item.Font) item.Font=this.FrameSplitTextFont;
|
|
157243
|
+
}
|
|
157244
|
+
}
|
|
157245
|
+
}
|
|
157246
|
+
|
|
157247
|
+
this.OnSplitYCoordinate=function(event, data, obj)
|
|
157248
|
+
{
|
|
157249
|
+
var frame=data.Frame;
|
|
157250
|
+
if (IFrameSplitOperator.IsNonEmptyArray(frame.HorizontalInfo))
|
|
157251
|
+
{
|
|
157252
|
+
for(var i=0;i<frame.HorizontalInfo.length;++i)
|
|
157253
|
+
{
|
|
157254
|
+
var item=frame.HorizontalInfo[i];
|
|
157255
|
+
if (!item) continue;
|
|
157256
|
+
if (item.Font) item.Font=this.FrameSplitTextFont;
|
|
157257
|
+
}
|
|
157258
|
+
}
|
|
157259
|
+
}
|
|
157260
|
+
|
|
157051
157261
|
}
|
|
157052
157262
|
|
|
157053
157263
|
JSTooltipKLineChart.GetKLineOption=function()
|
|
@@ -158908,6 +159118,10 @@ function JSFloatTooltip()
|
|
|
158908
159118
|
{
|
|
158909
159119
|
this.ReportCellTruncateTooltip(data);
|
|
158910
159120
|
}
|
|
159121
|
+
else if (tooltipData.Type==4) //单元格提示信息
|
|
159122
|
+
{
|
|
159123
|
+
this.ReportCellTooltip(data);
|
|
159124
|
+
}
|
|
158911
159125
|
}
|
|
158912
159126
|
else if (data.DataType==4) //T型报价
|
|
158913
159127
|
{
|
|
@@ -159194,6 +159408,18 @@ function JSFloatTooltip()
|
|
|
159194
159408
|
this.ShowTooltip(data);
|
|
159195
159409
|
}
|
|
159196
159410
|
|
|
159411
|
+
//单元格提示信息
|
|
159412
|
+
this.ReportCellTooltip=function(data)
|
|
159413
|
+
{
|
|
159414
|
+
var tooltipData=data.Tooltip;
|
|
159415
|
+
if (!tooltipData.Data || !IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText)) return;
|
|
159416
|
+
|
|
159417
|
+
this.AryText=tooltipData.Data.AryText;
|
|
159418
|
+
this.UpdateTableDOM();
|
|
159419
|
+
|
|
159420
|
+
this.ShowTooltip(data);
|
|
159421
|
+
}
|
|
159422
|
+
|
|
159197
159423
|
//表格单元格截断内容
|
|
159198
159424
|
this.ReportCellTruncateTooltip=function(data)
|
|
159199
159425
|
{
|
|
@@ -159244,7 +159470,8 @@ function JSFloatTooltip()
|
|
|
159244
159470
|
if (outItem.HTMLTitle) item.TitleSpan.innerHTML=outItem.HTMLTitle
|
|
159245
159471
|
else item.TitleSpan.innerText=outItem.Title;
|
|
159246
159472
|
|
|
159247
|
-
item.TitleSpan.style.color=
|
|
159473
|
+
if (outItem.TitleColor) item.TitleSpan.style.color=outItem.TitleColor;
|
|
159474
|
+
else item.TitleSpan.style.color=this.TextColor;
|
|
159248
159475
|
|
|
159249
159476
|
if (outItem.HTMLText) item.TextSpan.innerHTML=outItem.HTMLText
|
|
159250
159477
|
else item.TextSpan.innerText=outItem.Text;
|
|
@@ -162135,7 +162362,7 @@ function HQChartScriptWorker()
|
|
|
162135
162362
|
|
|
162136
162363
|
|
|
162137
162364
|
|
|
162138
|
-
var HQCHART_VERSION="1.1.
|
|
162365
|
+
var HQCHART_VERSION="1.1.14909";
|
|
162139
162366
|
|
|
162140
162367
|
function PrintHQChartVersion()
|
|
162141
162368
|
{
|