hqchart 1.1.14775 → 1.1.14784
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 +21 -19
- package/package.json +1 -1
- package/src/jscommon/umychart.DialogTooltip.js +22 -0
- package/src/jscommon/umychart.deal.js +119 -5
- package/src/jscommon/umychart.index.data.js +1 -1
- package/src/jscommon/umychart.report.js +1 -0
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +122 -7
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +144 -7
package/lib/umychart.vue.js
CHANGED
|
@@ -155,7 +155,7 @@ PBX5:(EMA(CLOSE,M5)+MA(CLOSE,M5*2)+MA(CLOSE,M5*4))/3;\n\
|
|
|
155
155
|
PBX6:(EMA(CLOSE,M6)+MA(CLOSE,M6*2)+MA(CLOSE,M6*4))/3;'};return data;};JSIndexScript.prototype.ENE=function(){var data={Name:'ENE',Description:'轨道线',IsMainIndex:true,Args:[{Name:'N',Value:25},{Name:'M1',Value:6},{Name:'M2',Value:6}],Script://脚本
|
|
156
156
|
'UPPER:(1+M1/100)*MA(CLOSE,N);\n\
|
|
157
157
|
LOWER:(1-M2/100)*MA(CLOSE,N);\n\
|
|
158
|
-
ENE:(UPPER+LOWER)/2;'};return data;};JSIndexScript.prototype.MACD=function(){var data={Name:'MACD',Description:'平滑异同平均',IsMainIndex:false,Args:[{Name:'SHORT',Value:12},{Name:'LONG',Value:26},{Name:'MID',Value:9}],Script://脚本
|
|
158
|
+
ENE:(UPPER+LOWER)/2;'};return data;};JSIndexScript.prototype.MACD=function(){var data={Name:'MACD',Description:'平滑异同平均',IsMainIndex:false,FloatPrecision:3,Args:[{Name:'SHORT',Value:12},{Name:'LONG',Value:26},{Name:'MID',Value:9}],Script://脚本
|
|
159
159
|
'DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);\n\
|
|
160
160
|
DEA:EMA(DIF,MID);\n\
|
|
161
161
|
MACD:(DIF-DEA)*2,COLORSTICK;'};return data;};//上下柱子
|
|
@@ -12858,7 +12858,8 @@ this.CanvasElement=document.createElement("canvas");this.CanvasElement.className
|
|
|
12858
12858
|
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();//获取设备的分辨率
|
|
12859
12859
|
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中保存一份
|
|
12860
12860
|
//注册事件
|
|
12861
|
-
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(
|
|
12861
|
+
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.FloatTooltip&&option.FloatTooltip.Enable)chart.InitalFloatTooltip(option.FloatTooltip);//提示信息
|
|
12862
|
+
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);//是否自动更新
|
|
12862
12863
|
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;//注册事件
|
|
12863
12864
|
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();//获取设备的分辨率
|
|
12864
12865
|
chart.Frame.ChartBorder.Left*=pixelTatio;chart.Frame.ChartBorder.Right*=pixelTatio;chart.Frame.ChartBorder.Top*=pixelTatio;chart.Frame.ChartBorder.Bottom*=pixelTatio;};/////////////////////////////////////////////////////////////////////////////
|
|
@@ -12881,13 +12882,14 @@ this.mapEvent=new _map2.default();//通知外部调用 key:JSCHART_EVENT_ID valu
|
|
|
12881
12882
|
this.AutoUpdateTimer=null;this.AutoUpdateFrequency=15000;//更新频率
|
|
12882
12883
|
this.LoadDataSplashTitle="数据加载中";//下载数据提示信息
|
|
12883
12884
|
this.TooltipMinuteChart;//分时图
|
|
12885
|
+
this.FloatTooltip;//提示浮框
|
|
12884
12886
|
this.UIElement=uielement;this.LastPoint=new Point();//鼠标位置
|
|
12885
12887
|
//MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
|
|
12886
12888
|
this.LastMouseStatus={MoveStatus:null,TooltipStatus:null,MouseOnStatus:null};this.IsDestroy=false;//是否已经销毁了
|
|
12887
12889
|
this.ChartDestroy=function()//销毁
|
|
12888
|
-
{this.IsDestroy=true;this.StopAutoUpdate();};this.EnableFilterData=false;//是否启动筛选
|
|
12890
|
+
{this.IsDestroy=true;this.StopAutoUpdate();this.DestroyMinuteChartTooltip();this.DestroyFloatTooltip();};this.EnableFilterData=false;//是否启动筛选
|
|
12889
12891
|
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 }
|
|
12890
|
-
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();};//筛选数据
|
|
12892
|
+
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.HideFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Hide();};this.DestroyFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Destroy();this.FloatTooltip=null;};this.InitalFloatTooltip=function(option){if(this.FloatTooltip)return;this.FloatTooltip=new JSFloatTooltip();this.FloatTooltip.Inital(this,option);this.FloatTooltip.Create();};this.DrawFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;this.UpdateFloatTooltip(point,toolTip);};this.UpdateFloatTooltip=function(point,toolTip){if(!this.FloatTooltip)return;var sendData={Tooltip:toolTip,Point:point,DataType:5};this.FloatTooltip.Update(sendData);};this.HideAllTooltip=function(){this.HideMinuteChartTooltip();this.HideFloatTooltip();};//筛选数据
|
|
12891
12893
|
this.FilterData=function(aryDeal){if(!this.EnableFilterData)return aryDeal;//过滤由外部处理
|
|
12892
12894
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_FILTER_DEAL_DATA);if(!event||!event.Callback)return aryDeal;var sendData={Data:aryDeal,Result:[]};//{ Data:原始数据, Result:[] 过滤以后的数据 }
|
|
12893
12895
|
event.Callback(event,sendData,this);return sendData.Result;};this.EnableFilter=function(bEnable,option)//启动|关闭筛选
|
|
@@ -12902,7 +12904,7 @@ if(IFrameSplitOperator.IsBool(option.IsShowLastPage))this.IsShowLastPage=option.
|
|
|
12902
12904
|
if(IFrameSplitOperator.IsNumber(option.BorderLine))this.Frame.BorderLine=option.BorderLine;//边框
|
|
12903
12905
|
}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);//键盘消息
|
|
12904
12906
|
if(bRegisterWheel)this.UIElement.addEventListener("wheel",function(e){_this51.OnWheel(e);},true);//上下滚动消息
|
|
12905
|
-
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();//获取设备的分辨率
|
|
12907
|
+
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.UIElement.onmouseout=function(e){_this51.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this51.UIOnMouseleave(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();//获取设备的分辨率
|
|
12906
12908
|
this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
|
|
12907
12909
|
if(this.ChartSplashPaint&&this.ChartSplashPaint.IsEnableSplash){this.Frame.Draw({IsEnableSplash:this.ChartSplashPaint.IsEnableSplash});this.ChartSplashPaint.Draw();return;}this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
|
|
12908
12910
|
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()//关闭停止更新
|
|
@@ -12916,9 +12918,10 @@ Explain:'成交明细',Request:{Data:{symbol:self.Symbol,tradeDate:self.TradeDat
|
|
|
12916
12918
|
this.Draw();};this.SetLastPageDataOffset=function(){var chart=this.ChartPaint[0];var dataCount=0;if(IFrameSplitOperator.IsNonEmptyArray(this.SourceData.Data))dataCount=this.SourceData.Data.length;var pageSize=chart.GetPageSize(true);var offset=dataCount-pageSize;if(offset<0)offset=0;this.Data.DataOffset=offset;};//增量数据下载
|
|
12917
12919
|
this.RequestDealUpdateData=function(){var self=this;if(this.NetworkFilter){var obj={Name:'JSDealChartContainer::RequestDealUpdateData',//类名::函数名
|
|
12918
12920
|
Explain:'增量成交明细',Request:{Data:{symbol:self.Symbol}},Self:this,PreventDefault:false};if(this.Data&&IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)){var lastItem=this.Data.Data[this.Data.Data.length-1];//最后一条数据
|
|
12919
|
-
obj.LastItem=lastItem;}this.NetworkFilter(obj,function(data){self.RecvDealUpdateData(data);self.AutoUpdate();});if(obj.PreventDefault==true)return;}};this.RecvDealUpdateData=function(data){var aryDeal=JSDealChartContainer.JsonDataToDealData(data);if(!IFrameSplitOperator.IsNonEmptyArray(aryDeal))return;if(data.UpdateType===1)//全量更新
|
|
12920
|
-
{this.SourceData.Data=aryDeal;this.Data.Data=this.FilterData(this.CloneArray(aryDeal));if(this.Data.
|
|
12921
|
-
}else
|
|
12921
|
+
obj.LastItem=lastItem;}this.NetworkFilter(obj,function(data){self.RecvDealUpdateData(data);self.AutoUpdate();});if(obj.PreventDefault==true)return;}};this.RecvDealUpdateData=function(data){var aryDeal=JSDealChartContainer.JsonDataToDealData(data);if(!IFrameSplitOperator.IsNonEmptyArray(aryDeal))return;var chart=this.ChartPaint[0];if(!chart)return;if(data.UpdateType===1)//全量更新
|
|
12922
|
+
{this.SourceData.Data=aryDeal;var oldCount=0,newCount=0;if(IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))oldCount=this.Data.Data.length;this.Data.Data=this.FilterData(this.CloneArray(aryDeal));if(IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))newCount=this.Data.Data.length;if(oldCount==0){if(this.IsShowLastPage)this.SetLastPageDataOffset();//显示最后一屏
|
|
12923
|
+
}else if(newCount>oldCount)//增长 偏移增加
|
|
12924
|
+
{var pageSize=chart.GetPageSize();var count=newCount-oldCount;for(var i=0;i<count;++i){if(this.Data.DataOffset+pageSize<this.Data.Data.length)++this.Data.DataOffset;}}else{if(this.Data.DataOffset>=this.Data.Data.length)this.Data.DataOffset=0;}}else{this.AddDealData(this.SourceData,aryDeal);this.AddDealData(this.Data,this.FilterData(aryDeal));}if(data.IsShowLastPage===true)this.SetLastPageDataOffset();this.Draw();};this.AddDealData=function(dealData,aryNewData){if(!dealData.Data)//原来是空的
|
|
12922
12925
|
{dealData.Data=aryNewData;}else{var pageSize=0;var chart=this.ChartPaint[0];if(chart)pageSize=chart.GetPageSize();for(var i=0;i<aryNewData.length;++i){dealData.Data.push(aryNewData[i]);if(dealData.DataOffset+pageSize<dealData.Data.length)++dealData.DataOffset;}}};this.AutoUpdate=function(waitTime)//waitTime 更新时间
|
|
12923
12926
|
{this.CancelAutoUpdate();if(!this.IsAutoUpdate)return;if(!this.Symbol)return;var self=this;var marketStatus=MARKET_SUFFIX_NAME.GetMarketStatus(this.Symbol);if(marketStatus==0||marketStatus==3)return;//闭市,盘后
|
|
12924
12927
|
var frequency=this.AutoUpdateFrequency;if(marketStatus==1)//盘前
|
|
@@ -12945,12 +12948,7 @@ if(tooltipData){if(tooltipData.Type==20){if(tooltipData.Data&&tooltipData.Data.S
|
|
|
12945
12948
|
chartTooltipData={ Symbol:tooltipData.Stock.OriginalSymbol, Rect:tooltipData.Rect };
|
|
12946
12949
|
}
|
|
12947
12950
|
}
|
|
12948
|
-
else
|
|
12949
|
-
{
|
|
12950
|
-
this.LastMouseStatus.TooltipStatus={ X:x, Y:y, Data:tooltipData, ClientX:e.clientX, ClientY:e.clientY };
|
|
12951
|
-
bDrawTooltip=true;
|
|
12952
|
-
}
|
|
12953
|
-
*/}}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)//最后一页不够一屏调整到满屏
|
|
12951
|
+
*/else{this.LastMouseStatus.TooltipStatus={X:x,Y:y,Data:tooltipData,ClientX:e.clientX,ClientY:e.clientY};bDrawTooltip=true;}}}if(mouseStatus)this.UIElement.style.cursor=mouseStatus.Cursor;if(bDraw)this.Draw();if(this.LastMouseStatus.TooltipStatus){var xTooltip=e.clientX-this.UIElement.getBoundingClientRect().left;var yTooltip=e.clientY-this.UIElement.getBoundingClientRect().top;this.DrawFloatTooltip({X:xTooltip,Y:yTooltip,YMove:20/pixelTatio},this.LastMouseStatus.TooltipStatus.Data);}else{this.HideFloatTooltip();}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.UIOnMounseOut=function(e){this.HideAllTooltip();};this.UIOnMouseleave=function(e){this.HideAllTooltip();};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)//最后一页不够一屏调整到满屏
|
|
12954
12952
|
{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;//显示最后一屏
|
|
12955
12953
|
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
|
|
12956
12954
|
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];//股票代码
|
|
@@ -13015,10 +13013,11 @@ this.UpdateCacheData=function(){this.RectClient.Left=this.ChartBorder.GetLeft();
|
|
|
13015
13013
|
{if(recalculate)this.CalculateSize();var size=this.TableCount*this.RowCount;return size;};this.CalculateSize=function()//计算大小
|
|
13016
13014
|
{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.TableCount<=0)this.TableCount=1;//只少显示一个
|
|
13017
13015
|
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};//输出
|
|
13018
|
-
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(
|
|
13016
|
+
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(drawInfo.Tooltip){//Type:2=数据提示信息
|
|
13017
|
+
var tooltipData=(0,_defineProperty3.default)({Rect:rtItem,Data:data,Index:dataIndex,Column:item,Type:drawInfo.Tooltip.Type},'Data',drawInfo.Tooltip.Data);this.TooltipRect.push(tooltipData);}else if(item.ChartTooltip&&item.ChartTooltip.Enable&&IFrameSplitOperator.IsNumber(item.ChartTooltip.Type))//Type 20分时图 21K线图
|
|
13019
13018
|
{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://原始数据
|
|
13020
13019
|
text=value.toFixed(column.FloatPrecision);break;case 2://千分位分割
|
|
13021
|
-
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] };
|
|
13020
|
+
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;}if(item&&item.Tooltip&&IFrameSplitOperator.IsNonEmptyArray(item.Tooltip.AryText)){drawInfo.Tooltip={Type:2,Data:{AryText:item.Tooltip.AryText}};}};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] };
|
|
13022
13021
|
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] };
|
|
13023
13022
|
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)//左边
|
|
13024
13023
|
{this.Canvas.fillRect(center,top,-barWidth,height);}else//右边
|
|
@@ -13115,6 +13114,7 @@ this.JSPopMenu;//内置菜单
|
|
|
13115
13114
|
this.IsShowRightMenu=true;//
|
|
13116
13115
|
this.TooltipMinuteChart;//分时图
|
|
13117
13116
|
this.TooltipKLineChart;//分时图
|
|
13117
|
+
this.FloatTooltip;//提示浮框
|
|
13118
13118
|
//MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
|
|
13119
13119
|
this.LastMouseStatus={MoveStatus:null,TooltipStatus:null,MouseOnStatus:null};this.ChartDestroy=function()//销毁
|
|
13120
13120
|
{this.IsDestroy=true;this.StopAutoUpdate();this.DestroyMinuteChartTooltip();this.DestroyKLineChartTooltip();this.DestroyFloatTooltip();};this.StopAutoDragScrollTimer=function(){JSConsole.Chart.Log("[JSReportChartContainer::StopAutoDragScrollTimer] stop ");this.EnablePageScroll=false;if(this.AutoDragScrollTimer!=null){clearTimeout(this.AutoDragScrollTimer);this.AutoDragScrollTimer=null;}};this.InitalPopMenu=function()//初始化弹出窗口
|
|
@@ -14796,7 +14796,9 @@ this.Update=function(data){if(!this.DivDialog)return;this.LanguageID=this.HQChar
|
|
|
14796
14796
|
{var tooltipData=data.Tooltip;if(!tooltipData)return;if(tooltipData.Type==2)//报价列表表头图标提示信息
|
|
14797
14797
|
{this.ReportHeaderIconTooltip(data);}else if(tooltipData.Type==1)//单元格截断内容
|
|
14798
14798
|
{this.ReportCellTruncateTooltip(data);}}else if(data.DataType==4)//T型报价
|
|
14799
|
-
{var tooltipData=data.Tooltip;if(!tooltipData)return;if(tooltipData.Type==2||tooltipData.Type==3){this.TReportIconTooltip(data);}}
|
|
14799
|
+
{var tooltipData=data.Tooltip;if(!tooltipData)return;if(tooltipData.Type==2||tooltipData.Type==3){this.TReportIconTooltip(data);}}else if(data.DataType==5)//成交笔数
|
|
14800
|
+
{var tooltipData=data.Tooltip;if(!tooltipData)return;if(tooltipData.Type==2)//提示信息
|
|
14801
|
+
{this.DealItemTooltip(data);}}};this.UpdateRealtimeHQTooltip=function(data){if(!this.KItemCache)return;var kItem={Symbol:data.Symbol,Name:this.KItemCache.Name,Item:data.Data,IsOverlay:this.KItemCache.IsOverlay};var strKItem=(0,_stringify2.default)(kItem);var bUpdata=false;if(this.KItemCacheID!=strKItem)//数据变动的才更新
|
|
14800
14802
|
{this.KItemCache=kItem;this.KItemCacheID=strKItem;this.AryText=this.GetFormatKLineTooltipText(this.KItemCache);bUpdata=true;}if(bUpdata){this.UpdateTableDOM();}};this.ShowTooltip=function(data){if(!data.Point)return;var x=data.Point.X;var y=data.Point.Y;this.Show(x,y,{YMove:data.Point.YMove});};//K线提示信息
|
|
14801
14803
|
this.UpdateKLineToolitp=function(data){var tooltipData=data.Tooltip;var symbol=data.Symbol;var name=data.Name;var bOverlay=false;//是否是叠加指标
|
|
14802
14804
|
var bIndexKLine=false;if(tooltipData.ChartPaint.Name=="Overlay-KLine"){symbol=tooltipData.ChartPaint.Symbol;name=tooltipData.ChartPaint.Title;bOverlay=true;}else if(tooltipData.ChartPaint.Name=="DRAWKLINE"){symbol=tooltipData.ChartPaint.Symbol;name=tooltipData.ChartPaint.Title;bIndexKLine=true;}var kItem={Symbol:symbol,Name:name,Item:CloneData(tooltipData.Data),IsOverlay:bOverlay,IsIndexKLine:bIndexKLine};var strKItem=(0,_stringify2.default)(kItem);var bUpdata=false;if(this.KItemCacheID!=strKItem)//数据变动的才更新
|
|
@@ -14808,7 +14810,7 @@ this.UpdateMinuteInfoTooltip=function(data){var tooltipData=data.Tooltip;if(!too
|
|
|
14808
14810
|
this.UpdatMultiSVGIconV2Tooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!tooltipData.Data.Item)return;var item=tooltipData.Data.Item;var aryText=[];if(item&&IFrameSplitOperator.IsObject(item.Text)){var tooltipData=item.Text;if(IFrameSplitOperator.IsNonEmptyArray(tooltipData.AryText)){for(var i=0;i<tooltipData.AryText.length;++i){var tooltipItem=tooltipData.AryText[i];var textItem={Title:tooltipItem.Title,Text:tooltipItem.Text,Color:this.ValueColor};if(tooltipItem.Color)textItem.Color=tooltipItem.Color;if(tooltipItem.Align=="Left")tooltipItem.ClassName=this.ValueAlign.Left;aryText.push(tooltipItem);}}}else{var rowItem={Text:"",HTMLTitle:item.Text,Color:this.ValueColor,IsMergeCell:true};aryText.push(rowItem);}this.AryText=aryText;this.UpdateTableDOM();this.ShowTooltip(data);};//ChartOX 信息
|
|
14809
14811
|
this.UpdatChartOXTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!tooltipData.Data.Data)return;var item=tooltipData.Data.Data;var period=this.HQChart.Period;var aryText=[];if(ChartData.IsDayPeriod(period,true)){var strStartDate=IFrameSplitOperator.FormatDateString(item.Start.Date,"YYYY-MM-DD");var strEndDate=IFrameSplitOperator.FormatDateString(item.End.Date,"YYYY-MM-DD");aryText.push({Title:"起始时间",Text:strStartDate,Color:this.ValueColor});aryText.push({Title:"结束时间",Text:strEndDate,Color:this.ValueColor});}else if(ChartData.IsMinutePeriod(period,true)){var strStartDate=IFrameSplitOperator.FormatDateString(item.Start.Date);var strStartTime=IFrameSplitOperator.FormatTimeString(item.Start.Time,"HH:MM");var strEndDate=IFrameSplitOperator.FormatDateString(item.End.Date);var strEndTime=IFrameSplitOperator.FormatTimeString(item.End.Time,"HH:MM");aryText.push({Title:"起始时间",Text:strStartDate+' '+strStartTime,Color:this.ValueColor});aryText.push({Title:"结束时间",Text:strEndDate+' '+strEndTime,Color:this.ValueColor});}this.AryText=aryText;this.UpdateTableDOM();this.ShowTooltip(data);};//表头图标
|
|
14810
14812
|
this.ReportHeaderIconTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText))return;this.AryText=tooltipData.Data.AryText;this.UpdateTableDOM();this.ShowTooltip(data);};//表格单元格截断内容
|
|
14811
|
-
this.ReportCellTruncateTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText))return;var item=tooltipData.Data.AryText[0];if(!item.Text)return;this.AryText=[{Title:item.Text,IsMergeCell:true}];this.UpdateTableDOM();this.ShowTooltip(data);};this.TReportIconTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText))return;this.AryText=tooltipData.Data.AryText;this.UpdateTableDOM();this.ShowTooltip(data);};this.UpdateTableDOM=function(){var index=0;for(index=0;index<this.AryText.length&&index<this.MaxRowCount;++index){var outItem=this.AryText[index];var item=this.AryData[index];if(outItem.HTMLTitle)item.TitleSpan.innerHTML=outItem.HTMLTitle;else item.TitleSpan.innerText=outItem.Title;item.TitleSpan.style.color=this.TextColor;if(outItem.HTMLText)item.TextSpan.innerHTML=outItem.HTMLText;else item.TextSpan.innerText=outItem.Text;item.TextSpan.style.color=outItem.Color;item.TextTd.style.color=outItem.Color;if(outItem.ClassName){item.TextSpan.className=outItem.ClassName;}else{if(item.TextSpan.className!=this.ValueAlign.Right)item.TextSpan.className=this.ValueAlign.Right;}if(outItem.IsMergeCell)//合并单元格
|
|
14813
|
+
this.ReportCellTruncateTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText))return;var item=tooltipData.Data.AryText[0];if(!item.Text)return;this.AryText=[{Title:item.Text,IsMergeCell:true}];this.UpdateTableDOM();this.ShowTooltip(data);};this.TReportIconTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText))return;this.AryText=tooltipData.Data.AryText;this.UpdateTableDOM();this.ShowTooltip(data);};this.DealItemTooltip=function(data){var tooltipData=data.Tooltip;if(!tooltipData.Data||!IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText))return;this.AryText=tooltipData.Data.AryText;this.UpdateTableDOM();this.ShowTooltip(data);};this.UpdateTableDOM=function(){var index=0;for(index=0;index<this.AryText.length&&index<this.MaxRowCount;++index){var outItem=this.AryText[index];var item=this.AryData[index];if(outItem.HTMLTitle)item.TitleSpan.innerHTML=outItem.HTMLTitle;else item.TitleSpan.innerText=outItem.Title;item.TitleSpan.style.color=this.TextColor;if(outItem.HTMLText)item.TextSpan.innerHTML=outItem.HTMLText;else item.TextSpan.innerText=outItem.Text;item.TextSpan.style.color=outItem.Color;item.TextTd.style.color=outItem.Color;if(outItem.ClassName){item.TextSpan.className=outItem.ClassName;}else{if(item.TextSpan.className!=this.ValueAlign.Right)item.TextSpan.className=this.ValueAlign.Right;}if(outItem.IsMergeCell)//合并单元格
|
|
14812
14814
|
{item.TitleTd.colspan=2;item.TextTd.style.display="none";}else{if(item.TitleTd.colspan!=1)item.TitleTd.colspan=1;item.TextTd.style.display="";}item.Tr.style.display="";if(item.Tr2)item.Tr2.style.display="none";}for(;index<this.MaxRowCount;++index){var item=this.AryData[index];item.Tr.style.display="none";if(item.Tr2)item.Tr2.style.display="none";}};this.GetFormatKLineTooltipText=function(kItem){var data=kItem.Item;var symbol=kItem.Symbol;if(data&&data.Symbol)symbol=symbol;var upperSymbol="";if(symbol)upperSymbol=symbol.toUpperCase();var defaultfloatPrecision=GetfloatPrecision(symbol);//价格小数位数
|
|
14813
14815
|
var unit=MARKET_SUFFIX_NAME.GetVolUnit(upperSymbol);//日期
|
|
14814
14816
|
var dateItem=this.ForamtDate(data.Date,"YYYY/MM/DD/W",'FloatTooltip-Date');//时间
|
|
@@ -14974,7 +14976,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
14974
14976
|
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);};}/********************************************************************************
|
|
14975
14977
|
* 版本信息输出
|
|
14976
14978
|
*
|
|
14977
|
-
*/var HQCHART_VERSION="1.1.
|
|
14979
|
+
*/var HQCHART_VERSION="1.1.14783";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();//把给外界调用的方法暴露出来
|
|
14978
14980
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
14979
14981
|
// BaseIndex:BaseIndex,
|
|
14980
14982
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -1348,6 +1348,16 @@ function JSFloatTooltip()
|
|
|
1348
1348
|
this.TReportIconTooltip(data);
|
|
1349
1349
|
}
|
|
1350
1350
|
}
|
|
1351
|
+
else if (data.DataType==5) //成交笔数
|
|
1352
|
+
{
|
|
1353
|
+
var tooltipData=data.Tooltip;
|
|
1354
|
+
if (!tooltipData) return;
|
|
1355
|
+
|
|
1356
|
+
if (tooltipData.Type==2) //提示信息
|
|
1357
|
+
{
|
|
1358
|
+
this.DealItemTooltip(data);
|
|
1359
|
+
}
|
|
1360
|
+
}
|
|
1351
1361
|
}
|
|
1352
1362
|
|
|
1353
1363
|
this.UpdateRealtimeHQTooltip=function(data)
|
|
@@ -1639,6 +1649,18 @@ function JSFloatTooltip()
|
|
|
1639
1649
|
|
|
1640
1650
|
this.ShowTooltip(data);
|
|
1641
1651
|
}
|
|
1652
|
+
|
|
1653
|
+
this.DealItemTooltip=function(data)
|
|
1654
|
+
{
|
|
1655
|
+
var tooltipData=data.Tooltip;
|
|
1656
|
+
if (!tooltipData.Data || !IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText)) return;
|
|
1657
|
+
|
|
1658
|
+
this.AryText=tooltipData.Data.AryText;
|
|
1659
|
+
|
|
1660
|
+
this.UpdateTableDOM();
|
|
1661
|
+
|
|
1662
|
+
this.ShowTooltip(data);
|
|
1663
|
+
}
|
|
1642
1664
|
|
|
1643
1665
|
this.UpdateTableDOM=function()
|
|
1644
1666
|
{
|
|
@@ -72,6 +72,7 @@ function JSDealChart(divElement)
|
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
if (option.MinuteChartTooltip && option.MinuteChartTooltip.Enable) chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);
|
|
75
|
+
if (option.FloatTooltip && option.FloatTooltip.Enable) chart.InitalFloatTooltip(option.FloatTooltip); //提示信息
|
|
75
76
|
|
|
76
77
|
if (!option.Symbol)
|
|
77
78
|
{
|
|
@@ -215,6 +216,7 @@ function JSDealChartContainer(uielement)
|
|
|
215
216
|
this.LoadDataSplashTitle="数据加载中"; //下载数据提示信息
|
|
216
217
|
|
|
217
218
|
this.TooltipMinuteChart; //分时图
|
|
219
|
+
this.FloatTooltip; //提示浮框
|
|
218
220
|
|
|
219
221
|
this.UIElement=uielement;
|
|
220
222
|
this.LastPoint=new Point(); //鼠标位置
|
|
@@ -228,6 +230,9 @@ function JSDealChartContainer(uielement)
|
|
|
228
230
|
{
|
|
229
231
|
this.IsDestroy=true;
|
|
230
232
|
this.StopAutoUpdate();
|
|
233
|
+
|
|
234
|
+
this.DestroyMinuteChartTooltip();
|
|
235
|
+
this.DestroyFloatTooltip();
|
|
231
236
|
}
|
|
232
237
|
|
|
233
238
|
this.EnableFilterData=false; //是否启动筛选
|
|
@@ -272,9 +277,55 @@ function JSDealChartContainer(uielement)
|
|
|
272
277
|
this.TooltipMinuteChart.Hide();
|
|
273
278
|
}
|
|
274
279
|
|
|
280
|
+
this.HideFloatTooltip=function()
|
|
281
|
+
{
|
|
282
|
+
if (!this.FloatTooltip) return;
|
|
283
|
+
|
|
284
|
+
this.FloatTooltip.Hide();
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
this.DestroyFloatTooltip=function()
|
|
288
|
+
{
|
|
289
|
+
if (!this.FloatTooltip) return;
|
|
290
|
+
|
|
291
|
+
this.FloatTooltip.Destroy();
|
|
292
|
+
this.FloatTooltip=null;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
this.InitalFloatTooltip=function(option)
|
|
296
|
+
{
|
|
297
|
+
if (this.FloatTooltip) return;
|
|
298
|
+
|
|
299
|
+
this.FloatTooltip=new JSFloatTooltip();
|
|
300
|
+
this.FloatTooltip.Inital(this, option);
|
|
301
|
+
this.FloatTooltip.Create();
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
this.DrawFloatTooltip=function(point,toolTip)
|
|
305
|
+
{
|
|
306
|
+
if (!this.FloatTooltip) return;
|
|
307
|
+
|
|
308
|
+
this.UpdateFloatTooltip(point, toolTip)
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
this.UpdateFloatTooltip=function(point, toolTip)
|
|
312
|
+
{
|
|
313
|
+
if (!this.FloatTooltip) return;
|
|
314
|
+
|
|
315
|
+
var sendData=
|
|
316
|
+
{
|
|
317
|
+
Tooltip:toolTip,
|
|
318
|
+
Point:point,
|
|
319
|
+
DataType:5,
|
|
320
|
+
};
|
|
321
|
+
|
|
322
|
+
this.FloatTooltip.Update(sendData);
|
|
323
|
+
}
|
|
324
|
+
|
|
275
325
|
this.HideAllTooltip=function()
|
|
276
326
|
{
|
|
277
327
|
this.HideMinuteChartTooltip();
|
|
328
|
+
this.HideFloatTooltip();
|
|
278
329
|
}
|
|
279
330
|
|
|
280
331
|
//筛选数据
|
|
@@ -386,6 +437,8 @@ function JSDealChartContainer(uielement)
|
|
|
386
437
|
this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
|
|
387
438
|
this.UIElement.oncontextmenu=(e)=> { this.UIOnContextMenu(e); }
|
|
388
439
|
this.UIElement.onmousemove=(e)=>{ this.UIOnMouseMove(e);}
|
|
440
|
+
this.UIElement.onmouseout=(e)=>{ this.UIOnMounseOut(e); }
|
|
441
|
+
this.UIElement.onmouseleave=(e)=>{ this.UIOnMouseleave(e); }
|
|
389
442
|
}
|
|
390
443
|
|
|
391
444
|
this.Draw=function()
|
|
@@ -589,12 +642,35 @@ function JSDealChartContainer(uielement)
|
|
|
589
642
|
var aryDeal=JSDealChartContainer.JsonDataToDealData(data);
|
|
590
643
|
if (!IFrameSplitOperator.IsNonEmptyArray(aryDeal)) return;
|
|
591
644
|
|
|
645
|
+
var chart=this.ChartPaint[0];
|
|
646
|
+
if (!chart) return;
|
|
647
|
+
|
|
592
648
|
if (data.UpdateType===1) //全量更新
|
|
593
649
|
{
|
|
594
650
|
this.SourceData.Data=aryDeal;
|
|
651
|
+
var oldCount=0, newCount=0;
|
|
652
|
+
if (IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) oldCount=this.Data.Data.length;
|
|
595
653
|
this.Data.Data=this.FilterData(this.CloneArray(aryDeal));
|
|
596
|
-
if (this.Data.
|
|
597
|
-
|
|
654
|
+
if (IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) newCount=this.Data.Data.length;
|
|
655
|
+
|
|
656
|
+
if (oldCount==0)
|
|
657
|
+
{
|
|
658
|
+
if (this.IsShowLastPage) this.SetLastPageDataOffset(); //显示最后一屏
|
|
659
|
+
}
|
|
660
|
+
else if (newCount>oldCount) //增长 偏移增加
|
|
661
|
+
{
|
|
662
|
+
var pageSize=chart.GetPageSize();
|
|
663
|
+
var count=newCount-oldCount;
|
|
664
|
+
for(var i=0;i<count;++i)
|
|
665
|
+
{
|
|
666
|
+
if (this.Data.DataOffset+pageSize<this.Data.Data.length)
|
|
667
|
+
++this.Data.DataOffset;
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
else
|
|
671
|
+
{
|
|
672
|
+
if (this.Data.DataOffset>= this.Data.Data.length) this.Data.DataOffset=0;
|
|
673
|
+
}
|
|
598
674
|
}
|
|
599
675
|
else
|
|
600
676
|
{
|
|
@@ -602,6 +678,8 @@ function JSDealChartContainer(uielement)
|
|
|
602
678
|
this.AddDealData(this.Data,this.FilterData(aryDeal));
|
|
603
679
|
}
|
|
604
680
|
|
|
681
|
+
if (data.IsShowLastPage===true) this.SetLastPageDataOffset();
|
|
682
|
+
|
|
605
683
|
this.Draw();
|
|
606
684
|
}
|
|
607
685
|
|
|
@@ -837,13 +915,12 @@ function JSDealChartContainer(uielement)
|
|
|
837
915
|
chartTooltipData={ Symbol:tooltipData.Stock.OriginalSymbol, Rect:tooltipData.Rect };
|
|
838
916
|
}
|
|
839
917
|
}
|
|
918
|
+
*/
|
|
840
919
|
else
|
|
841
920
|
{
|
|
842
921
|
this.LastMouseStatus.TooltipStatus={ X:x, Y:y, Data:tooltipData, ClientX:e.clientX, ClientY:e.clientY };
|
|
843
922
|
bDrawTooltip=true;
|
|
844
923
|
}
|
|
845
|
-
*/
|
|
846
|
-
|
|
847
924
|
}
|
|
848
925
|
}
|
|
849
926
|
|
|
@@ -851,6 +928,17 @@ function JSDealChartContainer(uielement)
|
|
|
851
928
|
|
|
852
929
|
if (bDraw) this.Draw();
|
|
853
930
|
|
|
931
|
+
if (this.LastMouseStatus.TooltipStatus)
|
|
932
|
+
{
|
|
933
|
+
var xTooltip = e.clientX-this.UIElement.getBoundingClientRect().left;
|
|
934
|
+
var yTooltip = e.clientY-this.UIElement.getBoundingClientRect().top;
|
|
935
|
+
this.DrawFloatTooltip({X:xTooltip, Y:yTooltip, YMove:20/pixelTatio},this.LastMouseStatus.TooltipStatus.Data);
|
|
936
|
+
}
|
|
937
|
+
else
|
|
938
|
+
{
|
|
939
|
+
this.HideFloatTooltip();
|
|
940
|
+
}
|
|
941
|
+
|
|
854
942
|
if (!bShowMinuteTooltip) this.HideMinuteChartTooltip();
|
|
855
943
|
if (bShowMinuteTooltip) this.ShowMinuteChartTooltip(null, null, chartTooltipData);
|
|
856
944
|
}
|
|
@@ -870,6 +958,16 @@ function JSDealChartContainer(uielement)
|
|
|
870
958
|
e.preventDefault();
|
|
871
959
|
}
|
|
872
960
|
|
|
961
|
+
this.UIOnMounseOut=function(e)
|
|
962
|
+
{
|
|
963
|
+
this.HideAllTooltip();
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
this.UIOnMouseleave=function(e)
|
|
967
|
+
{
|
|
968
|
+
this.HideAllTooltip();
|
|
969
|
+
}
|
|
970
|
+
|
|
873
971
|
this.GotoNextPage=function()
|
|
874
972
|
{
|
|
875
973
|
if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return false;
|
|
@@ -1681,7 +1779,14 @@ function ChartDealList()
|
|
|
1681
1779
|
this.DrawItemText(text, textColor, textAlign, left, top, itemWidth);
|
|
1682
1780
|
}
|
|
1683
1781
|
|
|
1684
|
-
|
|
1782
|
+
|
|
1783
|
+
if (drawInfo.Tooltip)
|
|
1784
|
+
{
|
|
1785
|
+
//Type:2=数据提示信息
|
|
1786
|
+
var tooltipData={ Rect:rtItem, Data:data, Index:dataIndex, Column:item, Type:drawInfo.Tooltip.Type, Data:drawInfo.Tooltip.Data };
|
|
1787
|
+
this.TooltipRect.push(tooltipData);
|
|
1788
|
+
}
|
|
1789
|
+
else if (item.ChartTooltip && item.ChartTooltip.Enable && IFrameSplitOperator.IsNumber(item.ChartTooltip.Type)) //Type 20分时图 21K线图
|
|
1685
1790
|
{
|
|
1686
1791
|
var tooltipData={ Rect:rtItem, Data:data, Index:dataIndex, Column:item, Type:item.ChartTooltip.Type };
|
|
1687
1792
|
this.TooltipRect.push(tooltipData);
|
|
@@ -1754,6 +1859,15 @@ function ChartDealList()
|
|
|
1754
1859
|
{
|
|
1755
1860
|
drawInfo.Text=item;
|
|
1756
1861
|
}
|
|
1862
|
+
|
|
1863
|
+
if (item && item.Tooltip && IFrameSplitOperator.IsNonEmptyArray(item.Tooltip.AryText))
|
|
1864
|
+
{
|
|
1865
|
+
drawInfo.Tooltip=
|
|
1866
|
+
{
|
|
1867
|
+
Type:2,
|
|
1868
|
+
Data:{ AryText:item.Tooltip.AryText }
|
|
1869
|
+
}
|
|
1870
|
+
}
|
|
1757
1871
|
}
|
|
1758
1872
|
|
|
1759
1873
|
this.GetUpDownColor=function(price, price2)
|
|
@@ -581,7 +581,7 @@ JSIndexScript.prototype.MACD=function()
|
|
|
581
581
|
{
|
|
582
582
|
let data=
|
|
583
583
|
{
|
|
584
|
-
Name:'MACD', Description:'平滑异同平均', IsMainIndex:false,
|
|
584
|
+
Name:'MACD', Description:'平滑异同平均', IsMainIndex:false,FloatPrecision:3,
|
|
585
585
|
Args:[ { Name:'SHORT', Value:12}, { Name:'LONG', Value:26}, { Name:'MID', Value:9} ],
|
|
586
586
|
Script: //脚本
|
|
587
587
|
'DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);\n\
|
|
@@ -490,6 +490,7 @@ function JSReportChartContainer(uielement)
|
|
|
490
490
|
//
|
|
491
491
|
this.TooltipMinuteChart; //分时图
|
|
492
492
|
this.TooltipKLineChart; //分时图
|
|
493
|
+
this.FloatTooltip; //提示浮框
|
|
493
494
|
|
|
494
495
|
//MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
|
|
495
496
|
this.LastMouseStatus={ MoveStatus:null, TooltipStatus:null, MouseOnStatus:null };
|
|
@@ -593,7 +593,7 @@ JSIndexScript.prototype.MACD=function()
|
|
|
593
593
|
{
|
|
594
594
|
let data=
|
|
595
595
|
{
|
|
596
|
-
Name:'MACD', Description:'平滑异同平均', IsMainIndex:false,
|
|
596
|
+
Name:'MACD', Description:'平滑异同平均', IsMainIndex:false,FloatPrecision:3,
|
|
597
597
|
Args:[ { Name:'SHORT', Value:12}, { Name:'LONG', Value:26}, { Name:'MID', Value:9} ],
|
|
598
598
|
Script: //脚本
|
|
599
599
|
'DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);\n\
|
|
@@ -133880,6 +133880,7 @@ function JSDealChart(divElement)
|
|
|
133880
133880
|
}
|
|
133881
133881
|
|
|
133882
133882
|
if (option.MinuteChartTooltip && option.MinuteChartTooltip.Enable) chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);
|
|
133883
|
+
if (option.FloatTooltip && option.FloatTooltip.Enable) chart.InitalFloatTooltip(option.FloatTooltip); //提示信息
|
|
133883
133884
|
|
|
133884
133885
|
if (!option.Symbol)
|
|
133885
133886
|
{
|
|
@@ -134023,6 +134024,7 @@ function JSDealChartContainer(uielement)
|
|
|
134023
134024
|
this.LoadDataSplashTitle="数据加载中"; //下载数据提示信息
|
|
134024
134025
|
|
|
134025
134026
|
this.TooltipMinuteChart; //分时图
|
|
134027
|
+
this.FloatTooltip; //提示浮框
|
|
134026
134028
|
|
|
134027
134029
|
this.UIElement=uielement;
|
|
134028
134030
|
this.LastPoint=new Point(); //鼠标位置
|
|
@@ -134036,6 +134038,9 @@ function JSDealChartContainer(uielement)
|
|
|
134036
134038
|
{
|
|
134037
134039
|
this.IsDestroy=true;
|
|
134038
134040
|
this.StopAutoUpdate();
|
|
134041
|
+
|
|
134042
|
+
this.DestroyMinuteChartTooltip();
|
|
134043
|
+
this.DestroyFloatTooltip();
|
|
134039
134044
|
}
|
|
134040
134045
|
|
|
134041
134046
|
this.EnableFilterData=false; //是否启动筛选
|
|
@@ -134080,9 +134085,55 @@ function JSDealChartContainer(uielement)
|
|
|
134080
134085
|
this.TooltipMinuteChart.Hide();
|
|
134081
134086
|
}
|
|
134082
134087
|
|
|
134088
|
+
this.HideFloatTooltip=function()
|
|
134089
|
+
{
|
|
134090
|
+
if (!this.FloatTooltip) return;
|
|
134091
|
+
|
|
134092
|
+
this.FloatTooltip.Hide();
|
|
134093
|
+
}
|
|
134094
|
+
|
|
134095
|
+
this.DestroyFloatTooltip=function()
|
|
134096
|
+
{
|
|
134097
|
+
if (!this.FloatTooltip) return;
|
|
134098
|
+
|
|
134099
|
+
this.FloatTooltip.Destroy();
|
|
134100
|
+
this.FloatTooltip=null;
|
|
134101
|
+
}
|
|
134102
|
+
|
|
134103
|
+
this.InitalFloatTooltip=function(option)
|
|
134104
|
+
{
|
|
134105
|
+
if (this.FloatTooltip) return;
|
|
134106
|
+
|
|
134107
|
+
this.FloatTooltip=new JSFloatTooltip();
|
|
134108
|
+
this.FloatTooltip.Inital(this, option);
|
|
134109
|
+
this.FloatTooltip.Create();
|
|
134110
|
+
}
|
|
134111
|
+
|
|
134112
|
+
this.DrawFloatTooltip=function(point,toolTip)
|
|
134113
|
+
{
|
|
134114
|
+
if (!this.FloatTooltip) return;
|
|
134115
|
+
|
|
134116
|
+
this.UpdateFloatTooltip(point, toolTip)
|
|
134117
|
+
}
|
|
134118
|
+
|
|
134119
|
+
this.UpdateFloatTooltip=function(point, toolTip)
|
|
134120
|
+
{
|
|
134121
|
+
if (!this.FloatTooltip) return;
|
|
134122
|
+
|
|
134123
|
+
var sendData=
|
|
134124
|
+
{
|
|
134125
|
+
Tooltip:toolTip,
|
|
134126
|
+
Point:point,
|
|
134127
|
+
DataType:5,
|
|
134128
|
+
};
|
|
134129
|
+
|
|
134130
|
+
this.FloatTooltip.Update(sendData);
|
|
134131
|
+
}
|
|
134132
|
+
|
|
134083
134133
|
this.HideAllTooltip=function()
|
|
134084
134134
|
{
|
|
134085
134135
|
this.HideMinuteChartTooltip();
|
|
134136
|
+
this.HideFloatTooltip();
|
|
134086
134137
|
}
|
|
134087
134138
|
|
|
134088
134139
|
//筛选数据
|
|
@@ -134194,6 +134245,8 @@ function JSDealChartContainer(uielement)
|
|
|
134194
134245
|
this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
|
|
134195
134246
|
this.UIElement.oncontextmenu=(e)=> { this.UIOnContextMenu(e); }
|
|
134196
134247
|
this.UIElement.onmousemove=(e)=>{ this.UIOnMouseMove(e);}
|
|
134248
|
+
this.UIElement.onmouseout=(e)=>{ this.UIOnMounseOut(e); }
|
|
134249
|
+
this.UIElement.onmouseleave=(e)=>{ this.UIOnMouseleave(e); }
|
|
134197
134250
|
}
|
|
134198
134251
|
|
|
134199
134252
|
this.Draw=function()
|
|
@@ -134397,12 +134450,35 @@ function JSDealChartContainer(uielement)
|
|
|
134397
134450
|
var aryDeal=JSDealChartContainer.JsonDataToDealData(data);
|
|
134398
134451
|
if (!IFrameSplitOperator.IsNonEmptyArray(aryDeal)) return;
|
|
134399
134452
|
|
|
134453
|
+
var chart=this.ChartPaint[0];
|
|
134454
|
+
if (!chart) return;
|
|
134455
|
+
|
|
134400
134456
|
if (data.UpdateType===1) //全量更新
|
|
134401
134457
|
{
|
|
134402
134458
|
this.SourceData.Data=aryDeal;
|
|
134459
|
+
var oldCount=0, newCount=0;
|
|
134460
|
+
if (IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) oldCount=this.Data.Data.length;
|
|
134403
134461
|
this.Data.Data=this.FilterData(this.CloneArray(aryDeal));
|
|
134404
|
-
if (this.Data.
|
|
134405
|
-
|
|
134462
|
+
if (IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) newCount=this.Data.Data.length;
|
|
134463
|
+
|
|
134464
|
+
if (oldCount==0)
|
|
134465
|
+
{
|
|
134466
|
+
if (this.IsShowLastPage) this.SetLastPageDataOffset(); //显示最后一屏
|
|
134467
|
+
}
|
|
134468
|
+
else if (newCount>oldCount) //增长 偏移增加
|
|
134469
|
+
{
|
|
134470
|
+
var pageSize=chart.GetPageSize();
|
|
134471
|
+
var count=newCount-oldCount;
|
|
134472
|
+
for(var i=0;i<count;++i)
|
|
134473
|
+
{
|
|
134474
|
+
if (this.Data.DataOffset+pageSize<this.Data.Data.length)
|
|
134475
|
+
++this.Data.DataOffset;
|
|
134476
|
+
}
|
|
134477
|
+
}
|
|
134478
|
+
else
|
|
134479
|
+
{
|
|
134480
|
+
if (this.Data.DataOffset>= this.Data.Data.length) this.Data.DataOffset=0;
|
|
134481
|
+
}
|
|
134406
134482
|
}
|
|
134407
134483
|
else
|
|
134408
134484
|
{
|
|
@@ -134410,6 +134486,8 @@ function JSDealChartContainer(uielement)
|
|
|
134410
134486
|
this.AddDealData(this.Data,this.FilterData(aryDeal));
|
|
134411
134487
|
}
|
|
134412
134488
|
|
|
134489
|
+
if (data.IsShowLastPage===true) this.SetLastPageDataOffset();
|
|
134490
|
+
|
|
134413
134491
|
this.Draw();
|
|
134414
134492
|
}
|
|
134415
134493
|
|
|
@@ -134645,13 +134723,12 @@ function JSDealChartContainer(uielement)
|
|
|
134645
134723
|
chartTooltipData={ Symbol:tooltipData.Stock.OriginalSymbol, Rect:tooltipData.Rect };
|
|
134646
134724
|
}
|
|
134647
134725
|
}
|
|
134726
|
+
*/
|
|
134648
134727
|
else
|
|
134649
134728
|
{
|
|
134650
134729
|
this.LastMouseStatus.TooltipStatus={ X:x, Y:y, Data:tooltipData, ClientX:e.clientX, ClientY:e.clientY };
|
|
134651
134730
|
bDrawTooltip=true;
|
|
134652
134731
|
}
|
|
134653
|
-
*/
|
|
134654
|
-
|
|
134655
134732
|
}
|
|
134656
134733
|
}
|
|
134657
134734
|
|
|
@@ -134659,6 +134736,17 @@ function JSDealChartContainer(uielement)
|
|
|
134659
134736
|
|
|
134660
134737
|
if (bDraw) this.Draw();
|
|
134661
134738
|
|
|
134739
|
+
if (this.LastMouseStatus.TooltipStatus)
|
|
134740
|
+
{
|
|
134741
|
+
var xTooltip = e.clientX-this.UIElement.getBoundingClientRect().left;
|
|
134742
|
+
var yTooltip = e.clientY-this.UIElement.getBoundingClientRect().top;
|
|
134743
|
+
this.DrawFloatTooltip({X:xTooltip, Y:yTooltip, YMove:20/pixelTatio},this.LastMouseStatus.TooltipStatus.Data);
|
|
134744
|
+
}
|
|
134745
|
+
else
|
|
134746
|
+
{
|
|
134747
|
+
this.HideFloatTooltip();
|
|
134748
|
+
}
|
|
134749
|
+
|
|
134662
134750
|
if (!bShowMinuteTooltip) this.HideMinuteChartTooltip();
|
|
134663
134751
|
if (bShowMinuteTooltip) this.ShowMinuteChartTooltip(null, null, chartTooltipData);
|
|
134664
134752
|
}
|
|
@@ -134678,6 +134766,16 @@ function JSDealChartContainer(uielement)
|
|
|
134678
134766
|
e.preventDefault();
|
|
134679
134767
|
}
|
|
134680
134768
|
|
|
134769
|
+
this.UIOnMounseOut=function(e)
|
|
134770
|
+
{
|
|
134771
|
+
this.HideAllTooltip();
|
|
134772
|
+
}
|
|
134773
|
+
|
|
134774
|
+
this.UIOnMouseleave=function(e)
|
|
134775
|
+
{
|
|
134776
|
+
this.HideAllTooltip();
|
|
134777
|
+
}
|
|
134778
|
+
|
|
134681
134779
|
this.GotoNextPage=function()
|
|
134682
134780
|
{
|
|
134683
134781
|
if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return false;
|
|
@@ -135489,7 +135587,14 @@ function ChartDealList()
|
|
|
135489
135587
|
this.DrawItemText(text, textColor, textAlign, left, top, itemWidth);
|
|
135490
135588
|
}
|
|
135491
135589
|
|
|
135492
|
-
|
|
135590
|
+
|
|
135591
|
+
if (drawInfo.Tooltip)
|
|
135592
|
+
{
|
|
135593
|
+
//Type:2=数据提示信息
|
|
135594
|
+
var tooltipData={ Rect:rtItem, Data:data, Index:dataIndex, Column:item, Type:drawInfo.Tooltip.Type, Data:drawInfo.Tooltip.Data };
|
|
135595
|
+
this.TooltipRect.push(tooltipData);
|
|
135596
|
+
}
|
|
135597
|
+
else if (item.ChartTooltip && item.ChartTooltip.Enable && IFrameSplitOperator.IsNumber(item.ChartTooltip.Type)) //Type 20分时图 21K线图
|
|
135493
135598
|
{
|
|
135494
135599
|
var tooltipData={ Rect:rtItem, Data:data, Index:dataIndex, Column:item, Type:item.ChartTooltip.Type };
|
|
135495
135600
|
this.TooltipRect.push(tooltipData);
|
|
@@ -135562,6 +135667,15 @@ function ChartDealList()
|
|
|
135562
135667
|
{
|
|
135563
135668
|
drawInfo.Text=item;
|
|
135564
135669
|
}
|
|
135670
|
+
|
|
135671
|
+
if (item && item.Tooltip && IFrameSplitOperator.IsNonEmptyArray(item.Tooltip.AryText))
|
|
135672
|
+
{
|
|
135673
|
+
drawInfo.Tooltip=
|
|
135674
|
+
{
|
|
135675
|
+
Type:2,
|
|
135676
|
+
Data:{ AryText:item.Tooltip.AryText }
|
|
135677
|
+
}
|
|
135678
|
+
}
|
|
135565
135679
|
}
|
|
135566
135680
|
|
|
135567
135681
|
this.GetUpDownColor=function(price, price2)
|
|
@@ -136324,6 +136438,7 @@ function JSReportChartContainer(uielement)
|
|
|
136324
136438
|
//
|
|
136325
136439
|
this.TooltipMinuteChart; //分时图
|
|
136326
136440
|
this.TooltipKLineChart; //分时图
|
|
136441
|
+
this.FloatTooltip; //提示浮框
|
|
136327
136442
|
|
|
136328
136443
|
//MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
|
|
136329
136444
|
this.LastMouseStatus={ MoveStatus:null, TooltipStatus:null, MouseOnStatus:null };
|
|
@@ -148916,7 +149031,7 @@ function ScrollBarBGChart()
|
|
|
148916
149031
|
|
|
148917
149032
|
|
|
148918
149033
|
|
|
148919
|
-
var HQCHART_VERSION="1.1.
|
|
149034
|
+
var HQCHART_VERSION="1.1.14783";
|
|
148920
149035
|
|
|
148921
149036
|
function PrintHQChartVersion()
|
|
148922
149037
|
{
|
|
@@ -637,7 +637,7 @@ JSIndexScript.prototype.MACD=function()
|
|
|
637
637
|
{
|
|
638
638
|
let data=
|
|
639
639
|
{
|
|
640
|
-
Name:'MACD', Description:'平滑异同平均', IsMainIndex:false,
|
|
640
|
+
Name:'MACD', Description:'平滑异同平均', IsMainIndex:false,FloatPrecision:3,
|
|
641
641
|
Args:[ { Name:'SHORT', Value:12}, { Name:'LONG', Value:26}, { Name:'MID', Value:9} ],
|
|
642
642
|
Script: //脚本
|
|
643
643
|
'DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);\n\
|
|
@@ -133924,6 +133924,7 @@ function JSDealChart(divElement)
|
|
|
133924
133924
|
}
|
|
133925
133925
|
|
|
133926
133926
|
if (option.MinuteChartTooltip && option.MinuteChartTooltip.Enable) chart.InitalMinuteChartTooltip(option.MinuteChartTooltip);
|
|
133927
|
+
if (option.FloatTooltip && option.FloatTooltip.Enable) chart.InitalFloatTooltip(option.FloatTooltip); //提示信息
|
|
133927
133928
|
|
|
133928
133929
|
if (!option.Symbol)
|
|
133929
133930
|
{
|
|
@@ -134067,6 +134068,7 @@ function JSDealChartContainer(uielement)
|
|
|
134067
134068
|
this.LoadDataSplashTitle="数据加载中"; //下载数据提示信息
|
|
134068
134069
|
|
|
134069
134070
|
this.TooltipMinuteChart; //分时图
|
|
134071
|
+
this.FloatTooltip; //提示浮框
|
|
134070
134072
|
|
|
134071
134073
|
this.UIElement=uielement;
|
|
134072
134074
|
this.LastPoint=new Point(); //鼠标位置
|
|
@@ -134080,6 +134082,9 @@ function JSDealChartContainer(uielement)
|
|
|
134080
134082
|
{
|
|
134081
134083
|
this.IsDestroy=true;
|
|
134082
134084
|
this.StopAutoUpdate();
|
|
134085
|
+
|
|
134086
|
+
this.DestroyMinuteChartTooltip();
|
|
134087
|
+
this.DestroyFloatTooltip();
|
|
134083
134088
|
}
|
|
134084
134089
|
|
|
134085
134090
|
this.EnableFilterData=false; //是否启动筛选
|
|
@@ -134124,9 +134129,55 @@ function JSDealChartContainer(uielement)
|
|
|
134124
134129
|
this.TooltipMinuteChart.Hide();
|
|
134125
134130
|
}
|
|
134126
134131
|
|
|
134132
|
+
this.HideFloatTooltip=function()
|
|
134133
|
+
{
|
|
134134
|
+
if (!this.FloatTooltip) return;
|
|
134135
|
+
|
|
134136
|
+
this.FloatTooltip.Hide();
|
|
134137
|
+
}
|
|
134138
|
+
|
|
134139
|
+
this.DestroyFloatTooltip=function()
|
|
134140
|
+
{
|
|
134141
|
+
if (!this.FloatTooltip) return;
|
|
134142
|
+
|
|
134143
|
+
this.FloatTooltip.Destroy();
|
|
134144
|
+
this.FloatTooltip=null;
|
|
134145
|
+
}
|
|
134146
|
+
|
|
134147
|
+
this.InitalFloatTooltip=function(option)
|
|
134148
|
+
{
|
|
134149
|
+
if (this.FloatTooltip) return;
|
|
134150
|
+
|
|
134151
|
+
this.FloatTooltip=new JSFloatTooltip();
|
|
134152
|
+
this.FloatTooltip.Inital(this, option);
|
|
134153
|
+
this.FloatTooltip.Create();
|
|
134154
|
+
}
|
|
134155
|
+
|
|
134156
|
+
this.DrawFloatTooltip=function(point,toolTip)
|
|
134157
|
+
{
|
|
134158
|
+
if (!this.FloatTooltip) return;
|
|
134159
|
+
|
|
134160
|
+
this.UpdateFloatTooltip(point, toolTip)
|
|
134161
|
+
}
|
|
134162
|
+
|
|
134163
|
+
this.UpdateFloatTooltip=function(point, toolTip)
|
|
134164
|
+
{
|
|
134165
|
+
if (!this.FloatTooltip) return;
|
|
134166
|
+
|
|
134167
|
+
var sendData=
|
|
134168
|
+
{
|
|
134169
|
+
Tooltip:toolTip,
|
|
134170
|
+
Point:point,
|
|
134171
|
+
DataType:5,
|
|
134172
|
+
};
|
|
134173
|
+
|
|
134174
|
+
this.FloatTooltip.Update(sendData);
|
|
134175
|
+
}
|
|
134176
|
+
|
|
134127
134177
|
this.HideAllTooltip=function()
|
|
134128
134178
|
{
|
|
134129
134179
|
this.HideMinuteChartTooltip();
|
|
134180
|
+
this.HideFloatTooltip();
|
|
134130
134181
|
}
|
|
134131
134182
|
|
|
134132
134183
|
//筛选数据
|
|
@@ -134238,6 +134289,8 @@ function JSDealChartContainer(uielement)
|
|
|
134238
134289
|
this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
|
|
134239
134290
|
this.UIElement.oncontextmenu=(e)=> { this.UIOnContextMenu(e); }
|
|
134240
134291
|
this.UIElement.onmousemove=(e)=>{ this.UIOnMouseMove(e);}
|
|
134292
|
+
this.UIElement.onmouseout=(e)=>{ this.UIOnMounseOut(e); }
|
|
134293
|
+
this.UIElement.onmouseleave=(e)=>{ this.UIOnMouseleave(e); }
|
|
134241
134294
|
}
|
|
134242
134295
|
|
|
134243
134296
|
this.Draw=function()
|
|
@@ -134441,12 +134494,35 @@ function JSDealChartContainer(uielement)
|
|
|
134441
134494
|
var aryDeal=JSDealChartContainer.JsonDataToDealData(data);
|
|
134442
134495
|
if (!IFrameSplitOperator.IsNonEmptyArray(aryDeal)) return;
|
|
134443
134496
|
|
|
134497
|
+
var chart=this.ChartPaint[0];
|
|
134498
|
+
if (!chart) return;
|
|
134499
|
+
|
|
134444
134500
|
if (data.UpdateType===1) //全量更新
|
|
134445
134501
|
{
|
|
134446
134502
|
this.SourceData.Data=aryDeal;
|
|
134503
|
+
var oldCount=0, newCount=0;
|
|
134504
|
+
if (IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) oldCount=this.Data.Data.length;
|
|
134447
134505
|
this.Data.Data=this.FilterData(this.CloneArray(aryDeal));
|
|
134448
|
-
if (this.Data.
|
|
134449
|
-
|
|
134506
|
+
if (IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) newCount=this.Data.Data.length;
|
|
134507
|
+
|
|
134508
|
+
if (oldCount==0)
|
|
134509
|
+
{
|
|
134510
|
+
if (this.IsShowLastPage) this.SetLastPageDataOffset(); //显示最后一屏
|
|
134511
|
+
}
|
|
134512
|
+
else if (newCount>oldCount) //增长 偏移增加
|
|
134513
|
+
{
|
|
134514
|
+
var pageSize=chart.GetPageSize();
|
|
134515
|
+
var count=newCount-oldCount;
|
|
134516
|
+
for(var i=0;i<count;++i)
|
|
134517
|
+
{
|
|
134518
|
+
if (this.Data.DataOffset+pageSize<this.Data.Data.length)
|
|
134519
|
+
++this.Data.DataOffset;
|
|
134520
|
+
}
|
|
134521
|
+
}
|
|
134522
|
+
else
|
|
134523
|
+
{
|
|
134524
|
+
if (this.Data.DataOffset>= this.Data.Data.length) this.Data.DataOffset=0;
|
|
134525
|
+
}
|
|
134450
134526
|
}
|
|
134451
134527
|
else
|
|
134452
134528
|
{
|
|
@@ -134454,6 +134530,8 @@ function JSDealChartContainer(uielement)
|
|
|
134454
134530
|
this.AddDealData(this.Data,this.FilterData(aryDeal));
|
|
134455
134531
|
}
|
|
134456
134532
|
|
|
134533
|
+
if (data.IsShowLastPage===true) this.SetLastPageDataOffset();
|
|
134534
|
+
|
|
134457
134535
|
this.Draw();
|
|
134458
134536
|
}
|
|
134459
134537
|
|
|
@@ -134689,13 +134767,12 @@ function JSDealChartContainer(uielement)
|
|
|
134689
134767
|
chartTooltipData={ Symbol:tooltipData.Stock.OriginalSymbol, Rect:tooltipData.Rect };
|
|
134690
134768
|
}
|
|
134691
134769
|
}
|
|
134770
|
+
*/
|
|
134692
134771
|
else
|
|
134693
134772
|
{
|
|
134694
134773
|
this.LastMouseStatus.TooltipStatus={ X:x, Y:y, Data:tooltipData, ClientX:e.clientX, ClientY:e.clientY };
|
|
134695
134774
|
bDrawTooltip=true;
|
|
134696
134775
|
}
|
|
134697
|
-
*/
|
|
134698
|
-
|
|
134699
134776
|
}
|
|
134700
134777
|
}
|
|
134701
134778
|
|
|
@@ -134703,6 +134780,17 @@ function JSDealChartContainer(uielement)
|
|
|
134703
134780
|
|
|
134704
134781
|
if (bDraw) this.Draw();
|
|
134705
134782
|
|
|
134783
|
+
if (this.LastMouseStatus.TooltipStatus)
|
|
134784
|
+
{
|
|
134785
|
+
var xTooltip = e.clientX-this.UIElement.getBoundingClientRect().left;
|
|
134786
|
+
var yTooltip = e.clientY-this.UIElement.getBoundingClientRect().top;
|
|
134787
|
+
this.DrawFloatTooltip({X:xTooltip, Y:yTooltip, YMove:20/pixelTatio},this.LastMouseStatus.TooltipStatus.Data);
|
|
134788
|
+
}
|
|
134789
|
+
else
|
|
134790
|
+
{
|
|
134791
|
+
this.HideFloatTooltip();
|
|
134792
|
+
}
|
|
134793
|
+
|
|
134706
134794
|
if (!bShowMinuteTooltip) this.HideMinuteChartTooltip();
|
|
134707
134795
|
if (bShowMinuteTooltip) this.ShowMinuteChartTooltip(null, null, chartTooltipData);
|
|
134708
134796
|
}
|
|
@@ -134722,6 +134810,16 @@ function JSDealChartContainer(uielement)
|
|
|
134722
134810
|
e.preventDefault();
|
|
134723
134811
|
}
|
|
134724
134812
|
|
|
134813
|
+
this.UIOnMounseOut=function(e)
|
|
134814
|
+
{
|
|
134815
|
+
this.HideAllTooltip();
|
|
134816
|
+
}
|
|
134817
|
+
|
|
134818
|
+
this.UIOnMouseleave=function(e)
|
|
134819
|
+
{
|
|
134820
|
+
this.HideAllTooltip();
|
|
134821
|
+
}
|
|
134822
|
+
|
|
134725
134823
|
this.GotoNextPage=function()
|
|
134726
134824
|
{
|
|
134727
134825
|
if (!this.Data || !IFrameSplitOperator.IsNonEmptyArray(this.Data.Data)) return false;
|
|
@@ -135533,7 +135631,14 @@ function ChartDealList()
|
|
|
135533
135631
|
this.DrawItemText(text, textColor, textAlign, left, top, itemWidth);
|
|
135534
135632
|
}
|
|
135535
135633
|
|
|
135536
|
-
|
|
135634
|
+
|
|
135635
|
+
if (drawInfo.Tooltip)
|
|
135636
|
+
{
|
|
135637
|
+
//Type:2=数据提示信息
|
|
135638
|
+
var tooltipData={ Rect:rtItem, Data:data, Index:dataIndex, Column:item, Type:drawInfo.Tooltip.Type, Data:drawInfo.Tooltip.Data };
|
|
135639
|
+
this.TooltipRect.push(tooltipData);
|
|
135640
|
+
}
|
|
135641
|
+
else if (item.ChartTooltip && item.ChartTooltip.Enable && IFrameSplitOperator.IsNumber(item.ChartTooltip.Type)) //Type 20分时图 21K线图
|
|
135537
135642
|
{
|
|
135538
135643
|
var tooltipData={ Rect:rtItem, Data:data, Index:dataIndex, Column:item, Type:item.ChartTooltip.Type };
|
|
135539
135644
|
this.TooltipRect.push(tooltipData);
|
|
@@ -135606,6 +135711,15 @@ function ChartDealList()
|
|
|
135606
135711
|
{
|
|
135607
135712
|
drawInfo.Text=item;
|
|
135608
135713
|
}
|
|
135714
|
+
|
|
135715
|
+
if (item && item.Tooltip && IFrameSplitOperator.IsNonEmptyArray(item.Tooltip.AryText))
|
|
135716
|
+
{
|
|
135717
|
+
drawInfo.Tooltip=
|
|
135718
|
+
{
|
|
135719
|
+
Type:2,
|
|
135720
|
+
Data:{ AryText:item.Tooltip.AryText }
|
|
135721
|
+
}
|
|
135722
|
+
}
|
|
135609
135723
|
}
|
|
135610
135724
|
|
|
135611
135725
|
this.GetUpDownColor=function(price, price2)
|
|
@@ -136368,6 +136482,7 @@ function JSReportChartContainer(uielement)
|
|
|
136368
136482
|
//
|
|
136369
136483
|
this.TooltipMinuteChart; //分时图
|
|
136370
136484
|
this.TooltipKLineChart; //分时图
|
|
136485
|
+
this.FloatTooltip; //提示浮框
|
|
136371
136486
|
|
|
136372
136487
|
//MouseOnStatus:{ RowIndex:行, ColumnIndex:列}
|
|
136373
136488
|
this.LastMouseStatus={ MoveStatus:null, TooltipStatus:null, MouseOnStatus:null };
|
|
@@ -156694,6 +156809,16 @@ function JSFloatTooltip()
|
|
|
156694
156809
|
this.TReportIconTooltip(data);
|
|
156695
156810
|
}
|
|
156696
156811
|
}
|
|
156812
|
+
else if (data.DataType==5) //成交笔数
|
|
156813
|
+
{
|
|
156814
|
+
var tooltipData=data.Tooltip;
|
|
156815
|
+
if (!tooltipData) return;
|
|
156816
|
+
|
|
156817
|
+
if (tooltipData.Type==2) //提示信息
|
|
156818
|
+
{
|
|
156819
|
+
this.DealItemTooltip(data);
|
|
156820
|
+
}
|
|
156821
|
+
}
|
|
156697
156822
|
}
|
|
156698
156823
|
|
|
156699
156824
|
this.UpdateRealtimeHQTooltip=function(data)
|
|
@@ -156985,6 +157110,18 @@ function JSFloatTooltip()
|
|
|
156985
157110
|
|
|
156986
157111
|
this.ShowTooltip(data);
|
|
156987
157112
|
}
|
|
157113
|
+
|
|
157114
|
+
this.DealItemTooltip=function(data)
|
|
157115
|
+
{
|
|
157116
|
+
var tooltipData=data.Tooltip;
|
|
157117
|
+
if (!tooltipData.Data || !IFrameSplitOperator.IsNonEmptyArray(tooltipData.Data.AryText)) return;
|
|
157118
|
+
|
|
157119
|
+
this.AryText=tooltipData.Data.AryText;
|
|
157120
|
+
|
|
157121
|
+
this.UpdateTableDOM();
|
|
157122
|
+
|
|
157123
|
+
this.ShowTooltip(data);
|
|
157124
|
+
}
|
|
156988
157125
|
|
|
156989
157126
|
this.UpdateTableDOM=function()
|
|
156990
157127
|
{
|
|
@@ -159863,7 +160000,7 @@ function HQChartScriptWorker()
|
|
|
159863
160000
|
|
|
159864
160001
|
|
|
159865
160002
|
|
|
159866
|
-
var HQCHART_VERSION="1.1.
|
|
160003
|
+
var HQCHART_VERSION="1.1.14783";
|
|
159867
160004
|
|
|
159868
160005
|
function PrintHQChartVersion()
|
|
159869
160006
|
{
|