hqchart 1.1.14630 → 1.1.14635
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 +14 -10
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogTooltip.js +10 -0
- package/src/jscommon/umychart.complier.js +1 -0
- package/src/jscommon/umychart.js +59 -6
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +61 -7
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +71 -7
package/lib/umychart.vue.js
CHANGED
|
@@ -2119,7 +2119,8 @@ this.Tooltip.style.position="absolute";this.Tooltip.style.left=left+"px";this.To
|
|
|
2119
2119
|
this.Tooltip.style.position="absolute";this.Tooltip.style.left=left+"px";this.Tooltip.style.top=top+xMove+"px";this.Tooltip.style.width=width+"px";this.Tooltip.style.height=null;this.Tooltip.innerHTML=format.Text;;this.Tooltip.style.display="block";}else if(toolTip.Type==7)//ChartDrawSVG
|
|
2120
2120
|
{if(this.FloatTooltip){this.DrawFloatTooltip({X:x,Y:y,YMove:20/pixelTatio},toolTip);bHideFloatToolip=false;return;}var left=x;var top=y;var format=g_DivTooltipDataForamt.Create('ChartDrawSVGDataStringFormat');format.Value=toolTip;format.Symbol=this.Symbol;format.Period=this.Period;format.LanguageID=this.LanguageID;if(!format.Operator())return;var width=format.Width;this.Tooltip.className='jchart-chartdrawsvg-tooltip';//ChartDrawSVG指标数据
|
|
2121
2121
|
this.Tooltip.style.position="absolute";this.Tooltip.style.left=left+"px";this.Tooltip.style.top=top+xMove+"px";this.Tooltip.style.width=width+"px";this.Tooltip.style.height=null;this.Tooltip.innerHTML=format.Text;this.Tooltip.style.display="block";}else if(toolTip.Type==8)//ChartDrawSVG 新版本
|
|
2122
|
-
{if(this.FloatTooltip){this.DrawFloatTooltip({X:x,Y:y,YMove:20/pixelTatio},toolTip);bHideFloatToolip=false;return;}}
|
|
2122
|
+
{if(this.FloatTooltip){this.DrawFloatTooltip({X:x,Y:y,YMove:20/pixelTatio},toolTip);bHideFloatToolip=false;return;}}else if(toolTip.Type==9)//ChartKLineTable
|
|
2123
|
+
{if(toolTip.Data.Item&&toolTip.Data.Item.Tooltip&&this.FloatTooltip){this.DrawFloatTooltip({X:x,Y:y,YMove:20/pixelTatio},toolTip);bHideFloatToolip=false;return;}}if(bHideFloatToolip)this.HideFloatTooltip();};this.UpdateDOMTooltip=function(toolTipType,data){var _this14=this;if(!this.TooltipCache.IsShow)return;if(this.TooltipCache.Type!=toolTipType)return;if(!this.TooltipCache.Data)return;if(this.TooltipCache.Type===0){if(!data||!IFrameSplitOperator.IsNonEmptyArray(data.Data))return;var lastItem=data.Data[data.Data.length-1];if(lastItem.Date!=this.TooltipCache.Data.Date)return;if(IFrameSplitOperator.IsNumber(lastItem.Time)&&lastItem.Time!=this.TooltipCache.Data.Time)return;var klinePaint=this.ChartPaint[0];var format=g_DivTooltipDataForamt.Create('HistoryDataStringFormat');format.Value={Data:lastItem,ChartPaint:klinePaint,Type:this.TooltipCache.Type};format.Symbol=this.Symbol;format.LanguageID=this.LanguageID;format.GetEventCallback=function(id){return _this14.GetEventCallback(id);};if(!format.Operator())return;if(format.Text==this.TooltipCache.InnerHTML)return;this.Tooltip.innerHTML=format.Text;this.TooltipCache.InnerHTML=format.Text;}};this.HideTooltip=function(){this.TooltipCache.IsShow=false;this.TooltipCache.Type=null;this.TooltipCache.InnerHTML=null;this.TooltipCache.Data=null;if(this.Tooltip.style.display!="none")this.Tooltip.style.display="none";this.HideFloatTooltip();};this.UpdateSelectRect=function(start,end){if(!this.ChartPaint[0].Data)return;var paint=this.GetRectSelectPaint();if(!paint)return;var data=this.ChartPaint[0].Data;var count=data.Data.length;if(end>=count)end=count-1;var startItem=data.Data[start];var endItem=data.Data[end];JSConsole.Chart.Log('[JSChartContainer::UpdateSelectRect]',startItem,endItem);paint.SetPoint(startItem,{Index:0,DataIndex:start});paint.SetPoint(endItem,{Index:1,DataIndex:end});this.Draw();};this.HideSelectRect=function(){this.ClearDragSelectRect();};this.ResetFrameXYSplit=function(){if(typeof this.Frame.ResetXYSplit=='function')this.Frame.ResetXYSplit();};this.ResetFrameXSplit=function(){if(typeof this.Frame.ResetXSplit=='function')this.Frame.ResetXSplit();};this.ResetFrameYCustomSplit=function(windowIndex){if(typeof this.Frame.ResetYCustomSplit=='function')this.Frame.ResetYCustomSplit(windowIndex);};this.UpdateFrameMaxMinV2=function(){var mapFrame=new _map2.default();//key=frameid, value:{ ChartPaint:[] }
|
|
2123
2124
|
for(var i=0;i<this.Frame.SubFrame.length;++i){var subItem=this.Frame.SubFrame[i];if(!subItem||!subItem.Frame)continue;var frame=subItem.Frame;//自定义刻度每次都调用
|
|
2124
2125
|
frame.YCustomSplit=true;var key=frame.Identify;var item={ID:key,Frame:frame,ChartPaint:[],Max:null,Min:null,OverlayFrame:[],//共享坐标
|
|
2125
2126
|
SingleOverlay:[],//独立坐标
|
|
@@ -4068,14 +4069,16 @@ this.RowCount=5;//行数
|
|
|
4068
4069
|
this.RowHeight=10;//行高
|
|
4069
4070
|
this.RowHeightType=1;//0=均分 1=固定高度
|
|
4070
4071
|
this.TextFontConfig=CloneData(g_JSChartResource.ChartKLineTable.TextFont);this.ItemMergin=CloneData(g_JSChartResource.ChartKLineTable.ItemMergin);this.TextFont;this.TextColor='rgb(0,0,0)';this.AryTableData=[];this.MapCache=null;//key=date/date-time value={ Date:, Time:, Data:[ ] }
|
|
4071
|
-
this.GetKValue=ChartData.GetKValue;this.
|
|
4072
|
+
this.GetKValue=ChartData.GetKValue;this.AryCellRect=[];//保存单元格信息
|
|
4073
|
+
this.BuildCacheData=function(){var mapData=new _map2.default();this.MapCache=mapData;if(!IFrameSplitOperator.IsNonEmptyArray(this.AryTableData))return;for(var i=0;i<this.AryTableData.length;++i){var item=this.AryTableData[i];var key=this.BuildKey(item);mapData.set(key,item);}};//绘制背景色
|
|
4072
4074
|
this.DrawBG=function(rtBG){if(!this.BGColor)return;if(this.BGColor){this.Canvas.fillStyle=this.BGColor;this.Canvas.fillRect(rtBG.Left+1,rtBG.Top,rtBG.Width-1,rtBG.Height);}};this.DrawBorder=function(rtBG){if(!this.BorderColor)return;var yLine=rtBG.Top;for(var i=0;i<30;++i){this.Canvas.beginPath();this.Canvas.moveTo(rtBG.Left,ToFixedPoint(yLine));this.Canvas.lineTo(rtBG.Right,ToFixedPoint(yLine));this.Canvas.stroke();yLine+=this.RowHeight;if(yLine>=rtBG.Bottom)break;}};//计算行高
|
|
4073
|
-
this.CalculateRowHeight=function(rtBG){if(this.RowHeightType==1){this.RowHeight=this.TextFontConfig.FontMaxSize+this.ItemMergin.Top+this.ItemMergin.Bottom;}else{this.RowHeight=rtBG.Height/this.RowCount;}};this.Draw=function(){if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!IFrameSplitOperator.IsNonEmptyArray(this.AryTableData))return;if(!this.MapCache||this.MapCache.size<=0)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;var isHScreen=this.ChartFrame.IsHScreen===true;if(isHScreen)return;if(this.RowCount<=0)return;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;var border=this.ChartFrame.GetBorder();var height=border.Bottom-border.TopTitle;var xOffset=border.LeftEx+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var top=border.TopTitle;var bottom=border.Bottom;//绘制背景
|
|
4075
|
+
this.CalculateRowHeight=function(rtBG){if(this.RowHeightType==1){this.RowHeight=this.TextFontConfig.FontMaxSize+this.ItemMergin.Top+this.ItemMergin.Bottom;}else{this.RowHeight=rtBG.Height/this.RowCount;}};this.Draw=function(){this.AryCellRect=[];if(!this.IsShow||this.ChartFrame.IsMinSize||!this.IsVisible)return;if(this.IsShowIndexTitleOnly())return;if(this.IsHideScriptIndex())return;if(!IFrameSplitOperator.IsNonEmptyArray(this.AryTableData))return;if(!this.MapCache||this.MapCache.size<=0)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;var isHScreen=this.ChartFrame.IsHScreen===true;if(isHScreen)return;if(this.RowCount<=0)return;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;var border=this.ChartFrame.GetBorder();var height=border.Bottom-border.TopTitle;var xOffset=border.LeftEx+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var top=border.TopTitle;var bottom=border.Bottom;//绘制背景
|
|
4074
4076
|
var rtBG={Left:border.LeftEx,Top:top,Right:border.RightEx,Bottom:bottom};rtBG.Width=rtBG.Right-rtBG.Left;rtBG.Height=rtBG.Bottom-rtBG.Top;this.DrawBG(rtBG);this.CalculateRowHeight(rtBG);var itemHeight=this.RowHeight;var itemWidth=dataWidth+distanceWidth;if(itemHeight-this.ItemMergin.Top-this.ItemMergin.Bottom>0)itemHeight=itemHeight-this.ItemMergin.Top-this.ItemMergin.Bottom;if(itemWidth-this.ItemMergin.Left-this.ItemMergin.Right>0)itemWidth=itemWidth-this.ItemMergin.Left-this.ItemMergin.Right;var font=this.GetDynamicTextFont(itemHeight,itemWidth);this.TextFont=font;this.Canvas.font=this.TextFont;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 left=xOffset;var right=xOffset+dataWidth+distanceWidth;if(right>chartright)break;var x=left+(right-left)/2;if(x>chartright)break;var bDrawName=false;if(j==0&&this.RowNamePosition===1)bDrawName=true;if(bDrawName)this.DrawRowName(top,bottom,left,right);var key=this.BuildKey(kItem);if(!this.MapCache.has(key))continue;var mapItem=this.MapCache.get(key);if(!bDrawName)this.DrawRow(mapItem,top,bottom,left,right);//绘制一列
|
|
4075
4077
|
}if(this.RowNamePosition==3)this.DrawRightRowName();this.DrawBorder(rtBG);};this.DrawRowName=function(top,bottom,left,right){if(!IFrameSplitOperator.IsNonEmptyArray(this.RowName))return;var x=left,y=top,width=right-left;var yOffset=3;if(this.ItemMergin.YOffset)yOffset=this.ItemMergin.YOffset;for(var i=0;i<this.RowName.length;++i){var item=this.RowName[i];var rtBG={Left:x,Top:y,Right:right,Height:this.RowHeight,Width:width};rtBG.Bottom=rtBG.Top+this.RowHeight;var yText=rtBG.Bottom-yOffset;if(item.Name&&rtBG.Width>10){this.Canvas.fillStyle=item.Color?item.Color:this.TextColor;this.Canvas.textBaseline='bottom';if(item.TextAlign=='right'){this.Canvas.textAlign='right';this.Canvas.fillText(item.Name,rtBG.Right-2,yText,width-4);}else if(item.TextAlign=='center'){this.Canvas.textAlign='center';this.Canvas.fillText(item.Name,rtBG.Left+rtBG.Width/2,yText,width-4);}else{this.Canvas.textAlign='left';this.Canvas.fillText(item.Name,rtBG.Left+2,yText,width-4);}}y+=this.RowHeight;}};//绘制右侧行名
|
|
4076
|
-
this.DrawRightRowName=function(){var border=this.ChartFrame.GetBorder();if(this.BGColor){var rtRightBG={Left:border.RightEx,Top:border.
|
|
4077
|
-
{var subCellWidth=rtBG.Width/item.AryText.length;var xCell=rtBG.Left;for(var j=0;j<item.AryText.length;++j){var subItem=item.AryText[j];var rtSubBG={Left:xCell,Top:rtBG.Top,Bottom:rtBG.Bottom,Width:subCellWidth,Height:rtBG.Height};rtSubBG.Right=rtSubBG.Left+rtSubBG.Width;if(subItem&&subItem.BGColor){this.Canvas.fillStyle=subItem.BGColor;this.Canvas.fillRect(rtSubBG.Left,rtSubBG.Top,rtSubBG.Width,rtSubBG.Height);}if(subItem&&subItem.Color&&subCellWidth>10){this.Canvas.fillStyle=subItem.Color;this.Canvas.textBaseline='bottom';var yText=rtSubBG.Bottom-yOffset;if(subItem.TextAlign=='right'){this.Canvas.textAlign='right';this.Canvas.fillText(subItem.Text,rtSubBG.Right-2,yText,width-4);}else if(subItem.TextAlign=='center'){this.Canvas.textAlign='center';this.Canvas.fillText(subItem.Text,rtSubBG.Left+rtSubBG.Width/2,yText,width-4);}else{this.Canvas.textAlign='left';this.Canvas.fillText(subItem.Text,rtSubBG.Left+2,yText,width-4);}}xCell+=subCellWidth;}}else{if(item
|
|
4078
|
-
if(fontSize>this.TextFontConfig.FontMaxSize)fontSize=this.TextFontConfig.FontMaxSize;else if(fontSize<=0)fontSize=1;var font=this.FormatFontString(fontSize,this.TextFontConfig.Family,fontOption);return font;};this.FormatFontString=function(fontSize,family,option){var font;if(!option){font=fontSize+'px '+family;}else{if(option.Weight)font=option.Weight+' '+fontSize+'px '+family;}return font;};this.GetMaxMin=function(){return{Min:0,Max:this.RowCount};};}
|
|
4078
|
+
this.DrawRightRowName=function(){var border=this.ChartFrame.GetBorder();if(this.BGColor){var rtRightBG={Left:border.RightEx,Top:border.Top,Right:border.ChartWidth,Bottom:border.Bottom};rtRightBG.Width=rtRightBG.Right-rtRightBG.Left;rtRightBG.Height=rtRightBG.Bottom-rtRightBG.Top;this.Canvas.fillStyle=this.BGColor;this.Canvas.fillRect(rtRightBG.Left+1,rtRightBG.Top,rtRightBG.Width-1,rtRightBG.Height);}var x=border.RightEx,y=border.TopTitle;var yOffset=3;if(this.ItemMergin.YOffset)yOffset=this.ItemMergin.YOffset;for(var i=0;i<this.RowName.length;++i){var item=this.RowName[i];var rtBG={Left:x,Top:y,Right:border.ChartWidth,Height:this.RowHeight};rtBG.Bottom=rtBG.Top+this.RowHeight;rtBG.Width=rtBG.Right-rtBG.Left;var yText=rtBG.Bottom-yOffset;if(rtBG.Bottom>border.Bottom)break;if(item.Name&&rtBG.Width>10){this.Canvas.fillStyle=item.Color?item.Color:this.TextColor;this.Canvas.textBaseline='bottom';this.Canvas.textAlign='left';this.Canvas.fillText(item.Name,rtBG.Left+2,yText);}y+=this.RowHeight;}};this.DrawRow=function(data,top,bottom,left,right){if(!IFrameSplitOperator.IsNonEmptyArray(data.Data))return;var x=left,y=top,width=right-left;var yOffset=3;if(this.ItemMergin.YOffset)yOffset=this.ItemMergin.YOffset;for(var i=0;i<data.Data.length;++i,y+=this.RowHeight){var item=data.Data[i];if(!item)continue;var rtBG={Left:x,Top:y,Right:right,Height:this.RowHeight,Width:width};rtBG.Bottom=rtBG.Top+this.RowHeight;if(rtBG.Bottom>bottom)break;if(IFrameSplitOperator.IsNonEmptyArray(item.AryText))//左右显示
|
|
4079
|
+
{var subCellWidth=rtBG.Width/item.AryText.length;var xCell=rtBG.Left;for(var j=0;j<item.AryText.length;++j){var subItem=item.AryText[j];var rtSubBG={Left:xCell,Top:rtBG.Top,Bottom:rtBG.Bottom,Width:subCellWidth,Height:rtBG.Height};rtSubBG.Right=rtSubBG.Left+rtSubBG.Width;if(subItem&&subItem.BGColor){this.Canvas.fillStyle=subItem.BGColor;this.Canvas.fillRect(rtSubBG.Left,rtSubBG.Top,rtSubBG.Width,rtSubBG.Height);}if(subItem&&subItem.Color&&subCellWidth>10){this.Canvas.fillStyle=subItem.Color;this.Canvas.textBaseline='bottom';var yText=rtSubBG.Bottom-yOffset;if(subItem.TextAlign=='right'){this.Canvas.textAlign='right';this.Canvas.fillText(subItem.Text,rtSubBG.Right-2,yText,width-4);}else if(subItem.TextAlign=='center'){this.Canvas.textAlign='center';this.Canvas.fillText(subItem.Text,rtSubBG.Left+rtSubBG.Width/2,yText,width-4);}else{this.Canvas.textAlign='left';this.Canvas.fillText(subItem.Text,rtSubBG.Left+2,yText,width-4);}}if(rtBG.Width>5){this.AryCellRect.push({Item:{Cell:item,Colunm:data,RowIndex:i,SubCell:subItem,SubIndex:j,Tooltip:subItem.Tooltip,Type:2},Rect:rtBG});}xCell+=subCellWidth;}}else{if(item.BGColor){this.Canvas.fillStyle=item.BGColor;this.Canvas.fillRect(rtBG.Left,rtBG.Top,rtBG.Width,rtBG.Height);}if(item.Text&&rtBG.Width>10){if(item.Color)this.Canvas.fillStyle=item.Color;else this.Canvas.fillStyle=this.TextColor;this.Canvas.textBaseline='bottom';var yText=rtBG.Bottom-yOffset;if(item.TextAlign=='right'){this.Canvas.textAlign='right';this.Canvas.fillText(item.Text,rtBG.Right-2,yText,width-4);}else if(item.TextAlign=='center'){this.Canvas.textAlign='center';this.Canvas.fillText(item.Text,rtBG.Left+rtBG.Width/2,yText,width-4);}else{this.Canvas.textAlign='left';this.Canvas.fillText(item.Text,rtBG.Left+2,yText,width-4);}}if(rtBG.Width>5){this.AryCellRect.push({Item:{Cell:item,Colunm:data,RowIndex:i,Tooltip:item.Tooltip,Type:1},Rect:rtBG});}}}};this.GetDynamicTextFont=function(cellHeight,width,fontOption){var fontSize=parseInt(cellHeight)-2;if(cellHeight<5)fontSize=parseInt(cellHeight);//高度太小了就不要上下间距了
|
|
4080
|
+
if(fontSize>this.TextFontConfig.FontMaxSize)fontSize=this.TextFontConfig.FontMaxSize;else if(fontSize<=0)fontSize=1;var font=this.FormatFontString(fontSize,this.TextFontConfig.Family,fontOption);return font;};this.FormatFontString=function(fontSize,family,option){var font;if(!option){font=fontSize+'px '+family;}else{if(option.Weight)font=option.Weight+' '+fontSize+'px '+family;}return font;};this.GetMaxMin=function(){return{Min:0,Max:this.RowCount};};this.GetTooltipData=function(x,y,tooltip){if(!this.IsShow)return false;for(var i=0;i<this.AryCellRect.length;++i){var item=this.AryCellRect[i];if(!item.Rect)continue;var rect=item.Rect;if(x>=rect.Left&&x<=rect.Right&&y>=rect.Top&&y<=rect.Bottom){var data=item.Item;JSConsole.Chart.Log('[ChartKLineTable::GetTooltipData] cell',item);tooltip.Data={Rect:item.Rect,Item:data};tooltip.ChartPaint=this;tooltip.Type=9;//ChartKLineTable
|
|
4081
|
+
return true;}}return false;};}//表格
|
|
4079
4082
|
function ChartSimpleTable(){this.newMethod=IChartPainting;//派生
|
|
4080
4083
|
this.newMethod();delete this.newMethod;this.ClassName='ChartSimpleTable';//类名
|
|
4081
4084
|
//this.Data;
|
|
@@ -12290,7 +12293,7 @@ chart.Bars=varItem.Draw.DrawData;chart.BuildCacheData();this.SetChartIndexName(c
|
|
|
12290
12293
|
chart.Texts=varItem.Draw.DrawData;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateMultiSVGIcon=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiSVGIconV2();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.GetKData();//绑定K线
|
|
12291
12294
|
chart.Family=varItem.Draw.DrawData.Family;chart.AryIcon=varItem.Draw.DrawData.Icon;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateChartDrawSVG=function(hqChart,windowIndex,varItem,i){var chart=new ChartDrawSVG();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.GetKData();if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.EnableTooltip))chart.EnableTooltip=varItem.Draw.DrawData.EnableTooltip;if(IFrameSplitOperator.IsBool(varItem.Draw.DrawData.IsDrawFirst))chart.IsDrawFirst=varItem.Draw.DrawData.IsDrawFirst;if(varItem.Draw.BuildKeyCallback)chart.BuildKeyCallback=varItem.Draw.BuildKeyCallback;chart.Family=varItem.Draw.DrawData.Family;chart.TextFont=varItem.Draw.DrawData.TextFont;chart.Texts=varItem.Draw.DrawData.Data;chart.BuildCacheData();this.SetChartIndexName(chart);hqChart.ChartPaint.push(chart);};this.CreateMulitHtmlDom=function(hqChart,windowIndex,varItem,i){var chart=new ChartMultiHtmlDom();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.Data=hqChart.ChartPaint[0].Data;//绑定K线
|
|
12292
12295
|
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线
|
|
12293
|
-
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(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();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线
|
|
12296
|
+
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();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线
|
|
12294
12297
|
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();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线
|
|
12295
12298
|
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;//虚线
|
|
12296
12299
|
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线
|
|
@@ -14702,7 +14705,8 @@ this.Update=function(data){if(!this.DivDialog)return;this.LanguageID=this.HQChar
|
|
|
14702
14705
|
{this.UpdatChartOXTooltip(data);}else if(tooltipData.Type==6)//散点图
|
|
14703
14706
|
{this.UpdatChartScatterPlotTooltip(data);}else if(tooltipData.Type==7)//ChartDrawSVG 老版本 单行
|
|
14704
14707
|
{this.UpdateChartDrawSVGTooltip(data);}else if(tooltipData.Type==8)//ChartDrawSVG 新版本
|
|
14705
|
-
{this.UpdateChartDrawSVGV2Tooltip(data);}
|
|
14708
|
+
{this.UpdateChartDrawSVGV2Tooltip(data);}else if(tooltipData.Type==9)//ChartKLineTable
|
|
14709
|
+
{this.UpdateChartKLineTableTooltip(data);}}else if(data.DataType==2)//更新实时行情数据
|
|
14706
14710
|
{this.UpdateRealtimeHQTooltip(data);}else if(data.DataType==3)//报价列表
|
|
14707
14711
|
{var tooltipData=data.Tooltip;if(!tooltipData)return;if(tooltipData.Type==2)//报价列表表头图标提示信息
|
|
14708
14712
|
{this.ReportHeaderIconTooltip(data);}else if(tooltipData.Type==1)//单元格截断内容
|
|
@@ -14713,7 +14717,7 @@ this.UpdateKLineToolitp=function(data){var tooltipData=data.Tooltip;var symbol=d
|
|
|
14713
14717
|
var bIndexKLine=false;if(tooltipData.ChartPaint.Name=="Overlay-KLine"){symbol=tooltipData.ChartPaint.Symbol;name=tooltipData.ChartPaint.Title;bOverlay=true;}else if(tooltipData.ChartPaint.Name=="DRAWKLINE"){symbol=tooltipData.ChartPaint.Symbol;name=tooltipData.ChartPaint.Title;bIndexKLine=true;}var kItem={Symbol:symbol,Name:name,Item:CloneData(tooltipData.Data),IsOverlay:bOverlay,IsIndexKLine:bIndexKLine};var strKItem=(0,_stringify2.default)(kItem);var bUpdata=false;if(this.KItemCacheID!=strKItem)//数据变动的才更新
|
|
14714
14718
|
{this.KItemCache=kItem;this.KItemCacheID=strKItem;this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);bUpdata=true;}if(bUpdata){this.UpdateTableDOM();}this.ShowTooltip(data);};//ChartDrawSVG 老版本 单行
|
|
14715
14719
|
this.UpdateChartDrawSVGTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!tooltipData.Data.Item||!tooltipData.Data.Item.Tooltip)return;var item=tooltipData.Data.Item.Tooltip;var aryText=[];var rowItem={Text:"",HTMLTitle:item.Text,Color:this.ValueColor,IsMergeCell:true};aryText.push(rowItem);this.AryText=aryText;this.UpdateTableDOM();this.ShowTooltip(data);};//ChartDrawSVG 新版本
|
|
14716
|
-
this.UpdateChartDrawSVGV2Tooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!tooltipData.Data.Item||!tooltipData.Data.Item.Tooltip)return;var aryData=tooltipData.Data.Item.Tooltip.AryText;if(!IFrameSplitOperator.IsNonEmptyArray(aryData))return;var aryText=[];for(var i=0;i<aryData.length;++i){var item=aryData[i];var rowItem={Title:"",Text:"",Color:this.ValueColor,ClassName:this.ValueAlign.MarginLeft};if(item.TextColor)rowItem.Color=item.TextColor;if(item.Title)rowItem.Title=item.Title;if(item.Text)rowItem.Text=item.Text;aryText.push(rowItem);}this.AryText=aryText;this.UpdateTableDOM();this.ShowTooltip(data);};//交易指标
|
|
14720
|
+
this.UpdateChartDrawSVGV2Tooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!tooltipData.Data.Item||!tooltipData.Data.Item.Tooltip)return;var aryData=tooltipData.Data.Item.Tooltip.AryText;if(!IFrameSplitOperator.IsNonEmptyArray(aryData))return;var aryText=[];for(var i=0;i<aryData.length;++i){var item=aryData[i];var rowItem={Title:"",Text:"",Color:this.ValueColor,ClassName:this.ValueAlign.MarginLeft};if(item.TextColor)rowItem.Color=item.TextColor;if(item.Title)rowItem.Title=item.Title;if(item.Text)rowItem.Text=item.Text;aryText.push(rowItem);}this.AryText=aryText;this.UpdateTableDOM();this.ShowTooltip(data);};this.UpdateChartKLineTableTooltip=function(data){this.UpdateChartDrawSVGV2Tooltip(data);};//交易指标
|
|
14717
14721
|
this.UpdateTradeIndexTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!tooltipData.Data.Data)return;var item=tooltipData.Data.Data;var kItem=item.KData;var aryText=[];var rowItem={Title:"日期",Text:IFrameSplitOperator.FormatDateString(kItem.Date,"YYYY-MM-DD"),Color:this.ValueColor};aryText.push(rowItem);if(IFrameSplitOperator.IsNumber(kItem.Time)){var format="HH:MM";var rowItem={Title:"时间",Text:IFrameSplitOperator.FormatTimeString(kItem.Time,format),Color:this.ValueColor};aryText.push(rowItem);}var rowItem={Title:"指标名称:",Text:''+item.Name+item.Param,Color:this.ValueColor};aryText.push(rowItem);var rowItem={Title:"买卖方向:",Text:''+(item.Type==1?"买入":"卖出"),Color:item.Type==1?this.UpColor:this.DownColor};aryText.push(rowItem);var rowItem={};this.AryText=aryText;this.UpdateTableDOM();this.ShowTooltip(data);};//分时图异动信息
|
|
14718
14722
|
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 图标信息
|
|
14719
14723
|
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 信息
|
|
@@ -14885,7 +14889,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
14885
14889
|
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);};}/********************************************************************************
|
|
14886
14890
|
* 版本信息输出
|
|
14887
14891
|
*
|
|
14888
|
-
*/var HQCHART_VERSION="1.1.
|
|
14892
|
+
*/var HQCHART_VERSION="1.1.14634";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();//把给外界调用的方法暴露出来
|
|
14889
14893
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
14890
14894
|
// BaseIndex:BaseIndex,
|
|
14891
14895
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -1182,6 +1182,10 @@ function JSFloatTooltip()
|
|
|
1182
1182
|
{
|
|
1183
1183
|
this.UpdateChartDrawSVGV2Tooltip(data);
|
|
1184
1184
|
}
|
|
1185
|
+
else if (tooltipData.Type==9) //ChartKLineTable
|
|
1186
|
+
{
|
|
1187
|
+
this.UpdateChartKLineTableTooltip(data);
|
|
1188
|
+
}
|
|
1185
1189
|
|
|
1186
1190
|
}
|
|
1187
1191
|
else if (data.DataType==2) //更新实时行情数据
|
|
@@ -1327,6 +1331,12 @@ function JSFloatTooltip()
|
|
|
1327
1331
|
|
|
1328
1332
|
this.ShowTooltip(data);
|
|
1329
1333
|
}
|
|
1334
|
+
|
|
1335
|
+
|
|
1336
|
+
this.UpdateChartKLineTableTooltip=function(data)
|
|
1337
|
+
{
|
|
1338
|
+
this.UpdateChartDrawSVGV2Tooltip(data);
|
|
1339
|
+
}
|
|
1330
1340
|
|
|
1331
1341
|
//交易指标
|
|
1332
1342
|
this.UpdateTradeIndexTooltip=function(data)
|
|
@@ -22243,6 +22243,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
22243
22243
|
if (config.TextColor) chart.TextColor=config.TextColor;
|
|
22244
22244
|
if (config.BorderColor) chart.BorderColor=config.BorderColor;
|
|
22245
22245
|
if (IFrameSplitOperator.IsNumber(config.RowNamePosition)) chart.RowNamePosition=config.RowNamePosition;
|
|
22246
|
+
if (IFrameSplitOperator.IsNumber(config.RowHeightType)) chart.RowHeightType=config.RowHeightType;
|
|
22246
22247
|
|
|
22247
22248
|
if (config.ItemMergin)
|
|
22248
22249
|
{
|
package/src/jscommon/umychart.js
CHANGED
|
@@ -8052,6 +8052,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
8052
8052
|
return;
|
|
8053
8053
|
}
|
|
8054
8054
|
}
|
|
8055
|
+
else if (toolTip.Type==9) //ChartKLineTable
|
|
8056
|
+
{
|
|
8057
|
+
if (toolTip.Data.Item && toolTip.Data.Item.Tooltip && this.FloatTooltip)
|
|
8058
|
+
{
|
|
8059
|
+
this.DrawFloatTooltip({X:x, Y:y, YMove:20/pixelTatio}, toolTip);
|
|
8060
|
+
bHideFloatToolip=false;
|
|
8061
|
+
return;
|
|
8062
|
+
}
|
|
8063
|
+
}
|
|
8055
8064
|
|
|
8056
8065
|
|
|
8057
8066
|
if (bHideFloatToolip) this.HideFloatTooltip();
|
|
@@ -32613,6 +32622,7 @@ function ChartKLineTable()
|
|
|
32613
32622
|
this.AryTableData=[];
|
|
32614
32623
|
this.MapCache=null; //key=date/date-time value={ Date:, Time:, Data:[ ] }
|
|
32615
32624
|
this.GetKValue=ChartData.GetKValue;
|
|
32625
|
+
this.AryCellRect=[]; //保存单元格信息
|
|
32616
32626
|
|
|
32617
32627
|
this.BuildCacheData=function()
|
|
32618
32628
|
{
|
|
@@ -32672,6 +32682,7 @@ function ChartKLineTable()
|
|
|
32672
32682
|
|
|
32673
32683
|
this.Draw=function()
|
|
32674
32684
|
{
|
|
32685
|
+
this.AryCellRect=[];
|
|
32675
32686
|
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
32676
32687
|
if (this.IsShowIndexTitleOnly()) return;
|
|
32677
32688
|
if (this.IsHideScriptIndex()) return;
|
|
@@ -32785,7 +32796,7 @@ function ChartKLineTable()
|
|
|
32785
32796
|
|
|
32786
32797
|
if (this.BGColor)
|
|
32787
32798
|
{
|
|
32788
|
-
var rtRightBG={Left:border.RightEx, Top:border.
|
|
32799
|
+
var rtRightBG={Left:border.RightEx, Top:border.Top, Right:border.ChartWidth, Bottom:border.Bottom };
|
|
32789
32800
|
rtRightBG.Width=rtRightBG.Right-rtRightBG.Left;
|
|
32790
32801
|
rtRightBG.Height=rtRightBG.Bottom-rtRightBG.Top;
|
|
32791
32802
|
this.Canvas.fillStyle=this.BGColor;
|
|
@@ -32804,6 +32815,8 @@ function ChartKLineTable()
|
|
|
32804
32815
|
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
32805
32816
|
var yText=rtBG.Bottom-yOffset;
|
|
32806
32817
|
|
|
32818
|
+
if (rtBG.Bottom>border.Bottom) break;
|
|
32819
|
+
|
|
32807
32820
|
if (item.Name && rtBG.Width>10)
|
|
32808
32821
|
{
|
|
32809
32822
|
this.Canvas.fillStyle=item.Color?item.Color:this.TextColor;
|
|
@@ -32824,12 +32837,16 @@ function ChartKLineTable()
|
|
|
32824
32837
|
var x=left,y=top, width=right-left;
|
|
32825
32838
|
var yOffset=3;
|
|
32826
32839
|
if (this.ItemMergin.YOffset) yOffset=this.ItemMergin.YOffset;
|
|
32827
|
-
for(var i=0;i<data.Data.length
|
|
32840
|
+
for(var i=0; i<data.Data.length; ++i, y+=this.RowHeight)
|
|
32828
32841
|
{
|
|
32829
32842
|
var item=data.Data[i];
|
|
32843
|
+
if (!item) continue;
|
|
32844
|
+
|
|
32830
32845
|
var rtBG={Left:x, Top:y, Right:right, Height:this.RowHeight, Width:width };
|
|
32831
32846
|
rtBG.Bottom=rtBG.Top+this.RowHeight;
|
|
32832
32847
|
|
|
32848
|
+
if (rtBG.Bottom>bottom) break;
|
|
32849
|
+
|
|
32833
32850
|
if (IFrameSplitOperator.IsNonEmptyArray(item.AryText)) //左右显示
|
|
32834
32851
|
{
|
|
32835
32852
|
var subCellWidth=rtBG.Width/item.AryText.length;
|
|
@@ -32869,20 +32886,27 @@ function ChartKLineTable()
|
|
|
32869
32886
|
}
|
|
32870
32887
|
}
|
|
32871
32888
|
|
|
32889
|
+
if (rtBG.Width>5)
|
|
32890
|
+
{
|
|
32891
|
+
this.AryCellRect.push({ Item:{ Cell:item, Colunm:data, RowIndex:i, SubCell:subItem, SubIndex:j, Tooltip:subItem.Tooltip, Type:2 }, Rect:rtBG });
|
|
32892
|
+
}
|
|
32893
|
+
|
|
32872
32894
|
xCell+=subCellWidth;
|
|
32873
32895
|
}
|
|
32874
32896
|
}
|
|
32875
32897
|
else
|
|
32876
32898
|
{
|
|
32877
|
-
if (item
|
|
32899
|
+
if (item.BGColor)
|
|
32878
32900
|
{
|
|
32879
32901
|
this.Canvas.fillStyle=item.BGColor;
|
|
32880
32902
|
this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
|
|
32881
32903
|
}
|
|
32882
32904
|
|
|
32883
|
-
if (item
|
|
32905
|
+
if (item.Text && rtBG.Width>10)
|
|
32884
32906
|
{
|
|
32885
|
-
this.Canvas.fillStyle=item.Color;
|
|
32907
|
+
if (item.Color) this.Canvas.fillStyle=item.Color;
|
|
32908
|
+
else this.Canvas.fillStyle=this.TextColor;
|
|
32909
|
+
|
|
32886
32910
|
this.Canvas.textBaseline='bottom';
|
|
32887
32911
|
var yText=rtBG.Bottom-yOffset;
|
|
32888
32912
|
|
|
@@ -32902,9 +32926,14 @@ function ChartKLineTable()
|
|
|
32902
32926
|
this.Canvas.fillText(item.Text,rtBG.Left+2,yText, width-4);
|
|
32903
32927
|
}
|
|
32904
32928
|
}
|
|
32929
|
+
|
|
32930
|
+
if (rtBG.Width>5)
|
|
32931
|
+
{
|
|
32932
|
+
this.AryCellRect.push({ Item:{ Cell:item, Colunm:data, RowIndex:i, Tooltip:item.Tooltip, Type:1 }, Rect:rtBG });
|
|
32933
|
+
}
|
|
32905
32934
|
}
|
|
32906
32935
|
|
|
32907
|
-
|
|
32936
|
+
|
|
32908
32937
|
}
|
|
32909
32938
|
}
|
|
32910
32939
|
|
|
@@ -32938,6 +32967,30 @@ function ChartKLineTable()
|
|
|
32938
32967
|
{
|
|
32939
32968
|
return {Min:0, Max:this.RowCount};
|
|
32940
32969
|
}
|
|
32970
|
+
|
|
32971
|
+
this.GetTooltipData=function(x,y,tooltip)
|
|
32972
|
+
{
|
|
32973
|
+
if (!this.IsShow) return false;
|
|
32974
|
+
|
|
32975
|
+
for(var i=0;i<this.AryCellRect.length;++i)
|
|
32976
|
+
{
|
|
32977
|
+
var item=this.AryCellRect[i];
|
|
32978
|
+
if (!item.Rect) continue;
|
|
32979
|
+
|
|
32980
|
+
var rect=item.Rect;
|
|
32981
|
+
if (x>=rect.Left && x<=rect.Right && y>=rect.Top && y<=rect.Bottom)
|
|
32982
|
+
{
|
|
32983
|
+
var data=item.Item;
|
|
32984
|
+
JSConsole.Chart.Log('[ChartKLineTable::GetTooltipData] cell', item);
|
|
32985
|
+
tooltip.Data={ Rect:item.Rect, Item:data };
|
|
32986
|
+
tooltip.ChartPaint=this;
|
|
32987
|
+
tooltip.Type=9; //ChartKLineTable
|
|
32988
|
+
return true;
|
|
32989
|
+
}
|
|
32990
|
+
}
|
|
32991
|
+
|
|
32992
|
+
return false;
|
|
32993
|
+
}
|
|
32941
32994
|
}
|
|
32942
32995
|
|
|
32943
32996
|
//表格
|
|
@@ -12148,6 +12148,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
12148
12148
|
return;
|
|
12149
12149
|
}
|
|
12150
12150
|
}
|
|
12151
|
+
else if (toolTip.Type==9) //ChartKLineTable
|
|
12152
|
+
{
|
|
12153
|
+
if (toolTip.Data.Item && toolTip.Data.Item.Tooltip && this.FloatTooltip)
|
|
12154
|
+
{
|
|
12155
|
+
this.DrawFloatTooltip({X:x, Y:y, YMove:20/pixelTatio}, toolTip);
|
|
12156
|
+
bHideFloatToolip=false;
|
|
12157
|
+
return;
|
|
12158
|
+
}
|
|
12159
|
+
}
|
|
12151
12160
|
|
|
12152
12161
|
|
|
12153
12162
|
if (bHideFloatToolip) this.HideFloatTooltip();
|
|
@@ -36709,6 +36718,7 @@ function ChartKLineTable()
|
|
|
36709
36718
|
this.AryTableData=[];
|
|
36710
36719
|
this.MapCache=null; //key=date/date-time value={ Date:, Time:, Data:[ ] }
|
|
36711
36720
|
this.GetKValue=ChartData.GetKValue;
|
|
36721
|
+
this.AryCellRect=[]; //保存单元格信息
|
|
36712
36722
|
|
|
36713
36723
|
this.BuildCacheData=function()
|
|
36714
36724
|
{
|
|
@@ -36768,6 +36778,7 @@ function ChartKLineTable()
|
|
|
36768
36778
|
|
|
36769
36779
|
this.Draw=function()
|
|
36770
36780
|
{
|
|
36781
|
+
this.AryCellRect=[];
|
|
36771
36782
|
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
36772
36783
|
if (this.IsShowIndexTitleOnly()) return;
|
|
36773
36784
|
if (this.IsHideScriptIndex()) return;
|
|
@@ -36881,7 +36892,7 @@ function ChartKLineTable()
|
|
|
36881
36892
|
|
|
36882
36893
|
if (this.BGColor)
|
|
36883
36894
|
{
|
|
36884
|
-
var rtRightBG={Left:border.RightEx, Top:border.
|
|
36895
|
+
var rtRightBG={Left:border.RightEx, Top:border.Top, Right:border.ChartWidth, Bottom:border.Bottom };
|
|
36885
36896
|
rtRightBG.Width=rtRightBG.Right-rtRightBG.Left;
|
|
36886
36897
|
rtRightBG.Height=rtRightBG.Bottom-rtRightBG.Top;
|
|
36887
36898
|
this.Canvas.fillStyle=this.BGColor;
|
|
@@ -36900,6 +36911,8 @@ function ChartKLineTable()
|
|
|
36900
36911
|
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
36901
36912
|
var yText=rtBG.Bottom-yOffset;
|
|
36902
36913
|
|
|
36914
|
+
if (rtBG.Bottom>border.Bottom) break;
|
|
36915
|
+
|
|
36903
36916
|
if (item.Name && rtBG.Width>10)
|
|
36904
36917
|
{
|
|
36905
36918
|
this.Canvas.fillStyle=item.Color?item.Color:this.TextColor;
|
|
@@ -36920,12 +36933,16 @@ function ChartKLineTable()
|
|
|
36920
36933
|
var x=left,y=top, width=right-left;
|
|
36921
36934
|
var yOffset=3;
|
|
36922
36935
|
if (this.ItemMergin.YOffset) yOffset=this.ItemMergin.YOffset;
|
|
36923
|
-
for(var i=0;i<data.Data.length
|
|
36936
|
+
for(var i=0; i<data.Data.length; ++i, y+=this.RowHeight)
|
|
36924
36937
|
{
|
|
36925
36938
|
var item=data.Data[i];
|
|
36939
|
+
if (!item) continue;
|
|
36940
|
+
|
|
36926
36941
|
var rtBG={Left:x, Top:y, Right:right, Height:this.RowHeight, Width:width };
|
|
36927
36942
|
rtBG.Bottom=rtBG.Top+this.RowHeight;
|
|
36928
36943
|
|
|
36944
|
+
if (rtBG.Bottom>bottom) break;
|
|
36945
|
+
|
|
36929
36946
|
if (IFrameSplitOperator.IsNonEmptyArray(item.AryText)) //左右显示
|
|
36930
36947
|
{
|
|
36931
36948
|
var subCellWidth=rtBG.Width/item.AryText.length;
|
|
@@ -36965,20 +36982,27 @@ function ChartKLineTable()
|
|
|
36965
36982
|
}
|
|
36966
36983
|
}
|
|
36967
36984
|
|
|
36985
|
+
if (rtBG.Width>5)
|
|
36986
|
+
{
|
|
36987
|
+
this.AryCellRect.push({ Item:{ Cell:item, Colunm:data, RowIndex:i, SubCell:subItem, SubIndex:j, Tooltip:subItem.Tooltip, Type:2 }, Rect:rtBG });
|
|
36988
|
+
}
|
|
36989
|
+
|
|
36968
36990
|
xCell+=subCellWidth;
|
|
36969
36991
|
}
|
|
36970
36992
|
}
|
|
36971
36993
|
else
|
|
36972
36994
|
{
|
|
36973
|
-
if (item
|
|
36995
|
+
if (item.BGColor)
|
|
36974
36996
|
{
|
|
36975
36997
|
this.Canvas.fillStyle=item.BGColor;
|
|
36976
36998
|
this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
|
|
36977
36999
|
}
|
|
36978
37000
|
|
|
36979
|
-
if (item
|
|
37001
|
+
if (item.Text && rtBG.Width>10)
|
|
36980
37002
|
{
|
|
36981
|
-
this.Canvas.fillStyle=item.Color;
|
|
37003
|
+
if (item.Color) this.Canvas.fillStyle=item.Color;
|
|
37004
|
+
else this.Canvas.fillStyle=this.TextColor;
|
|
37005
|
+
|
|
36982
37006
|
this.Canvas.textBaseline='bottom';
|
|
36983
37007
|
var yText=rtBG.Bottom-yOffset;
|
|
36984
37008
|
|
|
@@ -36998,9 +37022,14 @@ function ChartKLineTable()
|
|
|
36998
37022
|
this.Canvas.fillText(item.Text,rtBG.Left+2,yText, width-4);
|
|
36999
37023
|
}
|
|
37000
37024
|
}
|
|
37025
|
+
|
|
37026
|
+
if (rtBG.Width>5)
|
|
37027
|
+
{
|
|
37028
|
+
this.AryCellRect.push({ Item:{ Cell:item, Colunm:data, RowIndex:i, Tooltip:item.Tooltip, Type:1 }, Rect:rtBG });
|
|
37029
|
+
}
|
|
37001
37030
|
}
|
|
37002
37031
|
|
|
37003
|
-
|
|
37032
|
+
|
|
37004
37033
|
}
|
|
37005
37034
|
}
|
|
37006
37035
|
|
|
@@ -37034,6 +37063,30 @@ function ChartKLineTable()
|
|
|
37034
37063
|
{
|
|
37035
37064
|
return {Min:0, Max:this.RowCount};
|
|
37036
37065
|
}
|
|
37066
|
+
|
|
37067
|
+
this.GetTooltipData=function(x,y,tooltip)
|
|
37068
|
+
{
|
|
37069
|
+
if (!this.IsShow) return false;
|
|
37070
|
+
|
|
37071
|
+
for(var i=0;i<this.AryCellRect.length;++i)
|
|
37072
|
+
{
|
|
37073
|
+
var item=this.AryCellRect[i];
|
|
37074
|
+
if (!item.Rect) continue;
|
|
37075
|
+
|
|
37076
|
+
var rect=item.Rect;
|
|
37077
|
+
if (x>=rect.Left && x<=rect.Right && y>=rect.Top && y<=rect.Bottom)
|
|
37078
|
+
{
|
|
37079
|
+
var data=item.Item;
|
|
37080
|
+
JSConsole.Chart.Log('[ChartKLineTable::GetTooltipData] cell', item);
|
|
37081
|
+
tooltip.Data={ Rect:item.Rect, Item:data };
|
|
37082
|
+
tooltip.ChartPaint=this;
|
|
37083
|
+
tooltip.Type=9; //ChartKLineTable
|
|
37084
|
+
return true;
|
|
37085
|
+
}
|
|
37086
|
+
}
|
|
37087
|
+
|
|
37088
|
+
return false;
|
|
37089
|
+
}
|
|
37037
37090
|
}
|
|
37038
37091
|
|
|
37039
37092
|
//表格
|
|
@@ -126689,6 +126742,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
126689
126742
|
if (config.TextColor) chart.TextColor=config.TextColor;
|
|
126690
126743
|
if (config.BorderColor) chart.BorderColor=config.BorderColor;
|
|
126691
126744
|
if (IFrameSplitOperator.IsNumber(config.RowNamePosition)) chart.RowNamePosition=config.RowNamePosition;
|
|
126745
|
+
if (IFrameSplitOperator.IsNumber(config.RowHeightType)) chart.RowHeightType=config.RowHeightType;
|
|
126692
126746
|
|
|
126693
126747
|
if (config.ItemMergin)
|
|
126694
126748
|
{
|
|
@@ -146627,7 +146681,7 @@ function ScrollBarBGChart()
|
|
|
146627
146681
|
|
|
146628
146682
|
|
|
146629
146683
|
|
|
146630
|
-
var HQCHART_VERSION="1.1.
|
|
146684
|
+
var HQCHART_VERSION="1.1.14634";
|
|
146631
146685
|
|
|
146632
146686
|
function PrintHQChartVersion()
|
|
146633
146687
|
{
|
|
@@ -12192,6 +12192,15 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
12192
12192
|
return;
|
|
12193
12193
|
}
|
|
12194
12194
|
}
|
|
12195
|
+
else if (toolTip.Type==9) //ChartKLineTable
|
|
12196
|
+
{
|
|
12197
|
+
if (toolTip.Data.Item && toolTip.Data.Item.Tooltip && this.FloatTooltip)
|
|
12198
|
+
{
|
|
12199
|
+
this.DrawFloatTooltip({X:x, Y:y, YMove:20/pixelTatio}, toolTip);
|
|
12200
|
+
bHideFloatToolip=false;
|
|
12201
|
+
return;
|
|
12202
|
+
}
|
|
12203
|
+
}
|
|
12195
12204
|
|
|
12196
12205
|
|
|
12197
12206
|
if (bHideFloatToolip) this.HideFloatTooltip();
|
|
@@ -36753,6 +36762,7 @@ function ChartKLineTable()
|
|
|
36753
36762
|
this.AryTableData=[];
|
|
36754
36763
|
this.MapCache=null; //key=date/date-time value={ Date:, Time:, Data:[ ] }
|
|
36755
36764
|
this.GetKValue=ChartData.GetKValue;
|
|
36765
|
+
this.AryCellRect=[]; //保存单元格信息
|
|
36756
36766
|
|
|
36757
36767
|
this.BuildCacheData=function()
|
|
36758
36768
|
{
|
|
@@ -36812,6 +36822,7 @@ function ChartKLineTable()
|
|
|
36812
36822
|
|
|
36813
36823
|
this.Draw=function()
|
|
36814
36824
|
{
|
|
36825
|
+
this.AryCellRect=[];
|
|
36815
36826
|
if (!this.IsShow || this.ChartFrame.IsMinSize || !this.IsVisible) return;
|
|
36816
36827
|
if (this.IsShowIndexTitleOnly()) return;
|
|
36817
36828
|
if (this.IsHideScriptIndex()) return;
|
|
@@ -36925,7 +36936,7 @@ function ChartKLineTable()
|
|
|
36925
36936
|
|
|
36926
36937
|
if (this.BGColor)
|
|
36927
36938
|
{
|
|
36928
|
-
var rtRightBG={Left:border.RightEx, Top:border.
|
|
36939
|
+
var rtRightBG={Left:border.RightEx, Top:border.Top, Right:border.ChartWidth, Bottom:border.Bottom };
|
|
36929
36940
|
rtRightBG.Width=rtRightBG.Right-rtRightBG.Left;
|
|
36930
36941
|
rtRightBG.Height=rtRightBG.Bottom-rtRightBG.Top;
|
|
36931
36942
|
this.Canvas.fillStyle=this.BGColor;
|
|
@@ -36944,6 +36955,8 @@ function ChartKLineTable()
|
|
|
36944
36955
|
rtBG.Width=rtBG.Right-rtBG.Left;
|
|
36945
36956
|
var yText=rtBG.Bottom-yOffset;
|
|
36946
36957
|
|
|
36958
|
+
if (rtBG.Bottom>border.Bottom) break;
|
|
36959
|
+
|
|
36947
36960
|
if (item.Name && rtBG.Width>10)
|
|
36948
36961
|
{
|
|
36949
36962
|
this.Canvas.fillStyle=item.Color?item.Color:this.TextColor;
|
|
@@ -36964,12 +36977,16 @@ function ChartKLineTable()
|
|
|
36964
36977
|
var x=left,y=top, width=right-left;
|
|
36965
36978
|
var yOffset=3;
|
|
36966
36979
|
if (this.ItemMergin.YOffset) yOffset=this.ItemMergin.YOffset;
|
|
36967
|
-
for(var i=0;i<data.Data.length
|
|
36980
|
+
for(var i=0; i<data.Data.length; ++i, y+=this.RowHeight)
|
|
36968
36981
|
{
|
|
36969
36982
|
var item=data.Data[i];
|
|
36983
|
+
if (!item) continue;
|
|
36984
|
+
|
|
36970
36985
|
var rtBG={Left:x, Top:y, Right:right, Height:this.RowHeight, Width:width };
|
|
36971
36986
|
rtBG.Bottom=rtBG.Top+this.RowHeight;
|
|
36972
36987
|
|
|
36988
|
+
if (rtBG.Bottom>bottom) break;
|
|
36989
|
+
|
|
36973
36990
|
if (IFrameSplitOperator.IsNonEmptyArray(item.AryText)) //左右显示
|
|
36974
36991
|
{
|
|
36975
36992
|
var subCellWidth=rtBG.Width/item.AryText.length;
|
|
@@ -37009,20 +37026,27 @@ function ChartKLineTable()
|
|
|
37009
37026
|
}
|
|
37010
37027
|
}
|
|
37011
37028
|
|
|
37029
|
+
if (rtBG.Width>5)
|
|
37030
|
+
{
|
|
37031
|
+
this.AryCellRect.push({ Item:{ Cell:item, Colunm:data, RowIndex:i, SubCell:subItem, SubIndex:j, Tooltip:subItem.Tooltip, Type:2 }, Rect:rtBG });
|
|
37032
|
+
}
|
|
37033
|
+
|
|
37012
37034
|
xCell+=subCellWidth;
|
|
37013
37035
|
}
|
|
37014
37036
|
}
|
|
37015
37037
|
else
|
|
37016
37038
|
{
|
|
37017
|
-
if (item
|
|
37039
|
+
if (item.BGColor)
|
|
37018
37040
|
{
|
|
37019
37041
|
this.Canvas.fillStyle=item.BGColor;
|
|
37020
37042
|
this.Canvas.fillRect(rtBG.Left, rtBG.Top, rtBG.Width, rtBG.Height);
|
|
37021
37043
|
}
|
|
37022
37044
|
|
|
37023
|
-
if (item
|
|
37045
|
+
if (item.Text && rtBG.Width>10)
|
|
37024
37046
|
{
|
|
37025
|
-
this.Canvas.fillStyle=item.Color;
|
|
37047
|
+
if (item.Color) this.Canvas.fillStyle=item.Color;
|
|
37048
|
+
else this.Canvas.fillStyle=this.TextColor;
|
|
37049
|
+
|
|
37026
37050
|
this.Canvas.textBaseline='bottom';
|
|
37027
37051
|
var yText=rtBG.Bottom-yOffset;
|
|
37028
37052
|
|
|
@@ -37042,9 +37066,14 @@ function ChartKLineTable()
|
|
|
37042
37066
|
this.Canvas.fillText(item.Text,rtBG.Left+2,yText, width-4);
|
|
37043
37067
|
}
|
|
37044
37068
|
}
|
|
37069
|
+
|
|
37070
|
+
if (rtBG.Width>5)
|
|
37071
|
+
{
|
|
37072
|
+
this.AryCellRect.push({ Item:{ Cell:item, Colunm:data, RowIndex:i, Tooltip:item.Tooltip, Type:1 }, Rect:rtBG });
|
|
37073
|
+
}
|
|
37045
37074
|
}
|
|
37046
37075
|
|
|
37047
|
-
|
|
37076
|
+
|
|
37048
37077
|
}
|
|
37049
37078
|
}
|
|
37050
37079
|
|
|
@@ -37078,6 +37107,30 @@ function ChartKLineTable()
|
|
|
37078
37107
|
{
|
|
37079
37108
|
return {Min:0, Max:this.RowCount};
|
|
37080
37109
|
}
|
|
37110
|
+
|
|
37111
|
+
this.GetTooltipData=function(x,y,tooltip)
|
|
37112
|
+
{
|
|
37113
|
+
if (!this.IsShow) return false;
|
|
37114
|
+
|
|
37115
|
+
for(var i=0;i<this.AryCellRect.length;++i)
|
|
37116
|
+
{
|
|
37117
|
+
var item=this.AryCellRect[i];
|
|
37118
|
+
if (!item.Rect) continue;
|
|
37119
|
+
|
|
37120
|
+
var rect=item.Rect;
|
|
37121
|
+
if (x>=rect.Left && x<=rect.Right && y>=rect.Top && y<=rect.Bottom)
|
|
37122
|
+
{
|
|
37123
|
+
var data=item.Item;
|
|
37124
|
+
JSConsole.Chart.Log('[ChartKLineTable::GetTooltipData] cell', item);
|
|
37125
|
+
tooltip.Data={ Rect:item.Rect, Item:data };
|
|
37126
|
+
tooltip.ChartPaint=this;
|
|
37127
|
+
tooltip.Type=9; //ChartKLineTable
|
|
37128
|
+
return true;
|
|
37129
|
+
}
|
|
37130
|
+
}
|
|
37131
|
+
|
|
37132
|
+
return false;
|
|
37133
|
+
}
|
|
37081
37134
|
}
|
|
37082
37135
|
|
|
37083
37136
|
//表格
|
|
@@ -126733,6 +126786,7 @@ function ScriptIndex(name,script,args,option)
|
|
|
126733
126786
|
if (config.TextColor) chart.TextColor=config.TextColor;
|
|
126734
126787
|
if (config.BorderColor) chart.BorderColor=config.BorderColor;
|
|
126735
126788
|
if (IFrameSplitOperator.IsNumber(config.RowNamePosition)) chart.RowNamePosition=config.RowNamePosition;
|
|
126789
|
+
if (IFrameSplitOperator.IsNumber(config.RowHeightType)) chart.RowHeightType=config.RowHeightType;
|
|
126736
126790
|
|
|
126737
126791
|
if (config.ItemMergin)
|
|
126738
126792
|
{
|
|
@@ -154146,6 +154200,10 @@ function JSFloatTooltip()
|
|
|
154146
154200
|
{
|
|
154147
154201
|
this.UpdateChartDrawSVGV2Tooltip(data);
|
|
154148
154202
|
}
|
|
154203
|
+
else if (tooltipData.Type==9) //ChartKLineTable
|
|
154204
|
+
{
|
|
154205
|
+
this.UpdateChartKLineTableTooltip(data);
|
|
154206
|
+
}
|
|
154149
154207
|
|
|
154150
154208
|
}
|
|
154151
154209
|
else if (data.DataType==2) //更新实时行情数据
|
|
@@ -154291,6 +154349,12 @@ function JSFloatTooltip()
|
|
|
154291
154349
|
|
|
154292
154350
|
this.ShowTooltip(data);
|
|
154293
154351
|
}
|
|
154352
|
+
|
|
154353
|
+
|
|
154354
|
+
this.UpdateChartKLineTableTooltip=function(data)
|
|
154355
|
+
{
|
|
154356
|
+
this.UpdateChartDrawSVGV2Tooltip(data);
|
|
154357
|
+
}
|
|
154294
154358
|
|
|
154295
154359
|
//交易指标
|
|
154296
154360
|
this.UpdateTradeIndexTooltip=function(data)
|
|
@@ -157339,7 +157403,7 @@ function HQChartScriptWorker()
|
|
|
157339
157403
|
|
|
157340
157404
|
|
|
157341
157405
|
|
|
157342
|
-
var HQCHART_VERSION="1.1.
|
|
157406
|
+
var HQCHART_VERSION="1.1.14634";
|
|
157343
157407
|
|
|
157344
157408
|
function PrintHQChartVersion()
|
|
157345
157409
|
{
|