hqchart 1.1.14750 → 1.1.14754
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/umychart.vue.js
CHANGED
|
@@ -12850,7 +12850,7 @@ this.CanvasElement=document.createElement("canvas");this.CanvasElement.className
|
|
|
12850
12850
|
var height=parseInt(this.DivElement.style.height.replace("px",""));this.CanvasElement.height=height;this.CanvasElement.width=parseInt(this.DivElement.style.width.replace("px",""));this.CanvasElement.style.width=this.CanvasElement.width+'px';this.CanvasElement.style.height=this.CanvasElement.height+'px';var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
12851
12851
|
this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;JSConsole.Chart.Log('[JSDealChart::OnSize] devicePixelRatio='+window.devicePixelRatio+', height='+this.CanvasElement.height+', width='+this.CanvasElement.width);if(this.JSChartContainer&&this.JSChartContainer.OnSize){this.JSChartContainer.OnSize();}};this.SetOption=function(option){var chart=this.CreateJSDealChartContainer(option);if(!chart)return false;if(option.OnCreatedCallback)option.OnCreatedCallback(chart);this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
|
|
12852
12852
|
//注册事件
|
|
12853
|
-
if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}if(!option.Symbol){chart.Draw();}else{chart.ChangeSymbol(option.Symbol);}};this.CreateJSDealChartContainer=function(option){var chart=new JSDealChartContainer(this.CanvasElement);chart.Create(option);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(IFrameSplitOperator.IsNumber(option.ShowOrder))chart.ChartPaint[0].ShowOrder=option.ShowOrder;this.SetChartBorder(chart,option);//是否自动更新
|
|
12853
|
+
if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}if(option.MinuteChartTooltip&&option.MinuteChartTooltip.Enable)chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);if(!option.Symbol){chart.Draw();}else{chart.ChangeSymbol(option.Symbol);}};this.CreateJSDealChartContainer=function(option){var chart=new JSDealChartContainer(this.CanvasElement);chart.Create(option);if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(IFrameSplitOperator.IsNumber(option.ShowOrder))chart.ChartPaint[0].ShowOrder=option.ShowOrder;this.SetChartBorder(chart,option);//是否自动更新
|
|
12854
12854
|
if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;if(IFrameSplitOperator.IsBool(option.EnableFilter))chart.EnableFilter=option.EnableFilter;//注册事件
|
|
12855
12855
|
if(option.EventCallback){for(var i=0;i<option.EventCallback.length;++i){var item=option.EventCallback[i];chart.AddEventCallback(item);}}return chart;};this.SetChartBorder=function(chart,option){if(!option.Border)return;var item=option.Border;if(IFrameSplitOperator.IsNumber(option.Border.Left))chart.Frame.ChartBorder.Left=option.Border.Left;if(IFrameSplitOperator.IsNumber(option.Border.Right))chart.Frame.ChartBorder.Right=option.Border.Right;if(IFrameSplitOperator.IsNumber(option.Border.Top))chart.Frame.ChartBorder.Top=option.Border.Top;if(IFrameSplitOperator.IsNumber(option.Border.Bottom))chart.Frame.ChartBorder.Bottom=option.Border.Bottom;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
12856
12856
|
chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};/////////////////////////////////////////////////////////////////////////////
|
|
@@ -12872,11 +12872,14 @@ this.IsShowLastPage=true;//显示最后一页
|
|
|
12872
12872
|
this.mapEvent=new _map2.default();//通知外部调用 key:JSCHART_EVENT_ID value:{Callback:回调,}
|
|
12873
12873
|
this.AutoUpdateTimer=null;this.AutoUpdateFrequency=15000;//更新频率
|
|
12874
12874
|
this.LoadDataSplashTitle="数据加载中";//下载数据提示信息
|
|
12875
|
+
this.TooltipMinuteChart;//分时图
|
|
12875
12876
|
this.UIElement=uielement;this.LastPoint=new Point();//鼠标位置
|
|
12876
|
-
|
|
12877
|
+
//MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
|
|
12878
|
+
this.LastMouseStatus={MoveStatus:null,TooltipStatus:null,MouseOnStatus:null};this.IsDestroy=false;//是否已经销毁了
|
|
12877
12879
|
this.ChartDestroy=function()//销毁
|
|
12878
12880
|
{this.IsDestroy=true;this.StopAutoUpdate();};this.EnableFilterData=false;//是否启动筛选
|
|
12879
|
-
|
|
12881
|
+
this.InitalMinuteChartTooltip=function(option){if(this.TooltipMinuteChart)return;this.TooltipMinuteChart=new JSTooltipMinuteChart();this.TooltipMinuteChart.Inital(this,option);this.TooltipMinuteChart.Create();};this.DestroyMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Destroy();this.TooltipMinuteChart=null;};//data={ Symbol }
|
|
12882
|
+
this.ShowMinuteChartTooltip=function(x,y,data){if(!this.TooltipMinuteChart)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();var offsetLeft=rtClient.left+rtScroll.Left;var offsetTop=rtClient.top+rtScroll.Top;data.Offset={Left:offsetLeft,Top:offsetTop};this.TooltipMinuteChart.Show(data,x,y);};this.HideMinuteChartTooltip=function(){if(!this.TooltipMinuteChart)return;this.TooltipMinuteChart.Hide();};this.HideAllTooltip=function(){this.HideMinuteChartTooltip();};//筛选数据
|
|
12880
12883
|
this.FilterData=function(aryDeal){if(!this.EnableFilterData)return aryDeal;//过滤由外部处理
|
|
12881
12884
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FILTER_DEAL_DATA);if(!event||!event.Callback)return aryDeal;var sendData={Data:aryDeal,Result:[]};//{ Data:原始数据, Result:[] 过滤以后的数据 }
|
|
12882
12885
|
event.Callback(event,sendData,this);return sendData.Result;};this.EnableFilter=function(bEnable,option)//启动|关闭筛选
|
|
@@ -12891,7 +12894,7 @@ if(IFrameSplitOperator.IsBool(option.IsShowLastPage))this.IsShowLastPage=option.
|
|
|
12891
12894
|
if(IFrameSplitOperator.IsNumber(option.BorderLine))this.Frame.BorderLine=option.BorderLine;//边框
|
|
12892
12895
|
}var bRegisterKeydown=true;var bRegisterWheel=true;if(option){if(option.KeyDown===false){bRegisterKeydown=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register keydown event.');}if(option.Wheel===false){bRegisterWheel=false;JSConsole.Chart.Log('[JSDealChartContainer::Create] not register wheel event.');}if(IFrameSplitOperator.IsBool(option.EnableSelected))chart.SelectedData.Enable=option.EnableSelected;}if(bRegisterKeydown)this.UIElement.addEventListener("keydown",function(e){_this51.OnKeyDown(e);},true);//键盘消息
|
|
12893
12896
|
if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this51.OnWheel(e);},true);//上下滚动消息
|
|
12894
|
-
this.UIElement.onmousedown=function(e){_this51.UIOnMouseDown(e);};this.UIElement.ondblclick=function(e){_this51.UIOnDblClick(e);};this.UIElement.oncontextmenu=function(e){_this51.UIOnContextMenu(e);};};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
12897
|
+
this.UIElement.onmousedown=function(e){_this51.UIOnMouseDown(e);};this.UIElement.ondblclick=function(e){_this51.UIOnDblClick(e);};this.UIElement.oncontextmenu=function(e){_this51.UIOnContextMenu(e);};this.UIElement.onmousemove=function(e){_this51.UIOnMouseMove(e);};};this.Draw=function(){if(this.UIElement.width<=0||this.UIElement.height<=0)return;this.Canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
12895
12898
|
this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
|
|
12896
12899
|
if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
|
|
12897
12900
|
for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.IsDrawFirst)item.Draw();}for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(!item.IsDrawFirst)item.Draw();}};this.ChangeSymbol=function(symbol,option){this.Symbol=symbol;this.Data=null;this.SourceData=null;var chart=this.ChartPaint[0];if(chart)chart.Data=null;if(option&&IFrameSplitOperator.IsNumber(option.TradeDate))this.TradeDate=option.TradeDate;if(!this.Symbol){this.Draw();return;}this.RequestDealData();};this.CancelAutoUpdate=function()//关闭停止更新
|
|
@@ -12917,17 +12920,33 @@ this.AddEventCallback=function(object){if(!object||!object.event||!object.callba
|
|
|
12917
12920
|
{if(!this.mapEvent.has(id))return null;var item=this.mapEvent.get(id);return item;};this.OnSize=function(){if(!this.Frame)return;this.SetSizeChange(true);var chart=this.ChartPaint[0];if(chart&&this.Data&&this.Data.DataOffset>0&&IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)){var pageSize=chart.GetPageSize(true);if(pageSize+this.Data.DataOffset>=this.Data.Data.length)//当前屏不能显示满,调整
|
|
12918
12921
|
this.GotoLastPage();}this.Draw();};this.SetSizeChange=function(bChanged){var chart=this.ChartPaint[0];if(chart)chart.SizeChange=bChanged;};this.OnWheel=function(e)//滚轴
|
|
12919
12922
|
{JSConsole.Chart.Log('[JSDealChartContainer::OnWheel]',e);if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;var x=e.clientX-this.UIElement.getBoundingClientRect().left;var y=e.clientY-this.UIElement.getBoundingClientRect().top;var isInClient=false;this.Canvas.beginPath();this.Canvas.rect(this.Frame.ChartBorder.GetLeft(),this.Frame.ChartBorder.GetTop(),this.Frame.ChartBorder.GetWidth(),this.Frame.ChartBorder.GetHeight());isInClient=this.Canvas.isPointInPath(x,y);if(!isInClient)return;var chart=this.ChartPaint[0];if(!chart)return;var wheelValue=e.wheelDelta;if(!IFrameSplitOperator.IsObjectExist(e.wheelDelta))wheelValue=e.deltaY*-0.01;if(wheelValue<0)//下一页
|
|
12920
|
-
{if(this.GotoNextPage())this.Draw();}else if(wheelValue>0)//上一页
|
|
12921
|
-
{if(this.GotoPreviousPage())this.Draw();}if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.OnKeyDown=function(e){if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var keyID=e.keyCode?e.keyCode:e.which;switch(keyID){case 38://up
|
|
12922
|
-
if(this.GotoPreviousPage())this.Draw();break;case 40://down
|
|
12923
|
-
if(this.GotoNextPage())this.Draw();break;}//不让滚动条滚动
|
|
12924
|
-
if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(!chart)return;var clickData=chart.OnMouseDown(x,y,e);if(!clickData)return;if(clickData.Type==1&&(e.button==0||e.button==2))//点击行
|
|
12925
|
-
{if(clickData.Redraw==true)this.Draw();}};this.
|
|
12923
|
+
{this.HideAllTooltip();if(this.GotoNextPage())this.Draw();}else if(wheelValue>0)//上一页
|
|
12924
|
+
{this.HideAllTooltip();if(this.GotoPreviousPage())this.Draw();}if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.OnKeyDown=function(e){if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash==true)return;var keyID=e.keyCode?e.keyCode:e.which;switch(keyID){case 38://up
|
|
12925
|
+
this.HideAllTooltip();if(this.GotoPreviousPage())this.Draw();break;case 40://down
|
|
12926
|
+
this.HideAllTooltip();if(this.GotoNextPage())this.Draw();break;}//不让滚动条滚动
|
|
12927
|
+
if(e.preventDefault)e.preventDefault();else e.returnValue=false;};this.GetReportChart=function(){var chart=this.ChartPaint[0];return chart;};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(!chart)return;var clickData=chart.OnMouseDown(x,y,e);if(!clickData)return;if(clickData.Type==1&&(e.button==0||e.button==2))//点击行
|
|
12928
|
+
{if(clickData.Redraw==true)this.Draw();}};this.UIOnMouseMove=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var oldMouseOnStatus=this.LastMouseStatus.MouseOnStatus;this.LastMouseStatus.OnMouseMove=null;var bDrawTooltip=false;if(this.LastMouseStatus.TooltipStatus)bDrawTooltip=true;this.LastMouseStatus.TooltipStatus=null;var bShowMinuteTooltip=false;var chartTooltipData=null;this.LastMouseStatus.OnMouseMove={X:x,Y:y};var mouseStatus={Cursor:"default",Name:"Default"};;//鼠标状态
|
|
12929
|
+
var report=this.GetReportChart();var bDraw=false;if(report){var tooltipData=report.GetTooltipData(x,y);//单元格提示信息
|
|
12930
|
+
if(tooltipData){if(tooltipData.Type==20){if(tooltipData.Data&&tooltipData.Data.Symbol){bShowMinuteTooltip=true;chartTooltipData={Symbol:tooltipData.Data.Symbol,Rect:tooltipData.Rect};}}/*
|
|
12931
|
+
else if (tooltipData.Type==21)
|
|
12932
|
+
{
|
|
12933
|
+
if (tooltipData.Stock && tooltipData.Stock.Symbol)
|
|
12934
|
+
{
|
|
12935
|
+
bShowKLineTooltip=true;
|
|
12936
|
+
chartTooltipData={ Symbol:tooltipData.Stock.OriginalSymbol, Rect:tooltipData.Rect };
|
|
12937
|
+
}
|
|
12938
|
+
}
|
|
12939
|
+
else
|
|
12940
|
+
{
|
|
12941
|
+
this.LastMouseStatus.TooltipStatus={ X:x, Y:y, Data:tooltipData, ClientX:e.clientX, ClientY:e.clientY };
|
|
12942
|
+
bDrawTooltip=true;
|
|
12943
|
+
}
|
|
12944
|
+
*/}}if(mouseStatus)this.UIElement.style.cursor=mouseStatus.Cursor;if(bDraw)this.Draw();if(!bShowMinuteTooltip)this.HideMinuteChartTooltip();if(bShowMinuteTooltip)this.ShowMinuteChartTooltip(null,null,chartTooltipData);};this.UIOnDblClick=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var chart=this.ChartPaint[0];if(chart)chart.OnDblClick(x,y,e);};this.UIOnContextMenu=function(e){e.preventDefault();};this.GotoNextPage=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return false;var chart=this.ChartPaint[0];if(!chart)return false;var pageSize=chart.GetPageSize();if(pageSize>this.Data.Data.length)return false;var offset=this.Data.DataOffset+pageSize;if(offset+pageSize==this.Data.Data.length-1)return false;if(offset+pageSize>this.Data.Data.length)//最后一页不够一屏调整到满屏
|
|
12926
12945
|
{this.Data.DataOffset=this.Data.Data.length-pageSize;}else{this.Data.DataOffset=offset;}return true;};this.GotoPreviousPage=function(){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return false;var chart=this.ChartPaint[0];if(!chart)return false;if(this.Data.DataOffset<=0)return false;var pageSize=chart.GetPageSize();var offset=this.Data.DataOffset;offset-=pageSize;if(offset<0)offset=0;this.Data.DataOffset=offset;return true;};this.GotoLastPage=function(){var chart=this.ChartPaint[0];if(!chart)return;//显示最后一屏
|
|
12927
|
-
var pageSize=chart.GetPageSize(true);var offset=this.Data.Data.length-pageSize;if(offset<0)offset=0;this.Data.DataOffset=offset;};this.SetColumn=function(aryColunm,option){var chart=this.ChartPaint[0];if(chart){chart.SetColumn(aryColunm);chart.SizeChange=true;if(option&&option.Redraw)this.Draw();}};this.ReloadResource=function(option){this.Frame.ReloadResource(option);for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.ReloadResource)item.ReloadResource(option);}if(option&&option.Redraw){this.SetSizeChange(true);this.Draw();}};}JSDealChartContainer.JsonDataToDealData=function(data){var symbol=data.symbol;var result=[];if(!IFrameSplitOperator.IsNonEmptyArray(data.detail))return result;//0=时间 1=价格 2=成交量 3=成交金额 4=BS 5=字符串时间 6=ID
|
|
12946
|
+
var pageSize=chart.GetPageSize(true);var offset=this.Data.Data.length-pageSize;if(offset<0)offset=0;this.Data.DataOffset=offset;};this.SetColumn=function(aryColunm,option){var chart=this.ChartPaint[0];if(chart){chart.SetColumn(aryColunm);chart.SizeChange=true;if(option&&option.Redraw)this.Draw();}};this.ReloadResource=function(option){this.Frame.ReloadResource(option);for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.ReloadResource)item.ReloadResource(option);}if(option&&option.Redraw){this.SetSizeChange(true);this.Draw();}};}JSDealChartContainer.JsonDataToDealData=function(data){var symbol=data.symbol;var result=[];if(!IFrameSplitOperator.IsNonEmptyArray(data.detail))return result;//0=时间 1=价格 2=成交量 3=成交金额 4=BS 5=字符串时间 6=ID 100=Guid
|
|
12928
12947
|
for(var i=0;i<data.detail.length;++i){var item=data.detail[i];var dealItem={Time:item[0],Price:item[1],Vol:item[2],BS:item[4],Amount:item[3],Guid:Guid()};dealItem.Source=item;if(item[5])dealItem.StrTime=item[5];if(item[6])dealItem.ID=item[6];if(item[11])dealItem.Symbol=item[11];//股票代码
|
|
12929
12948
|
if(item[12])dealItem.Name=item[12];//股票名称
|
|
12930
|
-
|
|
12949
|
+
if(item[100])dealItem.Guid=item[100];//10个数值型 101-199
|
|
12931
12950
|
if(IFrameSplitOperator.IsNumber(item[101]))dealItem.ReserveNumber1=item[101];if(IFrameSplitOperator.IsNumber(item[102]))dealItem.ReserveNumber2=item[102];if(IFrameSplitOperator.IsNumber(item[103]))dealItem.ReserveNumber3=item[103];if(IFrameSplitOperator.IsNumber(item[104]))dealItem.ReserveNumber4=item[104];if(IFrameSplitOperator.IsNumber(item[105]))dealItem.ReserveNumber5=item[105];if(IFrameSplitOperator.IsNumber(item[106]))dealItem.ReserveNumber6=item[106];if(IFrameSplitOperator.IsNumber(item[107]))dealItem.ReserveNumber7=item[107];if(IFrameSplitOperator.IsNumber(item[108]))dealItem.ReserveNumber8=item[108];if(IFrameSplitOperator.IsNumber(item[109]))dealItem.ReserveNumber9=item[109];if(IFrameSplitOperator.IsNumber(item[110]))dealItem.ReserveNumber10=item[110];//10个字符型 201-299
|
|
12932
12951
|
if(IFrameSplitOperator.IsString(item[201])||IFrameSplitOperator.IsObject(item[201]))dealItem.ReserveString1=item[201];if(IFrameSplitOperator.IsString(item[202])||IFrameSplitOperator.IsObject(item[202]))dealItem.ReserveString2=item[202];if(IFrameSplitOperator.IsString(item[203])||IFrameSplitOperator.IsObject(item[203]))dealItem.ReserveString3=item[203];if(IFrameSplitOperator.IsString(item[204])||IFrameSplitOperator.IsObject(item[204]))dealItem.ReserveString4=item[204];if(IFrameSplitOperator.IsString(item[205])||IFrameSplitOperator.IsObject(item[205]))dealItem.ReserveString5=item[205];if(IFrameSplitOperator.IsString(item[206])||IFrameSplitOperator.IsObject(item[206]))dealItem.ReserveString6=item[206];if(IFrameSplitOperator.IsString(item[207])||IFrameSplitOperator.IsObject(item[207]))dealItem.ReserveString7=item[207];if(IFrameSplitOperator.IsString(item[208])||IFrameSplitOperator.IsObject(item[208]))dealItem.ReserveString8=item[208];if(IFrameSplitOperator.IsString(item[209])||IFrameSplitOperator.IsObject(item[209]))dealItem.ReserveString9=item[209];if(IFrameSplitOperator.IsString(item[210])||IFrameSplitOperator.IsObject(item[210]))dealItem.ReserveString10=item[210];result.push(dealItem);}return result;};function JSDealFrame(){this.ChartBorder;this.Canvas;//画布
|
|
12933
12952
|
this.BorderColor=g_JSChartResource.DealList.BorderColor;//边框线
|
|
@@ -12972,25 +12991,29 @@ this.SelectedConfig={BGColor:g_JSChartResource.DealList.Selected.BGColor};//表
|
|
|
12972
12991
|
this.HeaderFontConfig={Size:g_JSChartResource.DealList.Header.Font.Size,Name:g_JSChartResource.DealList.Header.Font.Name};this.HeaderColor=g_JSChartResource.DealList.Header.Color;this.HeaderMergin={Left:g_JSChartResource.DealList.Header.Mergin.Left,Right:g_JSChartResource.DealList.Header.Mergin.Right,Top:g_JSChartResource.DealList.Header.Mergin.Top,Bottom:g_JSChartResource.DealList.Header.Mergin.Bottom};//表格内容配置
|
|
12973
12992
|
this.ItemFontConfig={Size:g_JSChartResource.DealList.Row.Font.Size,Name:g_JSChartResource.DealList.Row.Font.Name};this.RowMergin={Top:g_JSChartResource.DealList.Row.Mergin.Top,Bottom:g_JSChartResource.DealList.Row.Mergin.Bottom};this.BarMergin={Top:g_JSChartResource.DealList.Row.BarMergin.Top,Left:g_JSChartResource.DealList.Row.BarMergin.Left,Right:g_JSChartResource.DealList.Row.BarMergin.Right,Bottom:g_JSChartResource.DealList.Row.BarMergin.Bottom};//缓存
|
|
12974
12993
|
this.HeaderFont=12*GetDevicePixelRatio()+"px 微软雅黑";this.ItemFont=15*GetDevicePixelRatio()+"px 微软雅黑";this.RowCount=0;this.TableWidth=0;this.TableCount=0;this.HeaderHeight=0;this.Column=[{Type:DEAL_COLUMN_ID.TIME_ID,Title:"时间",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Time,MaxText:"88:88:88",Foramt:"HH:MM:SS"},{Type:DEAL_COLUMN_ID.PRICE_ID,Title:"价格",TextAlign:"center",Width:null,MaxText:"888888.88"},{Type:DEAL_COLUMN_ID.VOL_ID,Title:"成交",TextAlign:"right",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Vol,MaxText:"888888"},{Type:DEAL_COLUMN_ID.BS_ID,Title:"",TextAlign:"right",Width:null,MaxText:"擎"}];this.RectClient={};this.AryCellRect=[];//{ Rect:, Type: 1=单行 }
|
|
12975
|
-
|
|
12994
|
+
//Type:20=分时图
|
|
12995
|
+
//{ Rect, Data, Index, Column, Type }}
|
|
12996
|
+
this.TooltipRect=[];this.ReloadResource=function(resource){this.UpColor=g_JSChartResource.DealList.UpTextColor;this.DownColor=g_JSChartResource.DealList.DownTextColor;this.UnchangeColor=g_JSChartResource.DealList.UnchagneTextColor;this.BorderColor=g_JSChartResource.DealList.BorderColor;//边框线
|
|
12976
12997
|
//表头配置
|
|
12977
12998
|
this.HeaderFontConfig={Size:g_JSChartResource.DealList.Header.Font.Size,Name:g_JSChartResource.DealList.Header.Font.Name};this.HeaderColor=g_JSChartResource.DealList.Header.Color;this.HeaderMergin={Left:g_JSChartResource.DealList.Header.Mergin.Left,Right:g_JSChartResource.DealList.Header.Mergin.Right,Top:g_JSChartResource.DealList.Header.Mergin.Top,Bottom:g_JSChartResource.DealList.Header.Mergin.Bottom};//表格内容配置
|
|
12978
|
-
this.ItemFontConfig={Size:g_JSChartResource.DealList.Row.Font.Size,Name:g_JSChartResource.DealList.Row.Font.Name};this.RowMergin={Top:g_JSChartResource.DealList.Row.Mergin.Top,Bottom:g_JSChartResource.DealList.Row.Mergin.Bottom};for(var i=0;i<this.Column.length;++i){var item=this.Column[i];if(item.Type==DEAL_COLUMN_ID.TIME_ID||item.Type==DEAL_COLUMN_ID.STRING_TIME_ID)item.TextColor=g_JSChartResource.DealList.FieldColor.Time;else if(item.Type==DEAL_COLUMN_ID.VOL_ID)item.TextColor=g_JSChartResource.DealList.FieldColor.Vol;else if(item.Type==DEAL_COLUMN_ID.DEAL_ID)item.TextColor=g_JSChartResource.DealList.FieldColor.Deal;else if(item.Type==DEAL_COLUMN_ID.INDEX_ID)item.TextColor=g_JSChartResource.DealList.FieldColor.Index;}};this.SetColumn=function(aryColumn){if(!IFrameSplitOperator.IsNonEmptyArray(aryColumn))return;this.Column=[];for(var i=0;i<aryColumn.length;++i){var item=aryColumn[i];var colItem=this.GetDefaultColunm(item.Type);if(!colItem)continue;if(item.Title)colItem.Title=item.Title;if(item.TextAlign)colItem.TextAlign=item.TextAlign;if(item.TextColor)colItem.TextColor=item.TextColor;if(item.MaxText)colItem.MaxText=item.MaxText;if(item.
|
|
12999
|
+
this.ItemFontConfig={Size:g_JSChartResource.DealList.Row.Font.Size,Name:g_JSChartResource.DealList.Row.Font.Name};this.RowMergin={Top:g_JSChartResource.DealList.Row.Mergin.Top,Bottom:g_JSChartResource.DealList.Row.Mergin.Bottom};for(var i=0;i<this.Column.length;++i){var item=this.Column[i];if(item.Type==DEAL_COLUMN_ID.TIME_ID||item.Type==DEAL_COLUMN_ID.STRING_TIME_ID)item.TextColor=g_JSChartResource.DealList.FieldColor.Time;else if(item.Type==DEAL_COLUMN_ID.VOL_ID)item.TextColor=g_JSChartResource.DealList.FieldColor.Vol;else if(item.Type==DEAL_COLUMN_ID.DEAL_ID)item.TextColor=g_JSChartResource.DealList.FieldColor.Deal;else if(item.Type==DEAL_COLUMN_ID.INDEX_ID)item.TextColor=g_JSChartResource.DealList.FieldColor.Index;}};this.SetColumn=function(aryColumn){if(!IFrameSplitOperator.IsNonEmptyArray(aryColumn))return;this.Column=[];for(var i=0;i<aryColumn.length;++i){var item=aryColumn[i];var colItem=this.GetDefaultColunm(item.Type);if(!colItem)continue;if(item.Title)colItem.Title=item.Title;if(item.TextAlign)colItem.TextAlign=item.TextAlign;if(item.TextColor)colItem.TextColor=item.TextColor;if(item.MaxText)colItem.MaxText=item.MaxText;if(item.ChartTooltip)colItem.ChartTooltip={Enable:item.ChartTooltip.Enable,Type:item.ChartTooltip.Type};//图形提示信息
|
|
13000
|
+
if(item.Type==DEAL_COLUMN_ID.MULTI_BAR_ID||item.Type==DEAL_COLUMN_ID.CENTER_BAR_ID){if(!IFrameSplitOperator.IsNumber(item.DataIndex))continue;colItem.DataIndex=item.DataIndex;//柱子数据所在原始数据索引列
|
|
12979
13001
|
}else if(item.Type==DEAL_COLUMN_ID.TIME_ID){if(IFrameSplitOperator.IsString(item.Foramt))colItem.Foramt=item.Foramt;//设置时间格式
|
|
12980
13002
|
}else if(this.IsReserveNumber(item.Type)){if(item.Format)colItem.Format=item.Format;//数据格式化设置{ Type:1=原始 2=千分位分割 3=万亿转换, ExFloatPrecision:万亿转换以后的小数位数 }
|
|
12981
13003
|
if(IFrameSplitOperator.IsNumber(item.ColorType))colItem.ColorType=item.ColorType;//0=默认 1=(>0, =0, <0) 2=(>=0, <0)
|
|
12982
|
-
}this.Column.push(colItem);}};this.GetDefaultColunm=function(id){var DEFAULT_COLUMN=[{Type:DEAL_COLUMN_ID.TIME_ID,Title:"时间",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Time,MaxText:"88:88:88",Foramt:"HH:MM:SS"},{Type:DEAL_COLUMN_ID.PRICE_ID,Title:"价格",TextAlign:"center",Width:null,MaxText:"888888.88"},{Type:DEAL_COLUMN_ID.VOL_ID,Title:"成交",TextAlign:"right",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Vol,MaxText:"888888"},{Type:DEAL_COLUMN_ID.BS_ID,Title:"",TextAlign:"right",Width:null,MaxText:"擎"},{Type:DEAL_COLUMN_ID.DEAL_ID,Title:"笔数",TextAlign:"right",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Deal,MaxText:"8888"},{Type:DEAL_COLUMN_ID.UPDOWN_ID,Title:"涨跌",TextAlign:"right",Width:null,MaxText:"-8888.88"},{Type:DEAL_COLUMN_ID.STRING_TIME_ID,Title:"时间",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Time,MaxText:"88:88:88"},{Type:DEAL_COLUMN_ID.INDEX_ID,Title:"序号",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Index,MaxText:"88888"},{Type:DEAL_COLUMN_ID.MULTI_BAR_ID,Title:"柱子",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.BarTitle,MaxText:"888888"},{Type:DEAL_COLUMN_ID.CENTER_BAR_ID,Title:"柱子2",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.BarTitle,MaxText:"888888"},{Type:DEAL_COLUMN_ID.CUSTOM_TEXT_ID,Title:"自定义",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Text,MaxText:"擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.NAME_ID,Title:"股票名称",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Text,MaxText:"擎擎擎擎*"},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER1_ID,Title:"数值1",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER2_ID,Title:"数值2",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER3_ID,Title:"数值3",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER4_ID,Title:"数值4",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER5_ID,Title:"数值5",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER6_ID,Title:"数值6",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER7_ID,Title:"数值7",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER8_ID,Title:"数值8",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER9_ID,Title:"数值9",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER10_ID,Title:"数值10",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_STRING1_ID,Title:"文字1",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.RESERVE_STRING2_ID,Title:"文字2",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.RESERVE_STRING3_ID,Title:"文字3",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.RESERVE_STRING4_ID,Title:"文字4",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.RESERVE_STRING5_ID,Title:"文字5",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.RESERVE_STRING6_ID,Title:"文字6",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.RESERVE_STRING7_ID,Title:"文字7",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.RESERVE_STRING8_ID,Title:"文字8",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.RESERVE_STRING9_ID,Title:"文字9",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.RESERVE_STRING10_ID,Title:"文字10",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"}];for(var i=0;i<DEFAULT_COLUMN.length;++i){var item=DEFAULT_COLUMN[i];if(item.Type==id)return item;}return null;};this.Draw=function(){this.AryCellRect=[];if(this.SizeChange)this.CalculateSize();else this.UpdateCacheData();this.DrawBorder();this.DrawHeader();this.DrawBody();this.SizeChange=false;};//更新缓存变量
|
|
13004
|
+
}this.Column.push(colItem);}};this.GetDefaultColunm=function(id){var DEFAULT_COLUMN=[{Type:DEAL_COLUMN_ID.TIME_ID,Title:"时间",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Time,MaxText:"88:88:88",Foramt:"HH:MM:SS"},{Type:DEAL_COLUMN_ID.PRICE_ID,Title:"价格",TextAlign:"center",Width:null,MaxText:"888888.88"},{Type:DEAL_COLUMN_ID.VOL_ID,Title:"成交",TextAlign:"right",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Vol,MaxText:"888888"},{Type:DEAL_COLUMN_ID.BS_ID,Title:"",TextAlign:"right",Width:null,MaxText:"擎"},{Type:DEAL_COLUMN_ID.DEAL_ID,Title:"笔数",TextAlign:"right",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Deal,MaxText:"8888"},{Type:DEAL_COLUMN_ID.UPDOWN_ID,Title:"涨跌",TextAlign:"right",Width:null,MaxText:"-8888.88"},{Type:DEAL_COLUMN_ID.STRING_TIME_ID,Title:"时间",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Time,MaxText:"88:88:88"},{Type:DEAL_COLUMN_ID.INDEX_ID,Title:"序号",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Index,MaxText:"88888"},{Type:DEAL_COLUMN_ID.MULTI_BAR_ID,Title:"柱子",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.BarTitle,MaxText:"888888"},{Type:DEAL_COLUMN_ID.CENTER_BAR_ID,Title:"柱子2",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.BarTitle,MaxText:"888888"},{Type:DEAL_COLUMN_ID.CUSTOM_TEXT_ID,Title:"自定义",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Text,MaxText:"擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.NAME_ID,Title:"股票名称",TextAlign:"center",Width:null,TextColor:g_JSChartResource.DealList.FieldColor.Text,MaxText:"擎擎擎擎*"},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER1_ID,Title:"数值1",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER2_ID,Title:"数值2",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER3_ID,Title:"数值3",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER4_ID,Title:"数值4",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER5_ID,Title:"数值5",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER6_ID,Title:"数值6",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER7_ID,Title:"数值7",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER8_ID,Title:"数值8",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER9_ID,Title:"数值9",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_NUMBER10_ID,Title:"数值10",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"9999.99",FloatPrecision:2},{Type:DEAL_COLUMN_ID.RESERVE_STRING1_ID,Title:"文字1",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.RESERVE_STRING2_ID,Title:"文字2",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.RESERVE_STRING3_ID,Title:"文字3",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.RESERVE_STRING4_ID,Title:"文字4",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.RESERVE_STRING5_ID,Title:"文字5",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.RESERVE_STRING6_ID,Title:"文字6",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.RESERVE_STRING7_ID,Title:"文字7",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.RESERVE_STRING8_ID,Title:"文字8",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.RESERVE_STRING9_ID,Title:"文字9",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"},{Type:DEAL_COLUMN_ID.RESERVE_STRING10_ID,Title:"文字10",TextAlign:"right",TextColor:g_JSChartResource.Report.FieldColor.Text,MaxText:"擎擎擎擎擎擎"}];for(var i=0;i<DEFAULT_COLUMN.length;++i){var item=DEFAULT_COLUMN[i];if(item.Type==id)return item;}return null;};this.Draw=function(){this.AryCellRect=[];this.TooltipRect=[];if(this.SizeChange)this.CalculateSize();else this.UpdateCacheData();this.DrawBorder();this.DrawHeader();this.DrawBody();this.SizeChange=false;};//更新缓存变量
|
|
12983
13005
|
this.UpdateCacheData=function(){this.RectClient.Left=this.ChartBorder.GetLeft();this.RectClient.Right=this.ChartBorder.GetRight();this.RectClient.Top=this.ChartBorder.GetTop();this.RectClient.Bottom=this.ChartBorder.GetBottom();this.Decimal=GetfloatPrecision(this.Symbol);};this.GetPageSize=function(recalculate)//recalculate 是否重新计算
|
|
12984
13006
|
{if(recalculate)this.CalculateSize();var size=this.TableCount*this.RowCount;return size;};this.CalculateSize=function()//计算大小
|
|
12985
13007
|
{this.UpdateCacheData();var pixelRatio=GetDevicePixelRatio();this.HeaderFont=this.HeaderFontConfig.Size*pixelRatio+'px '+this.HeaderFontConfig.Name;this.ItemFont=this.ItemFontConfig.Size*pixelRatio+'px '+this.ItemFontConfig.Name;this.Canvas.font=this.ItemFont;var sumWidth=0,itemWidth=0;for(var i=0;i<this.Column.length;++i){var item=this.Column[i];itemWidth=this.Canvas.measureText(item.MaxText).width;item.Width=itemWidth+4;sumWidth+=item.Width;}var clientWidth=this.RectClient.Right-this.RectClient.Left;this.TableCount=parseInt(clientWidth/sumWidth);if(this.IsSingleTable)this.TableCount=1;this.TableWidth=clientWidth/this.TableCount;this.HeaderHeight=this.GetFontHeight(this.HeaderFont,"擎")+this.HeaderMergin.Top+this.HeaderMergin.Bottom;if(!this.IsShowHeader)this.HeaderHeight=0;this.RowHeight=this.GetFontHeight(this.ItemFont,"擎")+this.HeaderMergin.Top+this.HeaderMergin.Bottom;this.RowCount=parseInt((this.RectClient.Bottom-this.RectClient.Top-this.HeaderHeight)/this.RowHeight);};this.DrawHeader=function(){if(!this.IsShowHeader)return;var left=this.RectClient.Left+this.HeaderMergin.Left;var top=this.RectClient.Top;var y=top+this.HeaderMergin.Top+(this.HeaderHeight-this.HeaderMergin.Top-this.HeaderMergin.Bottom)/2;this.Canvas.font=this.HeaderFont;this.Canvas.fillStyle=this.HeaderColor;for(var i=0,j=0;i<this.TableCount;++i){var tableLeft=left+this.TableWidth*i;var textLeft=tableLeft;for(j=0;j<this.Column.length;++j){var item=this.Column[j];var itemWidth=item.Width;if(j==this.Column.length-1)itemWidth=this.TableWidth-(textLeft-tableLeft)-this.HeaderMergin.Right-this.HeaderMergin.Left;var x=textLeft;if(item.TextAlign=='center'){x=textLeft+itemWidth/2;this.Canvas.textAlign="center";}else if(item.TextAlign=='right'){x=textLeft+itemWidth;this.Canvas.textAlign="right";}else{this.Canvas.textAlign="left";}this.Canvas.textBaseline="middle";this.Canvas.fillText(item.Title,x,y);textLeft+=item.Width;}}};this.DrawBorder=function(){var left=ToFixedPoint(this.RectClient.Left);var right=ToFixedPoint(this.RectClient.Right);var top=ToFixedPoint(this.RectClient.Top);var bottom=ToFixedPoint(this.RectClient.Bottom);this.Canvas.strokeStyle=this.BorderColor;this.Canvas.beginPath();if(this.IsShowHeader){this.Canvas.moveTo(left,top+this.HeaderHeight);this.Canvas.lineTo(right,top+this.HeaderHeight);}var tableLeft=ToFixedPoint(left+this.TableWidth);for(var i=1;i<this.TableCount;++i){this.Canvas.moveTo(tableLeft,top);this.Canvas.lineTo(tableLeft,bottom);tableLeft=ToFixedPoint(tableLeft+this.TableWidth);}this.Canvas.stroke();};this.DrawBody=function(){if(!this.Data)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return;this.Canvas.font=this.ItemFont;var top=this.RectClient.Top+this.HeaderHeight;var left=this.RectClient.Left+this.HeaderMergin.Left;var dataCount=this.Data.Data.length;var index=this.Data.DataOffset;if(this.ShowOrder==1){var index=this.Data.DataOffset+this.TableCount*this.RowCount;if(index>=dataCount)index=dataCount-1;for(var i=0,j=0;i<this.TableCount;++i){var tableLeft=left+this.TableWidth*i;var textLeft=tableLeft;var textTop=top;for(j=0;j<this.RowCount&&index>=0;++j,--index){var dataItem=this.Data.Data[index];this.DrawSelectedRow(dataItem,index,rtRow);this.DrawRow(dataItem,textLeft,textTop,index);textTop+=this.RowHeight;}}}else{for(var i=0,j=0;i<this.TableCount;++i){var tableLeft=left+this.TableWidth*i;var textLeft=tableLeft;var textTop=top;for(j=0;j<this.RowCount&&index<dataCount;++j,++index){var dataItem=this.Data.Data[index];var rtRow={Left:textLeft-this.HeaderMergin.Left,Top:textTop,Height:this.RowHeight,Width:this.TableWidth};rtRow.Right=rtRow.Left+rtRow.Width;rtRow.Bottom=rtRow.Top+rtRow.Height;this.DrawSelectedRow(dataItem,index,rtRow);this.DrawRow(dataItem,textLeft,textTop,index);this.AryCellRect.push({Rect:rtRow,Type:1,DataIndex:index});textTop+=this.RowHeight;}}}};this.DrawRow=function(data,left,top,dataIndex,colIndex){var tableLeft=left;var tableRight=left+this.TableWidth;for(var i=0;i<this.Column.length;++i){var item=this.Column[i];var textColor=item.TextColor;var text=null;var itemWidth=item.Width;var textAlign=item.TextAlign;if(left+itemWidth>tableRight)break;if(i==this.Column.length-1)itemWidth=this.TableWidth-(left-tableLeft)-this.HeaderMergin.Right-this.HeaderMergin.Left;var drawInfo={Text:null,TextColor:item.TextColor,TextAlign:item.TextAlign,Tooltip:null,Index:dataIndex,ColumnIndex:i};var rtItem={Left:left,Top:top,Width:itemWidth,Height:this.RowHeight};rtItem.Right=rtItem.Left+rtItem.Width;rtItem.Bottom=rtItem.Top+rtItem.Height;drawInfo.Rect=rtItem;var bDrawV2=false;if(item.Type==DEAL_COLUMN_ID.TIME_ID){text=IFrameSplitOperator.FormatTimeString(data.Time,item.Foramt);}else if(item.Type==DEAL_COLUMN_ID.STRING_TIME_ID){text=data.StrTime;}else if(item.Type==DEAL_COLUMN_ID.PRICE_ID){if(data.Price>this.YClose)textColor=this.UpColor;else if(data.Price<this.YClose)textColor=this.DownColor;else textColor=this.UnchangeColor;text=data.Price.toFixed(this.Decimal);}else if(item.Type==DEAL_COLUMN_ID.VOL_ID){text=IFrameSplitOperator.FormatValueString(data.Vol,0);textColor=this.GetVolColor(item,data);}else if(item.Type==DEAL_COLUMN_ID.DEAL_ID){text=IFrameSplitOperator.FormatValueString(data.Deal,0);}else if(item.Type==DEAL_COLUMN_ID.BS_ID){if(data.BS==1){text="B";textColor=this.UpColor;}else if(data.BS==2){text="S";textColor=this.DownColor;}}else if(item.Type==DEAL_COLUMN_ID.UPDOWN_ID){if(IFrameSplitOperator.IsNumber(this.YClose)){var value=data.Price-this.YClose;text=value.toFixed(2);if(value>0)textColor=this.UpColor;else if(value<0)textColor=this.DownColor;else textColor=this.UnchangeColor;}}else if(item.Type==DEAL_COLUMN_ID.INDEX_ID){text=(dataIndex+1).toString();}else if(item.Type==DEAL_COLUMN_ID.MULTI_BAR_ID){var rtItem={Left:left,Top:top,Width:itemWidth,Height:this.RowHeight};this.DrawMultiBar(item,data,rtItem);}else if(item.Type==DEAL_COLUMN_ID.CENTER_BAR_ID){var rtItem={Left:left,Top:top,Width:itemWidth,Height:this.RowHeight};this.DrawCenterBar(item,data,rtItem);}else if(item.Type==DEAL_COLUMN_ID.CUSTOM_TEXT_ID){var out={Text:null,TextColor:null,TextAlign:null};//输出
|
|
12986
|
-
var rtItem={Left:left,Top:top,Width:itemWidth,Height:this.RowHeight};if(this.DrawCustomText(item,data,rtItem,dataIndex,i,out)){if(out.Text)text=out.Text;if(out.TextColor)textColor=out.TextColor;if(out.TextAlign)textAlign=out.TextAlign;}}else if(this.IsReserveString(item.Type)){this.FormatReserveString(item,data,drawInfo);bDrawV2=true;}else if(this.IsReserveNumber(item.Type)){this.FormatReserveNumber(item,data,drawInfo);bDrawV2=true;}if(bDrawV2){this.DrawItemText(drawInfo.Text,drawInfo.TextColor,drawInfo.TextAlign,rtItem.Left,rtItem.Top,rtItem.Width,drawInfo.BGColor);}else{this.DrawItemText(text,textColor,textAlign,left,top,itemWidth);}
|
|
13008
|
+
var rtItem={Left:left,Top:top,Width:itemWidth,Height:this.RowHeight};if(this.DrawCustomText(item,data,rtItem,dataIndex,i,out)){if(out.Text)text=out.Text;if(out.TextColor)textColor=out.TextColor;if(out.TextAlign)textAlign=out.TextAlign;}}else if(this.IsReserveString(item.Type)){this.FormatReserveString(item,data,drawInfo);bDrawV2=true;}else if(this.IsReserveNumber(item.Type)){this.FormatReserveNumber(item,data,drawInfo);bDrawV2=true;}if(bDrawV2){this.DrawItemText(drawInfo.Text,drawInfo.TextColor,drawInfo.TextAlign,rtItem.Left,rtItem.Top,rtItem.Width,drawInfo.BGColor);}else{this.DrawItemText(text,textColor,textAlign,left,top,itemWidth);}if(item.ChartTooltip&&item.ChartTooltip.Enable&&IFrameSplitOperator.IsNumber(item.ChartTooltip.Type))//Type 20分时图 21K线图
|
|
13009
|
+
{var tooltipData={Rect:rtItem,Data:data,Index:dataIndex,Column:item,Type:item.ChartTooltip.Type};this.TooltipRect.push(tooltipData);}left+=item.Width;}};this.FormatReserveNumber=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_DEAL_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);}}var text=value.toFixed(column.FloatPrecision);if(column.Format&&IFrameSplitOperator.IsNumber(column.Format.Type)){var format=column.Format;switch(format.Type){case 1://原始数据
|
|
12987
13010
|
text=value.toFixed(column.FloatPrecision);break;case 2://千分位分割
|
|
12988
13011
|
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;}}drawInfo.Text=text;};this.FormatReserveString=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_DEAL_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.GetUpDownColor=function(price,price2){if(price>price2)return this.UpColor;else if(price<price2)return this.DownColor;else return this.UnchangeColor;};this.GetUpDownColorV2=function(price,price2){if(price>=price2)return this.UpColor;else return this.DownColor;};this.DrawSelectedRow=function(data,index,rtRow){if(!this.SelectedData)return;if(!this.SelectedData.Enable)return;if(!this.SelectedData.Guid||this.SelectedData.Guid!=data.Guid)return;this.Canvas.fillStyle=this.SelectedConfig.BGColor;this.Canvas.fillRect(rtRow.Left,rtRow.Top,rtRow.Width,rtRow.Height);};this.DrawItemText=function(text,textColor,textAlign,left,top,width){var x=left;if(textAlign=='center'){x=left+width/2;this.Canvas.textAlign="center";}else if(textAlign=='right'){x=left+width;this.Canvas.textAlign="right";}else{this.Canvas.textAlign="left";}this.Canvas.textBaseline="middle";this.Canvas.fillStyle=textColor;if(text)this.Canvas.fillText(text,x,top+this.RowHeight/2);};this.DrawMultiBar=function(colunmInfo,data,rtItem){if(!data.Source||!IFrameSplitOperator.IsNonEmptyArray(data.Source))return false;var barData=data.Source[colunmInfo.DataIndex];//{ Value:[0.4,0,2], Color:[0,1] };
|
|
12989
13012
|
if(!barData)return false;if(!IFrameSplitOperator.IsNonEmptyArray(barData.Value))return false;var width=rtItem.Width-this.BarMergin.Left-this.BarMergin.Right;var left=rtItem.Left+this.BarMergin.Left;var top=rtItem.Top+this.RowMergin.Top+this.BarMergin.Top;var height=rtItem.Height-this.RowMergin.Top-this.RowMergin.Bottom-this.BarMergin.Top-this.BarMergin.Bottom;var right=left+width;for(var i=0;i<barData.Value.length;++i){var value=barData.Value[i];if(value<=0)continue;if(left>=right)break;var barWidth=width*value;if(barWidth<1)barWidth=1;if(left+barWidth>right)barWidth=right-left;var colorIndex=i;if(IFrameSplitOperator.IsNonEmptyArray(barData.Color)&&i<barData.Color.length)colorIndex=barData.Color[i];this.Canvas.fillStyle=g_JSChartResource.DealList.FieldColor.Bar[colorIndex];this.Canvas.fillRect(left,top,barWidth,height);left+=barWidth;}return true;};this.DrawCenterBar=function(colunmInfo,data,rtItem){if(!data.Source||!IFrameSplitOperator.IsNonEmptyArray(data.Source))return false;var barData=data.Source[colunmInfo.DataIndex];//{ Value:[0.4,0,2], Color:[0,1] };
|
|
12990
13013
|
if(!barData)return false;if(!IFrameSplitOperator.IsNonEmptyArray(barData.Value))return false;var width=(rtItem.Width-this.BarMergin.Left-this.BarMergin.Right)/2;var left=rtItem.Left+this.BarMergin.Left;var center=left+width;var top=rtItem.Top+this.RowMergin.Top+this.BarMergin.Top;var height=rtItem.Height-this.RowMergin.Top-this.RowMergin.Bottom-this.BarMergin.Top-this.BarMergin.Bottom;var right=left+width;for(var i=0;i<barData.Value.length&&i<2;++i){var value=barData.Value[i];if(value<=0)continue;if(value>1)value=1;var barWidth=width*value;if(barWidth<1)barWidth=1;var colorIndex=i;if(IFrameSplitOperator.IsNonEmptyArray(barData.Color)&&i<barData.Color.length)colorIndex=barData.Color[i];this.Canvas.fillStyle=g_JSChartResource.DealList.FieldColor.Bar[colorIndex];if(i==0)//左边
|
|
12991
13014
|
{this.Canvas.fillRect(center,top,-barWidth,height);}else//右边
|
|
12992
13015
|
{this.Canvas.fillRect(center,top,barWidth,height);}}};this.DrawCustomText=function(columnInfo,data,rtItem,dataIndex,colid,out){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DRAW_DEAL_TEXT);if(!event||!event.Callback)return false;var sendData={Data:data,DataIndex:dataIndex,ColumnIndex:colid,ColumnInfo:columnInfo,Out:{Text:null,TextColor:null,TextAlign:null}};event.Callback(event,sendData,this);if(!sendData.Out.Text)return false;out.Text=sendData.Out.Text;if(sendData.Out.TextColor)out.TextColor=sendData.Out.TextColor;if(sendData.Out.TextAlign)out.TextAlign=sendData.Out.TextAlign;return true;};this.GetVolColor=function(colunmInfo,data){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DRAW_DEAL_VOL_COLOR);if(event&&event.Callback){var sendData={Data:data,TextColor:null};event.Callback(event,sendData,this);if(sendData.TextColor)return sendData.TextColor;}return colunmInfo.TextColor;};this.GetFontHeight=function(font,word){return GetFontHeight(this.Canvas,font,word);};this.OnMouseDown=function(x,y,e)//Type: 1=行
|
|
12993
|
-
{if(!this.Data)return null;var pixelTatio=GetDevicePixelRatio();var insidePoint={X:x/pixelTatio,Y:y/pixelTatio};var uiElement;if(this.UIElement)uiElement={Left:this.UIElement.getBoundingClientRect().left,Top:this.UIElement.getBoundingClientRect().top};else uiElement={Left:null,Top:null};var row=this.PtInBody(x,y);if(row){var bRedraw=true;var index=row.DataIndex;var id=row.Item.Guid;if(this.SelectedData.Index==index&&this.SelectedData.Guid==id)bRedraw=false;this.SelectedData.Index=index;this.SelectedData.Guid=id;var eventID=JSCHART_EVENT_ID.ON_CLICK_DEAL_ROW;if(e.button==2)eventID=JSCHART_EVENT_ID.ON_RCLICK_DEAL_ROW;this.SendClickEvent(eventID,{Data:row,X:x,Y:y,e:e,Inside:insidePoint,UIElement:uiElement});return{Type:row.Type,Redraw:bRedraw,Row:row};}return null;};this.OnDblClick=function(x,y,e){if(!this.Data)return false;var row=this.PtInBody(x,y);if(row){this.SendClickEvent(JSCHART_EVENT_ID.ON_DBCLICK_DEAL_ROW,{Data:row,X:x,Y:y});return true;}return false;};this.PtInBody=function(x,y){if(!this.Data)return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.AryCellRect))return null;for(var i=0;i<this.AryCellRect.length;++i){var item=this.AryCellRect[i];var rtRow=item.Rect;if(x>=rtRow.Left&&x<=rtRow.Right&&y>=rtRow.Top&&y<=rtRow.Bottom){var data={Rect:rtRow,DataIndex:item.DataIndex,Item:this.Data.Data[item.DataIndex],Type:item.Type};return data;}}return null;};this.SendClickEvent=function(id,data){var event=this.GetEventCallback(id);if(event&&event.Callback){event.Callback(event,data,this);}};this.IsReserveString=function(value){var ARARY_TYPE=[DEAL_COLUMN_ID.RESERVE_STRING1_ID,DEAL_COLUMN_ID.RESERVE_STRING2_ID,DEAL_COLUMN_ID.RESERVE_STRING3_ID,DEAL_COLUMN_ID.RESERVE_STRING4_ID,DEAL_COLUMN_ID.RESERVE_STRING5_ID,DEAL_COLUMN_ID.RESERVE_STRING6_ID,DEAL_COLUMN_ID.RESERVE_STRING7_ID,DEAL_COLUMN_ID.RESERVE_STRING8_ID,DEAL_COLUMN_ID.RESERVE_STRING9_ID,DEAL_COLUMN_ID.RESERVE_STRING10_ID];return ARARY_TYPE.includes(value);};this.IsReserveNumber=function(value){var ARARY_TYPE=[DEAL_COLUMN_ID.RESERVE_NUMBER1_ID,DEAL_COLUMN_ID.RESERVE_NUMBER2_ID,DEAL_COLUMN_ID.RESERVE_NUMBER3_ID,DEAL_COLUMN_ID.RESERVE_NUMBER4_ID,DEAL_COLUMN_ID.RESERVE_NUMBER5_ID,DEAL_COLUMN_ID.RESERVE_NUMBER6_ID,DEAL_COLUMN_ID.RESERVE_NUMBER7_ID,DEAL_COLUMN_ID.RESERVE_NUMBER8_ID,DEAL_COLUMN_ID.RESERVE_NUMBER9_ID,DEAL_COLUMN_ID.RESERVE_NUMBER10_ID];return ARARY_TYPE.includes(value);};}/*
|
|
13016
|
+
{if(!this.Data)return null;var pixelTatio=GetDevicePixelRatio();var insidePoint={X:x/pixelTatio,Y:y/pixelTatio};var uiElement;if(this.UIElement)uiElement={Left:this.UIElement.getBoundingClientRect().left,Top:this.UIElement.getBoundingClientRect().top};else uiElement={Left:null,Top:null};var row=this.PtInBody(x,y);if(row){var bRedraw=true;var index=row.DataIndex;var id=row.Item.Guid;if(this.SelectedData.Index==index&&this.SelectedData.Guid==id)bRedraw=false;this.SelectedData.Index=index;this.SelectedData.Guid=id;var eventID=JSCHART_EVENT_ID.ON_CLICK_DEAL_ROW;if(e.button==2)eventID=JSCHART_EVENT_ID.ON_RCLICK_DEAL_ROW;this.SendClickEvent(eventID,{Data:row,X:x,Y:y,e:e,Inside:insidePoint,UIElement:uiElement});return{Type:row.Type,Redraw:bRedraw,Row:row};}return null;};this.OnDblClick=function(x,y,e){if(!this.Data)return false;var row=this.PtInBody(x,y);if(row){this.SendClickEvent(JSCHART_EVENT_ID.ON_DBCLICK_DEAL_ROW,{Data:row,X:x,Y:y});return true;}return false;};this.PtInBody=function(x,y){if(!this.Data)return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.AryCellRect))return null;for(var i=0;i<this.AryCellRect.length;++i){var item=this.AryCellRect[i];var rtRow=item.Rect;if(x>=rtRow.Left&&x<=rtRow.Right&&y>=rtRow.Top&&y<=rtRow.Bottom){var data={Rect:rtRow,DataIndex:item.DataIndex,Item:this.Data.Data[item.DataIndex],Type:item.Type};return data;}}return null;};this.SendClickEvent=function(id,data){var event=this.GetEventCallback(id);if(event&&event.Callback){event.Callback(event,data,this);}};this.IsReserveString=function(value){var ARARY_TYPE=[DEAL_COLUMN_ID.RESERVE_STRING1_ID,DEAL_COLUMN_ID.RESERVE_STRING2_ID,DEAL_COLUMN_ID.RESERVE_STRING3_ID,DEAL_COLUMN_ID.RESERVE_STRING4_ID,DEAL_COLUMN_ID.RESERVE_STRING5_ID,DEAL_COLUMN_ID.RESERVE_STRING6_ID,DEAL_COLUMN_ID.RESERVE_STRING7_ID,DEAL_COLUMN_ID.RESERVE_STRING8_ID,DEAL_COLUMN_ID.RESERVE_STRING9_ID,DEAL_COLUMN_ID.RESERVE_STRING10_ID];return ARARY_TYPE.includes(value);};this.IsReserveNumber=function(value){var ARARY_TYPE=[DEAL_COLUMN_ID.RESERVE_NUMBER1_ID,DEAL_COLUMN_ID.RESERVE_NUMBER2_ID,DEAL_COLUMN_ID.RESERVE_NUMBER3_ID,DEAL_COLUMN_ID.RESERVE_NUMBER4_ID,DEAL_COLUMN_ID.RESERVE_NUMBER5_ID,DEAL_COLUMN_ID.RESERVE_NUMBER6_ID,DEAL_COLUMN_ID.RESERVE_NUMBER7_ID,DEAL_COLUMN_ID.RESERVE_NUMBER8_ID,DEAL_COLUMN_ID.RESERVE_NUMBER9_ID,DEAL_COLUMN_ID.RESERVE_NUMBER10_ID];return ARARY_TYPE.includes(value);};this.GetTooltipData=function(x,y){if(!IFrameSplitOperator.IsNonEmptyArray(this.TooltipRect))return null;for(var i=0;i<this.TooltipRect.length;++i){var item=this.TooltipRect[i];var rt=item.Rect;if(!rt)continue;if(x>=rt.Left&&x<=rt.Right&&y>=rt.Top&&y<=rt.Bottom){return(0,_defineProperty3.default)({Rect:item.Rect,Data:item.Data,Column:item.Column,Index:item.Index,Type:item.Type},'Data',item.Data);}}return null;};}/*
|
|
12994
13017
|
Copyright (c) 2018 jones
|
|
12995
13018
|
|
|
12996
13019
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
@@ -14929,7 +14952,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
14929
14952
|
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);};}/********************************************************************************
|
|
14930
14953
|
* 版本信息输出
|
|
14931
14954
|
*
|
|
14932
|
-
*/var HQCHART_VERSION="1.1.
|
|
14955
|
+
*/var HQCHART_VERSION="1.1.14753";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();//把给外界调用的方法暴露出来
|
|
14933
14956
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
14934
14957
|
// BaseIndex:BaseIndex,
|
|
14935
14958
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -71,6 +71,8 @@ function JSDealChart(divElement)
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
+
if (option.MinuteChartTooltip && option.MinuteChartTooltip.Enable) chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);
|
|
75
|
+
|
|
74
76
|
if (!option.Symbol)
|
|
75
77
|
{
|
|
76
78
|
chart.Draw();
|
|
@@ -211,10 +213,15 @@ function JSDealChartContainer(uielement)
|
|
|
211
213
|
this.AutoUpdateFrequency=15000; //更新频率
|
|
212
214
|
|
|
213
215
|
this.LoadDataSplashTitle="数据加载中"; //下载数据提示信息
|
|
216
|
+
|
|
217
|
+
this.TooltipMinuteChart; //分时图
|
|
214
218
|
|
|
215
219
|
this.UIElement=uielement;
|
|
216
220
|
this.LastPoint=new Point(); //鼠标位置
|
|
217
221
|
|
|
222
|
+
//MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
|
|
223
|
+
this.LastMouseStatus={ MoveStatus:null, TooltipStatus:null, MouseOnStatus:null };
|
|
224
|
+
|
|
218
225
|
this.IsDestroy=false; //是否已经销毁了
|
|
219
226
|
|
|
220
227
|
this.ChartDestroy=function() //销毁
|
|
@@ -225,6 +232,51 @@ function JSDealChartContainer(uielement)
|
|
|
225
232
|
|
|
226
233
|
this.EnableFilterData=false; //是否启动筛选
|
|
227
234
|
|
|
235
|
+
this.InitalMinuteChartTooltip=function(option)
|
|
236
|
+
{
|
|
237
|
+
if (this.TooltipMinuteChart) return;
|
|
238
|
+
|
|
239
|
+
this.TooltipMinuteChart=new JSTooltipMinuteChart();
|
|
240
|
+
this.TooltipMinuteChart.Inital(this, option);
|
|
241
|
+
this.TooltipMinuteChart.Create();
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
this.DestroyMinuteChartTooltip=function()
|
|
245
|
+
{
|
|
246
|
+
if (!this.TooltipMinuteChart) return;
|
|
247
|
+
|
|
248
|
+
this.TooltipMinuteChart.Destroy();
|
|
249
|
+
this.TooltipMinuteChart=null;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
//data={ Symbol }
|
|
253
|
+
this.ShowMinuteChartTooltip=function(x,y, data)
|
|
254
|
+
{
|
|
255
|
+
if (!this.TooltipMinuteChart) return;
|
|
256
|
+
|
|
257
|
+
var rtClient=this.UIElement.getBoundingClientRect();
|
|
258
|
+
var rtScroll=GetScrollPosition();
|
|
259
|
+
|
|
260
|
+
var offsetLeft=rtClient.left+rtScroll.Left;
|
|
261
|
+
var offsetTop=rtClient.top+rtScroll.Top;
|
|
262
|
+
|
|
263
|
+
data.Offset={ Left:offsetLeft, Top:offsetTop };
|
|
264
|
+
|
|
265
|
+
this.TooltipMinuteChart.Show(data, x,y);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
this.HideMinuteChartTooltip=function()
|
|
269
|
+
{
|
|
270
|
+
if (!this.TooltipMinuteChart) return;
|
|
271
|
+
|
|
272
|
+
this.TooltipMinuteChart.Hide();
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
this.HideAllTooltip=function()
|
|
276
|
+
{
|
|
277
|
+
this.HideMinuteChartTooltip();
|
|
278
|
+
}
|
|
279
|
+
|
|
228
280
|
//筛选数据
|
|
229
281
|
this.FilterData=function(aryDeal)
|
|
230
282
|
{
|
|
@@ -333,6 +385,7 @@ function JSDealChartContainer(uielement)
|
|
|
333
385
|
this.UIElement.onmousedown=(e)=> { this.UIOnMouseDown(e); }
|
|
334
386
|
this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
|
|
335
387
|
this.UIElement.oncontextmenu=(e)=> { this.UIOnContextMenu(e); }
|
|
388
|
+
this.UIElement.onmousemove=(e)=>{ this.UIOnMouseMove(e);}
|
|
336
389
|
}
|
|
337
390
|
|
|
338
391
|
this.Draw=function()
|
|
@@ -675,10 +728,12 @@ function JSDealChartContainer(uielement)
|
|
|
675
728
|
|
|
676
729
|
if (wheelValue<0) //下一页
|
|
677
730
|
{
|
|
731
|
+
this.HideAllTooltip();
|
|
678
732
|
if (this.GotoNextPage()) this.Draw();
|
|
679
733
|
}
|
|
680
734
|
else if (wheelValue>0) //上一页
|
|
681
735
|
{
|
|
736
|
+
this.HideAllTooltip();
|
|
682
737
|
if (this.GotoPreviousPage()) this.Draw();
|
|
683
738
|
}
|
|
684
739
|
|
|
@@ -694,9 +749,11 @@ function JSDealChartContainer(uielement)
|
|
|
694
749
|
switch(keyID)
|
|
695
750
|
{
|
|
696
751
|
case 38: //up
|
|
752
|
+
this.HideAllTooltip();
|
|
697
753
|
if (this.GotoPreviousPage()) this.Draw();
|
|
698
754
|
break;
|
|
699
755
|
case 40: //down
|
|
756
|
+
this.HideAllTooltip();
|
|
700
757
|
if (this.GotoNextPage()) this.Draw();
|
|
701
758
|
break;
|
|
702
759
|
}
|
|
@@ -706,6 +763,12 @@ function JSDealChartContainer(uielement)
|
|
|
706
763
|
else e.returnValue = false;
|
|
707
764
|
}
|
|
708
765
|
|
|
766
|
+
this.GetReportChart=function()
|
|
767
|
+
{
|
|
768
|
+
var chart=this.ChartPaint[0];
|
|
769
|
+
return chart;
|
|
770
|
+
}
|
|
771
|
+
|
|
709
772
|
this.UIOnMouseDown=function(e)
|
|
710
773
|
{
|
|
711
774
|
var pixelTatio = GetDevicePixelRatio();
|
|
@@ -725,6 +788,67 @@ function JSDealChartContainer(uielement)
|
|
|
725
788
|
}
|
|
726
789
|
}
|
|
727
790
|
|
|
791
|
+
this.UIOnMouseMove=function(e)
|
|
792
|
+
{
|
|
793
|
+
var pixelTatio = GetDevicePixelRatio();
|
|
794
|
+
var x = (e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;
|
|
795
|
+
var y = (e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
|
|
796
|
+
|
|
797
|
+
var oldMouseOnStatus=this.LastMouseStatus.MouseOnStatus;
|
|
798
|
+
this.LastMouseStatus.OnMouseMove=null;
|
|
799
|
+
|
|
800
|
+
var bDrawTooltip=false;
|
|
801
|
+
if (this.LastMouseStatus.TooltipStatus) bDrawTooltip=true;
|
|
802
|
+
this.LastMouseStatus.TooltipStatus=null;
|
|
803
|
+
|
|
804
|
+
var bShowMinuteTooltip=false;
|
|
805
|
+
var chartTooltipData=null;
|
|
806
|
+
|
|
807
|
+
this.LastMouseStatus.OnMouseMove={ X:x, Y:y };
|
|
808
|
+
var mouseStatus={ Cursor:"default", Name:"Default"};; //鼠标状态
|
|
809
|
+
var report=this.GetReportChart();
|
|
810
|
+
var bDraw=false;
|
|
811
|
+
|
|
812
|
+
if (report)
|
|
813
|
+
{
|
|
814
|
+
var tooltipData=report.GetTooltipData(x,y); //单元格提示信息
|
|
815
|
+
if (tooltipData)
|
|
816
|
+
{
|
|
817
|
+
if (tooltipData.Type==20)
|
|
818
|
+
{
|
|
819
|
+
if (tooltipData.Data && tooltipData.Data.Symbol)
|
|
820
|
+
{
|
|
821
|
+
bShowMinuteTooltip=true;
|
|
822
|
+
chartTooltipData={ Symbol:tooltipData.Data.Symbol, Rect:tooltipData.Rect };
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
/*
|
|
826
|
+
else if (tooltipData.Type==21)
|
|
827
|
+
{
|
|
828
|
+
if (tooltipData.Stock && tooltipData.Stock.Symbol)
|
|
829
|
+
{
|
|
830
|
+
bShowKLineTooltip=true;
|
|
831
|
+
chartTooltipData={ Symbol:tooltipData.Stock.OriginalSymbol, Rect:tooltipData.Rect };
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
else
|
|
835
|
+
{
|
|
836
|
+
this.LastMouseStatus.TooltipStatus={ X:x, Y:y, Data:tooltipData, ClientX:e.clientX, ClientY:e.clientY };
|
|
837
|
+
bDrawTooltip=true;
|
|
838
|
+
}
|
|
839
|
+
*/
|
|
840
|
+
|
|
841
|
+
}
|
|
842
|
+
}
|
|
843
|
+
|
|
844
|
+
if (mouseStatus) this.UIElement.style.cursor=mouseStatus.Cursor;
|
|
845
|
+
|
|
846
|
+
if (bDraw) this.Draw();
|
|
847
|
+
|
|
848
|
+
if (!bShowMinuteTooltip) this.HideMinuteChartTooltip();
|
|
849
|
+
if (bShowMinuteTooltip) this.ShowMinuteChartTooltip(null, null, chartTooltipData);
|
|
850
|
+
}
|
|
851
|
+
|
|
728
852
|
this.UIOnDblClick=function(e)
|
|
729
853
|
{
|
|
730
854
|
var pixelTatio = GetDevicePixelRatio();
|
|
@@ -828,7 +952,7 @@ JSDealChartContainer.JsonDataToDealData=function(data)
|
|
|
828
952
|
var result=[];
|
|
829
953
|
if (!IFrameSplitOperator.IsNonEmptyArray(data.detail)) return result;
|
|
830
954
|
|
|
831
|
-
//0=时间 1=价格 2=成交量 3=成交金额 4=BS 5=字符串时间 6=ID
|
|
955
|
+
//0=时间 1=价格 2=成交量 3=成交金额 4=BS 5=字符串时间 6=ID 100=Guid
|
|
832
956
|
for(var i=0;i<data.detail.length;++i)
|
|
833
957
|
{
|
|
834
958
|
var item=data.detail[i];
|
|
@@ -842,6 +966,8 @@ JSDealChartContainer.JsonDataToDealData=function(data)
|
|
|
842
966
|
if (item[11]) dealItem.Symbol=item[11]; //股票代码
|
|
843
967
|
if (item[12]) dealItem.Name=item[12]; //股票名称
|
|
844
968
|
|
|
969
|
+
if (item[100]) dealItem.Guid=item[100];
|
|
970
|
+
|
|
845
971
|
//10个数值型 101-199
|
|
846
972
|
if (IFrameSplitOperator.IsNumber(item[101])) dealItem.ReserveNumber1=item[101];
|
|
847
973
|
if (IFrameSplitOperator.IsNumber(item[102])) dealItem.ReserveNumber2=item[102];
|
|
@@ -1097,6 +1223,10 @@ function ChartDealList()
|
|
|
1097
1223
|
this.RectClient={};
|
|
1098
1224
|
this.AryCellRect=[]; //{ Rect:, Type: 1=单行 }
|
|
1099
1225
|
|
|
1226
|
+
//Type:20=分时图
|
|
1227
|
+
//{ Rect, Data, Index, Column, Type }}
|
|
1228
|
+
this.TooltipRect=[];
|
|
1229
|
+
|
|
1100
1230
|
this.ReloadResource=function(resource)
|
|
1101
1231
|
{
|
|
1102
1232
|
this.UpColor=g_JSChartResource.DealList.UpTextColor;
|
|
@@ -1151,6 +1281,8 @@ function ChartDealList()
|
|
|
1151
1281
|
if (item.TextColor) colItem.TextColor=item.TextColor;
|
|
1152
1282
|
if (item.MaxText) colItem.MaxText=item.MaxText;
|
|
1153
1283
|
|
|
1284
|
+
if (item.ChartTooltip) colItem.ChartTooltip={ Enable:item.ChartTooltip.Enable, Type:item.ChartTooltip.Type }; //图形提示信息
|
|
1285
|
+
|
|
1154
1286
|
if (item.Type==DEAL_COLUMN_ID.MULTI_BAR_ID || item.Type==DEAL_COLUMN_ID.CENTER_BAR_ID)
|
|
1155
1287
|
{
|
|
1156
1288
|
if (!IFrameSplitOperator.IsNumber(item.DataIndex)) continue;
|
|
@@ -1227,6 +1359,7 @@ function ChartDealList()
|
|
|
1227
1359
|
this.Draw=function()
|
|
1228
1360
|
{
|
|
1229
1361
|
this.AryCellRect=[];
|
|
1362
|
+
this.TooltipRect=[];
|
|
1230
1363
|
if (this.SizeChange) this.CalculateSize();
|
|
1231
1364
|
else this.UpdateCacheData();
|
|
1232
1365
|
|
|
@@ -1540,7 +1673,12 @@ function ChartDealList()
|
|
|
1540
1673
|
{
|
|
1541
1674
|
this.DrawItemText(text, textColor, textAlign, left, top, itemWidth);
|
|
1542
1675
|
}
|
|
1543
|
-
|
|
1676
|
+
|
|
1677
|
+
if (item.ChartTooltip && item.ChartTooltip.Enable && IFrameSplitOperator.IsNumber(item.ChartTooltip.Type)) //Type 20分时图 21K线图
|
|
1678
|
+
{
|
|
1679
|
+
var tooltipData={ Rect:rtItem, Data:data, Index:dataIndex, Column:item, Type:item.ChartTooltip.Type };
|
|
1680
|
+
this.TooltipRect.push(tooltipData);
|
|
1681
|
+
}
|
|
1544
1682
|
|
|
1545
1683
|
left+=item.Width;
|
|
1546
1684
|
}
|
|
@@ -1859,4 +1997,23 @@ function ChartDealList()
|
|
|
1859
1997
|
|
|
1860
1998
|
return ARARY_TYPE.includes(value);
|
|
1861
1999
|
}
|
|
2000
|
+
|
|
2001
|
+
this.GetTooltipData=function(x,y)
|
|
2002
|
+
{
|
|
2003
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.TooltipRect)) return null;
|
|
2004
|
+
|
|
2005
|
+
for(var i=0;i<this.TooltipRect.length;++i)
|
|
2006
|
+
{
|
|
2007
|
+
var item=this.TooltipRect[i];
|
|
2008
|
+
var rt=item.Rect;
|
|
2009
|
+
if (!rt) continue;
|
|
2010
|
+
|
|
2011
|
+
if (x>=rt.Left && x<=rt.Right && y>=rt.Top && y<=rt.Bottom)
|
|
2012
|
+
{
|
|
2013
|
+
return { Rect:item.Rect, Data:item.Data, Column:item.Column, Index:item.Index, Type:item.Type, Data:item.Data };
|
|
2014
|
+
}
|
|
2015
|
+
}
|
|
2016
|
+
|
|
2017
|
+
return null;
|
|
2018
|
+
}
|
|
1862
2019
|
}
|
|
@@ -133808,6 +133808,8 @@ function JSDealChart(divElement)
|
|
|
133808
133808
|
}
|
|
133809
133809
|
}
|
|
133810
133810
|
|
|
133811
|
+
if (option.MinuteChartTooltip && option.MinuteChartTooltip.Enable) chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);
|
|
133812
|
+
|
|
133811
133813
|
if (!option.Symbol)
|
|
133812
133814
|
{
|
|
133813
133815
|
chart.Draw();
|
|
@@ -133948,10 +133950,15 @@ function JSDealChartContainer(uielement)
|
|
|
133948
133950
|
this.AutoUpdateFrequency=15000; //更新频率
|
|
133949
133951
|
|
|
133950
133952
|
this.LoadDataSplashTitle="数据加载中"; //下载数据提示信息
|
|
133953
|
+
|
|
133954
|
+
this.TooltipMinuteChart; //分时图
|
|
133951
133955
|
|
|
133952
133956
|
this.UIElement=uielement;
|
|
133953
133957
|
this.LastPoint=new Point(); //鼠标位置
|
|
133954
133958
|
|
|
133959
|
+
//MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
|
|
133960
|
+
this.LastMouseStatus={ MoveStatus:null, TooltipStatus:null, MouseOnStatus:null };
|
|
133961
|
+
|
|
133955
133962
|
this.IsDestroy=false; //是否已经销毁了
|
|
133956
133963
|
|
|
133957
133964
|
this.ChartDestroy=function() //销毁
|
|
@@ -133962,6 +133969,51 @@ function JSDealChartContainer(uielement)
|
|
|
133962
133969
|
|
|
133963
133970
|
this.EnableFilterData=false; //是否启动筛选
|
|
133964
133971
|
|
|
133972
|
+
this.InitalMinuteChartTooltip=function(option)
|
|
133973
|
+
{
|
|
133974
|
+
if (this.TooltipMinuteChart) return;
|
|
133975
|
+
|
|
133976
|
+
this.TooltipMinuteChart=new JSTooltipMinuteChart();
|
|
133977
|
+
this.TooltipMinuteChart.Inital(this, option);
|
|
133978
|
+
this.TooltipMinuteChart.Create();
|
|
133979
|
+
}
|
|
133980
|
+
|
|
133981
|
+
this.DestroyMinuteChartTooltip=function()
|
|
133982
|
+
{
|
|
133983
|
+
if (!this.TooltipMinuteChart) return;
|
|
133984
|
+
|
|
133985
|
+
this.TooltipMinuteChart.Destroy();
|
|
133986
|
+
this.TooltipMinuteChart=null;
|
|
133987
|
+
}
|
|
133988
|
+
|
|
133989
|
+
//data={ Symbol }
|
|
133990
|
+
this.ShowMinuteChartTooltip=function(x,y, data)
|
|
133991
|
+
{
|
|
133992
|
+
if (!this.TooltipMinuteChart) return;
|
|
133993
|
+
|
|
133994
|
+
var rtClient=this.UIElement.getBoundingClientRect();
|
|
133995
|
+
var rtScroll=GetScrollPosition();
|
|
133996
|
+
|
|
133997
|
+
var offsetLeft=rtClient.left+rtScroll.Left;
|
|
133998
|
+
var offsetTop=rtClient.top+rtScroll.Top;
|
|
133999
|
+
|
|
134000
|
+
data.Offset={ Left:offsetLeft, Top:offsetTop };
|
|
134001
|
+
|
|
134002
|
+
this.TooltipMinuteChart.Show(data, x,y);
|
|
134003
|
+
}
|
|
134004
|
+
|
|
134005
|
+
this.HideMinuteChartTooltip=function()
|
|
134006
|
+
{
|
|
134007
|
+
if (!this.TooltipMinuteChart) return;
|
|
134008
|
+
|
|
134009
|
+
this.TooltipMinuteChart.Hide();
|
|
134010
|
+
}
|
|
134011
|
+
|
|
134012
|
+
this.HideAllTooltip=function()
|
|
134013
|
+
{
|
|
134014
|
+
this.HideMinuteChartTooltip();
|
|
134015
|
+
}
|
|
134016
|
+
|
|
133965
134017
|
//筛选数据
|
|
133966
134018
|
this.FilterData=function(aryDeal)
|
|
133967
134019
|
{
|
|
@@ -134070,6 +134122,7 @@ function JSDealChartContainer(uielement)
|
|
|
134070
134122
|
this.UIElement.onmousedown=(e)=> { this.UIOnMouseDown(e); }
|
|
134071
134123
|
this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
|
|
134072
134124
|
this.UIElement.oncontextmenu=(e)=> { this.UIOnContextMenu(e); }
|
|
134125
|
+
this.UIElement.onmousemove=(e)=>{ this.UIOnMouseMove(e);}
|
|
134073
134126
|
}
|
|
134074
134127
|
|
|
134075
134128
|
this.Draw=function()
|
|
@@ -134412,10 +134465,12 @@ function JSDealChartContainer(uielement)
|
|
|
134412
134465
|
|
|
134413
134466
|
if (wheelValue<0) //下一页
|
|
134414
134467
|
{
|
|
134468
|
+
this.HideAllTooltip();
|
|
134415
134469
|
if (this.GotoNextPage()) this.Draw();
|
|
134416
134470
|
}
|
|
134417
134471
|
else if (wheelValue>0) //上一页
|
|
134418
134472
|
{
|
|
134473
|
+
this.HideAllTooltip();
|
|
134419
134474
|
if (this.GotoPreviousPage()) this.Draw();
|
|
134420
134475
|
}
|
|
134421
134476
|
|
|
@@ -134431,9 +134486,11 @@ function JSDealChartContainer(uielement)
|
|
|
134431
134486
|
switch(keyID)
|
|
134432
134487
|
{
|
|
134433
134488
|
case 38: //up
|
|
134489
|
+
this.HideAllTooltip();
|
|
134434
134490
|
if (this.GotoPreviousPage()) this.Draw();
|
|
134435
134491
|
break;
|
|
134436
134492
|
case 40: //down
|
|
134493
|
+
this.HideAllTooltip();
|
|
134437
134494
|
if (this.GotoNextPage()) this.Draw();
|
|
134438
134495
|
break;
|
|
134439
134496
|
}
|
|
@@ -134443,6 +134500,12 @@ function JSDealChartContainer(uielement)
|
|
|
134443
134500
|
else e.returnValue = false;
|
|
134444
134501
|
}
|
|
134445
134502
|
|
|
134503
|
+
this.GetReportChart=function()
|
|
134504
|
+
{
|
|
134505
|
+
var chart=this.ChartPaint[0];
|
|
134506
|
+
return chart;
|
|
134507
|
+
}
|
|
134508
|
+
|
|
134446
134509
|
this.UIOnMouseDown=function(e)
|
|
134447
134510
|
{
|
|
134448
134511
|
var pixelTatio = GetDevicePixelRatio();
|
|
@@ -134462,6 +134525,67 @@ function JSDealChartContainer(uielement)
|
|
|
134462
134525
|
}
|
|
134463
134526
|
}
|
|
134464
134527
|
|
|
134528
|
+
this.UIOnMouseMove=function(e)
|
|
134529
|
+
{
|
|
134530
|
+
var pixelTatio = GetDevicePixelRatio();
|
|
134531
|
+
var x = (e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;
|
|
134532
|
+
var y = (e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
|
|
134533
|
+
|
|
134534
|
+
var oldMouseOnStatus=this.LastMouseStatus.MouseOnStatus;
|
|
134535
|
+
this.LastMouseStatus.OnMouseMove=null;
|
|
134536
|
+
|
|
134537
|
+
var bDrawTooltip=false;
|
|
134538
|
+
if (this.LastMouseStatus.TooltipStatus) bDrawTooltip=true;
|
|
134539
|
+
this.LastMouseStatus.TooltipStatus=null;
|
|
134540
|
+
|
|
134541
|
+
var bShowMinuteTooltip=false;
|
|
134542
|
+
var chartTooltipData=null;
|
|
134543
|
+
|
|
134544
|
+
this.LastMouseStatus.OnMouseMove={ X:x, Y:y };
|
|
134545
|
+
var mouseStatus={ Cursor:"default", Name:"Default"};; //鼠标状态
|
|
134546
|
+
var report=this.GetReportChart();
|
|
134547
|
+
var bDraw=false;
|
|
134548
|
+
|
|
134549
|
+
if (report)
|
|
134550
|
+
{
|
|
134551
|
+
var tooltipData=report.GetTooltipData(x,y); //单元格提示信息
|
|
134552
|
+
if (tooltipData)
|
|
134553
|
+
{
|
|
134554
|
+
if (tooltipData.Type==20)
|
|
134555
|
+
{
|
|
134556
|
+
if (tooltipData.Data && tooltipData.Data.Symbol)
|
|
134557
|
+
{
|
|
134558
|
+
bShowMinuteTooltip=true;
|
|
134559
|
+
chartTooltipData={ Symbol:tooltipData.Data.Symbol, Rect:tooltipData.Rect };
|
|
134560
|
+
}
|
|
134561
|
+
}
|
|
134562
|
+
/*
|
|
134563
|
+
else if (tooltipData.Type==21)
|
|
134564
|
+
{
|
|
134565
|
+
if (tooltipData.Stock && tooltipData.Stock.Symbol)
|
|
134566
|
+
{
|
|
134567
|
+
bShowKLineTooltip=true;
|
|
134568
|
+
chartTooltipData={ Symbol:tooltipData.Stock.OriginalSymbol, Rect:tooltipData.Rect };
|
|
134569
|
+
}
|
|
134570
|
+
}
|
|
134571
|
+
else
|
|
134572
|
+
{
|
|
134573
|
+
this.LastMouseStatus.TooltipStatus={ X:x, Y:y, Data:tooltipData, ClientX:e.clientX, ClientY:e.clientY };
|
|
134574
|
+
bDrawTooltip=true;
|
|
134575
|
+
}
|
|
134576
|
+
*/
|
|
134577
|
+
|
|
134578
|
+
}
|
|
134579
|
+
}
|
|
134580
|
+
|
|
134581
|
+
if (mouseStatus) this.UIElement.style.cursor=mouseStatus.Cursor;
|
|
134582
|
+
|
|
134583
|
+
if (bDraw) this.Draw();
|
|
134584
|
+
|
|
134585
|
+
if (!bShowMinuteTooltip) this.HideMinuteChartTooltip();
|
|
134586
|
+
if (bShowMinuteTooltip) this.ShowMinuteChartTooltip(null, null, chartTooltipData);
|
|
134587
|
+
}
|
|
134588
|
+
|
|
134465
134589
|
this.UIOnDblClick=function(e)
|
|
134466
134590
|
{
|
|
134467
134591
|
var pixelTatio = GetDevicePixelRatio();
|
|
@@ -134565,7 +134689,7 @@ JSDealChartContainer.JsonDataToDealData=function(data)
|
|
|
134565
134689
|
var result=[];
|
|
134566
134690
|
if (!IFrameSplitOperator.IsNonEmptyArray(data.detail)) return result;
|
|
134567
134691
|
|
|
134568
|
-
//0=时间 1=价格 2=成交量 3=成交金额 4=BS 5=字符串时间 6=ID
|
|
134692
|
+
//0=时间 1=价格 2=成交量 3=成交金额 4=BS 5=字符串时间 6=ID 100=Guid
|
|
134569
134693
|
for(var i=0;i<data.detail.length;++i)
|
|
134570
134694
|
{
|
|
134571
134695
|
var item=data.detail[i];
|
|
@@ -134579,6 +134703,8 @@ JSDealChartContainer.JsonDataToDealData=function(data)
|
|
|
134579
134703
|
if (item[11]) dealItem.Symbol=item[11]; //股票代码
|
|
134580
134704
|
if (item[12]) dealItem.Name=item[12]; //股票名称
|
|
134581
134705
|
|
|
134706
|
+
if (item[100]) dealItem.Guid=item[100];
|
|
134707
|
+
|
|
134582
134708
|
//10个数值型 101-199
|
|
134583
134709
|
if (IFrameSplitOperator.IsNumber(item[101])) dealItem.ReserveNumber1=item[101];
|
|
134584
134710
|
if (IFrameSplitOperator.IsNumber(item[102])) dealItem.ReserveNumber2=item[102];
|
|
@@ -134834,6 +134960,10 @@ function ChartDealList()
|
|
|
134834
134960
|
this.RectClient={};
|
|
134835
134961
|
this.AryCellRect=[]; //{ Rect:, Type: 1=单行 }
|
|
134836
134962
|
|
|
134963
|
+
//Type:20=分时图
|
|
134964
|
+
//{ Rect, Data, Index, Column, Type }}
|
|
134965
|
+
this.TooltipRect=[];
|
|
134966
|
+
|
|
134837
134967
|
this.ReloadResource=function(resource)
|
|
134838
134968
|
{
|
|
134839
134969
|
this.UpColor=g_JSChartResource.DealList.UpTextColor;
|
|
@@ -134888,6 +135018,8 @@ function ChartDealList()
|
|
|
134888
135018
|
if (item.TextColor) colItem.TextColor=item.TextColor;
|
|
134889
135019
|
if (item.MaxText) colItem.MaxText=item.MaxText;
|
|
134890
135020
|
|
|
135021
|
+
if (item.ChartTooltip) colItem.ChartTooltip={ Enable:item.ChartTooltip.Enable, Type:item.ChartTooltip.Type }; //图形提示信息
|
|
135022
|
+
|
|
134891
135023
|
if (item.Type==DEAL_COLUMN_ID.MULTI_BAR_ID || item.Type==DEAL_COLUMN_ID.CENTER_BAR_ID)
|
|
134892
135024
|
{
|
|
134893
135025
|
if (!IFrameSplitOperator.IsNumber(item.DataIndex)) continue;
|
|
@@ -134964,6 +135096,7 @@ function ChartDealList()
|
|
|
134964
135096
|
this.Draw=function()
|
|
134965
135097
|
{
|
|
134966
135098
|
this.AryCellRect=[];
|
|
135099
|
+
this.TooltipRect=[];
|
|
134967
135100
|
if (this.SizeChange) this.CalculateSize();
|
|
134968
135101
|
else this.UpdateCacheData();
|
|
134969
135102
|
|
|
@@ -135277,7 +135410,12 @@ function ChartDealList()
|
|
|
135277
135410
|
{
|
|
135278
135411
|
this.DrawItemText(text, textColor, textAlign, left, top, itemWidth);
|
|
135279
135412
|
}
|
|
135280
|
-
|
|
135413
|
+
|
|
135414
|
+
if (item.ChartTooltip && item.ChartTooltip.Enable && IFrameSplitOperator.IsNumber(item.ChartTooltip.Type)) //Type 20分时图 21K线图
|
|
135415
|
+
{
|
|
135416
|
+
var tooltipData={ Rect:rtItem, Data:data, Index:dataIndex, Column:item, Type:item.ChartTooltip.Type };
|
|
135417
|
+
this.TooltipRect.push(tooltipData);
|
|
135418
|
+
}
|
|
135281
135419
|
|
|
135282
135420
|
left+=item.Width;
|
|
135283
135421
|
}
|
|
@@ -135596,6 +135734,25 @@ function ChartDealList()
|
|
|
135596
135734
|
|
|
135597
135735
|
return ARARY_TYPE.includes(value);
|
|
135598
135736
|
}
|
|
135737
|
+
|
|
135738
|
+
this.GetTooltipData=function(x,y)
|
|
135739
|
+
{
|
|
135740
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.TooltipRect)) return null;
|
|
135741
|
+
|
|
135742
|
+
for(var i=0;i<this.TooltipRect.length;++i)
|
|
135743
|
+
{
|
|
135744
|
+
var item=this.TooltipRect[i];
|
|
135745
|
+
var rt=item.Rect;
|
|
135746
|
+
if (!rt) continue;
|
|
135747
|
+
|
|
135748
|
+
if (x>=rt.Left && x<=rt.Right && y>=rt.Top && y<=rt.Bottom)
|
|
135749
|
+
{
|
|
135750
|
+
return { Rect:item.Rect, Data:item.Data, Column:item.Column, Index:item.Index, Type:item.Type, Data:item.Data };
|
|
135751
|
+
}
|
|
135752
|
+
}
|
|
135753
|
+
|
|
135754
|
+
return null;
|
|
135755
|
+
}
|
|
135599
135756
|
}
|
|
135600
135757
|
/*
|
|
135601
135758
|
Copyright (c) 2018 jones
|
|
@@ -148647,7 +148804,7 @@ function ScrollBarBGChart()
|
|
|
148647
148804
|
|
|
148648
148805
|
|
|
148649
148806
|
|
|
148650
|
-
var HQCHART_VERSION="1.1.
|
|
148807
|
+
var HQCHART_VERSION="1.1.14753";
|
|
148651
148808
|
|
|
148652
148809
|
function PrintHQChartVersion()
|
|
148653
148810
|
{
|
|
@@ -133852,6 +133852,8 @@ function JSDealChart(divElement)
|
|
|
133852
133852
|
}
|
|
133853
133853
|
}
|
|
133854
133854
|
|
|
133855
|
+
if (option.MinuteChartTooltip && option.MinuteChartTooltip.Enable) chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);
|
|
133856
|
+
|
|
133855
133857
|
if (!option.Symbol)
|
|
133856
133858
|
{
|
|
133857
133859
|
chart.Draw();
|
|
@@ -133992,10 +133994,15 @@ function JSDealChartContainer(uielement)
|
|
|
133992
133994
|
this.AutoUpdateFrequency=15000; //更新频率
|
|
133993
133995
|
|
|
133994
133996
|
this.LoadDataSplashTitle="数据加载中"; //下载数据提示信息
|
|
133997
|
+
|
|
133998
|
+
this.TooltipMinuteChart; //分时图
|
|
133995
133999
|
|
|
133996
134000
|
this.UIElement=uielement;
|
|
133997
134001
|
this.LastPoint=new Point(); //鼠标位置
|
|
133998
134002
|
|
|
134003
|
+
//MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
|
|
134004
|
+
this.LastMouseStatus={ MoveStatus:null, TooltipStatus:null, MouseOnStatus:null };
|
|
134005
|
+
|
|
133999
134006
|
this.IsDestroy=false; //是否已经销毁了
|
|
134000
134007
|
|
|
134001
134008
|
this.ChartDestroy=function() //销毁
|
|
@@ -134006,6 +134013,51 @@ function JSDealChartContainer(uielement)
|
|
|
134006
134013
|
|
|
134007
134014
|
this.EnableFilterData=false; //是否启动筛选
|
|
134008
134015
|
|
|
134016
|
+
this.InitalMinuteChartTooltip=function(option)
|
|
134017
|
+
{
|
|
134018
|
+
if (this.TooltipMinuteChart) return;
|
|
134019
|
+
|
|
134020
|
+
this.TooltipMinuteChart=new JSTooltipMinuteChart();
|
|
134021
|
+
this.TooltipMinuteChart.Inital(this, option);
|
|
134022
|
+
this.TooltipMinuteChart.Create();
|
|
134023
|
+
}
|
|
134024
|
+
|
|
134025
|
+
this.DestroyMinuteChartTooltip=function()
|
|
134026
|
+
{
|
|
134027
|
+
if (!this.TooltipMinuteChart) return;
|
|
134028
|
+
|
|
134029
|
+
this.TooltipMinuteChart.Destroy();
|
|
134030
|
+
this.TooltipMinuteChart=null;
|
|
134031
|
+
}
|
|
134032
|
+
|
|
134033
|
+
//data={ Symbol }
|
|
134034
|
+
this.ShowMinuteChartTooltip=function(x,y, data)
|
|
134035
|
+
{
|
|
134036
|
+
if (!this.TooltipMinuteChart) return;
|
|
134037
|
+
|
|
134038
|
+
var rtClient=this.UIElement.getBoundingClientRect();
|
|
134039
|
+
var rtScroll=GetScrollPosition();
|
|
134040
|
+
|
|
134041
|
+
var offsetLeft=rtClient.left+rtScroll.Left;
|
|
134042
|
+
var offsetTop=rtClient.top+rtScroll.Top;
|
|
134043
|
+
|
|
134044
|
+
data.Offset={ Left:offsetLeft, Top:offsetTop };
|
|
134045
|
+
|
|
134046
|
+
this.TooltipMinuteChart.Show(data, x,y);
|
|
134047
|
+
}
|
|
134048
|
+
|
|
134049
|
+
this.HideMinuteChartTooltip=function()
|
|
134050
|
+
{
|
|
134051
|
+
if (!this.TooltipMinuteChart) return;
|
|
134052
|
+
|
|
134053
|
+
this.TooltipMinuteChart.Hide();
|
|
134054
|
+
}
|
|
134055
|
+
|
|
134056
|
+
this.HideAllTooltip=function()
|
|
134057
|
+
{
|
|
134058
|
+
this.HideMinuteChartTooltip();
|
|
134059
|
+
}
|
|
134060
|
+
|
|
134009
134061
|
//筛选数据
|
|
134010
134062
|
this.FilterData=function(aryDeal)
|
|
134011
134063
|
{
|
|
@@ -134114,6 +134166,7 @@ function JSDealChartContainer(uielement)
|
|
|
134114
134166
|
this.UIElement.onmousedown=(e)=> { this.UIOnMouseDown(e); }
|
|
134115
134167
|
this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
|
|
134116
134168
|
this.UIElement.oncontextmenu=(e)=> { this.UIOnContextMenu(e); }
|
|
134169
|
+
this.UIElement.onmousemove=(e)=>{ this.UIOnMouseMove(e);}
|
|
134117
134170
|
}
|
|
134118
134171
|
|
|
134119
134172
|
this.Draw=function()
|
|
@@ -134456,10 +134509,12 @@ function JSDealChartContainer(uielement)
|
|
|
134456
134509
|
|
|
134457
134510
|
if (wheelValue<0) //下一页
|
|
134458
134511
|
{
|
|
134512
|
+
this.HideAllTooltip();
|
|
134459
134513
|
if (this.GotoNextPage()) this.Draw();
|
|
134460
134514
|
}
|
|
134461
134515
|
else if (wheelValue>0) //上一页
|
|
134462
134516
|
{
|
|
134517
|
+
this.HideAllTooltip();
|
|
134463
134518
|
if (this.GotoPreviousPage()) this.Draw();
|
|
134464
134519
|
}
|
|
134465
134520
|
|
|
@@ -134475,9 +134530,11 @@ function JSDealChartContainer(uielement)
|
|
|
134475
134530
|
switch(keyID)
|
|
134476
134531
|
{
|
|
134477
134532
|
case 38: //up
|
|
134533
|
+
this.HideAllTooltip();
|
|
134478
134534
|
if (this.GotoPreviousPage()) this.Draw();
|
|
134479
134535
|
break;
|
|
134480
134536
|
case 40: //down
|
|
134537
|
+
this.HideAllTooltip();
|
|
134481
134538
|
if (this.GotoNextPage()) this.Draw();
|
|
134482
134539
|
break;
|
|
134483
134540
|
}
|
|
@@ -134487,6 +134544,12 @@ function JSDealChartContainer(uielement)
|
|
|
134487
134544
|
else e.returnValue = false;
|
|
134488
134545
|
}
|
|
134489
134546
|
|
|
134547
|
+
this.GetReportChart=function()
|
|
134548
|
+
{
|
|
134549
|
+
var chart=this.ChartPaint[0];
|
|
134550
|
+
return chart;
|
|
134551
|
+
}
|
|
134552
|
+
|
|
134490
134553
|
this.UIOnMouseDown=function(e)
|
|
134491
134554
|
{
|
|
134492
134555
|
var pixelTatio = GetDevicePixelRatio();
|
|
@@ -134506,6 +134569,67 @@ function JSDealChartContainer(uielement)
|
|
|
134506
134569
|
}
|
|
134507
134570
|
}
|
|
134508
134571
|
|
|
134572
|
+
this.UIOnMouseMove=function(e)
|
|
134573
|
+
{
|
|
134574
|
+
var pixelTatio = GetDevicePixelRatio();
|
|
134575
|
+
var x = (e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;
|
|
134576
|
+
var y = (e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;
|
|
134577
|
+
|
|
134578
|
+
var oldMouseOnStatus=this.LastMouseStatus.MouseOnStatus;
|
|
134579
|
+
this.LastMouseStatus.OnMouseMove=null;
|
|
134580
|
+
|
|
134581
|
+
var bDrawTooltip=false;
|
|
134582
|
+
if (this.LastMouseStatus.TooltipStatus) bDrawTooltip=true;
|
|
134583
|
+
this.LastMouseStatus.TooltipStatus=null;
|
|
134584
|
+
|
|
134585
|
+
var bShowMinuteTooltip=false;
|
|
134586
|
+
var chartTooltipData=null;
|
|
134587
|
+
|
|
134588
|
+
this.LastMouseStatus.OnMouseMove={ X:x, Y:y };
|
|
134589
|
+
var mouseStatus={ Cursor:"default", Name:"Default"};; //鼠标状态
|
|
134590
|
+
var report=this.GetReportChart();
|
|
134591
|
+
var bDraw=false;
|
|
134592
|
+
|
|
134593
|
+
if (report)
|
|
134594
|
+
{
|
|
134595
|
+
var tooltipData=report.GetTooltipData(x,y); //单元格提示信息
|
|
134596
|
+
if (tooltipData)
|
|
134597
|
+
{
|
|
134598
|
+
if (tooltipData.Type==20)
|
|
134599
|
+
{
|
|
134600
|
+
if (tooltipData.Data && tooltipData.Data.Symbol)
|
|
134601
|
+
{
|
|
134602
|
+
bShowMinuteTooltip=true;
|
|
134603
|
+
chartTooltipData={ Symbol:tooltipData.Data.Symbol, Rect:tooltipData.Rect };
|
|
134604
|
+
}
|
|
134605
|
+
}
|
|
134606
|
+
/*
|
|
134607
|
+
else if (tooltipData.Type==21)
|
|
134608
|
+
{
|
|
134609
|
+
if (tooltipData.Stock && tooltipData.Stock.Symbol)
|
|
134610
|
+
{
|
|
134611
|
+
bShowKLineTooltip=true;
|
|
134612
|
+
chartTooltipData={ Symbol:tooltipData.Stock.OriginalSymbol, Rect:tooltipData.Rect };
|
|
134613
|
+
}
|
|
134614
|
+
}
|
|
134615
|
+
else
|
|
134616
|
+
{
|
|
134617
|
+
this.LastMouseStatus.TooltipStatus={ X:x, Y:y, Data:tooltipData, ClientX:e.clientX, ClientY:e.clientY };
|
|
134618
|
+
bDrawTooltip=true;
|
|
134619
|
+
}
|
|
134620
|
+
*/
|
|
134621
|
+
|
|
134622
|
+
}
|
|
134623
|
+
}
|
|
134624
|
+
|
|
134625
|
+
if (mouseStatus) this.UIElement.style.cursor=mouseStatus.Cursor;
|
|
134626
|
+
|
|
134627
|
+
if (bDraw) this.Draw();
|
|
134628
|
+
|
|
134629
|
+
if (!bShowMinuteTooltip) this.HideMinuteChartTooltip();
|
|
134630
|
+
if (bShowMinuteTooltip) this.ShowMinuteChartTooltip(null, null, chartTooltipData);
|
|
134631
|
+
}
|
|
134632
|
+
|
|
134509
134633
|
this.UIOnDblClick=function(e)
|
|
134510
134634
|
{
|
|
134511
134635
|
var pixelTatio = GetDevicePixelRatio();
|
|
@@ -134609,7 +134733,7 @@ JSDealChartContainer.JsonDataToDealData=function(data)
|
|
|
134609
134733
|
var result=[];
|
|
134610
134734
|
if (!IFrameSplitOperator.IsNonEmptyArray(data.detail)) return result;
|
|
134611
134735
|
|
|
134612
|
-
//0=时间 1=价格 2=成交量 3=成交金额 4=BS 5=字符串时间 6=ID
|
|
134736
|
+
//0=时间 1=价格 2=成交量 3=成交金额 4=BS 5=字符串时间 6=ID 100=Guid
|
|
134613
134737
|
for(var i=0;i<data.detail.length;++i)
|
|
134614
134738
|
{
|
|
134615
134739
|
var item=data.detail[i];
|
|
@@ -134623,6 +134747,8 @@ JSDealChartContainer.JsonDataToDealData=function(data)
|
|
|
134623
134747
|
if (item[11]) dealItem.Symbol=item[11]; //股票代码
|
|
134624
134748
|
if (item[12]) dealItem.Name=item[12]; //股票名称
|
|
134625
134749
|
|
|
134750
|
+
if (item[100]) dealItem.Guid=item[100];
|
|
134751
|
+
|
|
134626
134752
|
//10个数值型 101-199
|
|
134627
134753
|
if (IFrameSplitOperator.IsNumber(item[101])) dealItem.ReserveNumber1=item[101];
|
|
134628
134754
|
if (IFrameSplitOperator.IsNumber(item[102])) dealItem.ReserveNumber2=item[102];
|
|
@@ -134878,6 +135004,10 @@ function ChartDealList()
|
|
|
134878
135004
|
this.RectClient={};
|
|
134879
135005
|
this.AryCellRect=[]; //{ Rect:, Type: 1=单行 }
|
|
134880
135006
|
|
|
135007
|
+
//Type:20=分时图
|
|
135008
|
+
//{ Rect, Data, Index, Column, Type }}
|
|
135009
|
+
this.TooltipRect=[];
|
|
135010
|
+
|
|
134881
135011
|
this.ReloadResource=function(resource)
|
|
134882
135012
|
{
|
|
134883
135013
|
this.UpColor=g_JSChartResource.DealList.UpTextColor;
|
|
@@ -134932,6 +135062,8 @@ function ChartDealList()
|
|
|
134932
135062
|
if (item.TextColor) colItem.TextColor=item.TextColor;
|
|
134933
135063
|
if (item.MaxText) colItem.MaxText=item.MaxText;
|
|
134934
135064
|
|
|
135065
|
+
if (item.ChartTooltip) colItem.ChartTooltip={ Enable:item.ChartTooltip.Enable, Type:item.ChartTooltip.Type }; //图形提示信息
|
|
135066
|
+
|
|
134935
135067
|
if (item.Type==DEAL_COLUMN_ID.MULTI_BAR_ID || item.Type==DEAL_COLUMN_ID.CENTER_BAR_ID)
|
|
134936
135068
|
{
|
|
134937
135069
|
if (!IFrameSplitOperator.IsNumber(item.DataIndex)) continue;
|
|
@@ -135008,6 +135140,7 @@ function ChartDealList()
|
|
|
135008
135140
|
this.Draw=function()
|
|
135009
135141
|
{
|
|
135010
135142
|
this.AryCellRect=[];
|
|
135143
|
+
this.TooltipRect=[];
|
|
135011
135144
|
if (this.SizeChange) this.CalculateSize();
|
|
135012
135145
|
else this.UpdateCacheData();
|
|
135013
135146
|
|
|
@@ -135321,7 +135454,12 @@ function ChartDealList()
|
|
|
135321
135454
|
{
|
|
135322
135455
|
this.DrawItemText(text, textColor, textAlign, left, top, itemWidth);
|
|
135323
135456
|
}
|
|
135324
|
-
|
|
135457
|
+
|
|
135458
|
+
if (item.ChartTooltip && item.ChartTooltip.Enable && IFrameSplitOperator.IsNumber(item.ChartTooltip.Type)) //Type 20分时图 21K线图
|
|
135459
|
+
{
|
|
135460
|
+
var tooltipData={ Rect:rtItem, Data:data, Index:dataIndex, Column:item, Type:item.ChartTooltip.Type };
|
|
135461
|
+
this.TooltipRect.push(tooltipData);
|
|
135462
|
+
}
|
|
135325
135463
|
|
|
135326
135464
|
left+=item.Width;
|
|
135327
135465
|
}
|
|
@@ -135640,6 +135778,25 @@ function ChartDealList()
|
|
|
135640
135778
|
|
|
135641
135779
|
return ARARY_TYPE.includes(value);
|
|
135642
135780
|
}
|
|
135781
|
+
|
|
135782
|
+
this.GetTooltipData=function(x,y)
|
|
135783
|
+
{
|
|
135784
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.TooltipRect)) return null;
|
|
135785
|
+
|
|
135786
|
+
for(var i=0;i<this.TooltipRect.length;++i)
|
|
135787
|
+
{
|
|
135788
|
+
var item=this.TooltipRect[i];
|
|
135789
|
+
var rt=item.Rect;
|
|
135790
|
+
if (!rt) continue;
|
|
135791
|
+
|
|
135792
|
+
if (x>=rt.Left && x<=rt.Right && y>=rt.Top && y<=rt.Bottom)
|
|
135793
|
+
{
|
|
135794
|
+
return { Rect:item.Rect, Data:item.Data, Column:item.Column, Index:item.Index, Type:item.Type, Data:item.Data };
|
|
135795
|
+
}
|
|
135796
|
+
}
|
|
135797
|
+
|
|
135798
|
+
return null;
|
|
135799
|
+
}
|
|
135643
135800
|
}
|
|
135644
135801
|
/*
|
|
135645
135802
|
Copyright (c) 2018 jones
|
|
@@ -159462,7 +159619,7 @@ function HQChartScriptWorker()
|
|
|
159462
159619
|
|
|
159463
159620
|
|
|
159464
159621
|
|
|
159465
|
-
var HQCHART_VERSION="1.1.
|
|
159622
|
+
var HQCHART_VERSION="1.1.14753";
|
|
159466
159623
|
|
|
159467
159624
|
function PrintHQChartVersion()
|
|
159468
159625
|
{
|