hqchart 1.1.15816 → 1.1.15821
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 +13 -11
- package/package.json +1 -1
- package/src/jscommon/umychart/umychart.js +64 -38
- package/src/jscommon/umychart/umychart.min.js +1 -1
- package/src/jscommon/umychart.js +63 -37
- package/src/jscommon/umychart.order.js +39 -2
- package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +64 -38
- package/src/jscommon/umychart.version.js +1 -1
- package/src/jscommon/umychart.vue/umychart.vue.js +64 -38
package/lib/umychart.vue.js
CHANGED
|
@@ -4074,14 +4074,15 @@ var xText=ptMax.Y;var yText=ptMax.X;if(IFrameSplitOperator.IsNumber(highYOffset)
|
|
|
4074
4074
|
if(ptMax.Align=='left')text=leftArrow+text;else text=text+rightArrow;this.Canvas.fillText(text,0,0);this.Canvas.restore();var xText=ptMin.Y;var yText=ptMin.X;if(IFrameSplitOperator.IsNumber(lowYOffset))xText+=lowYOffset;this.Canvas.save();this.Canvas.translate(xText,yText);this.Canvas.rotate(90*Math.PI/180);var text=title.Low;this.Canvas.font=this.TextFont;if(title.LowColor)this.Canvas.fillStyle=title.LowColor;else this.Canvas.fillStyle=this.TextColor;this.Canvas.textAlign=ptMin.Align;this.Canvas.textBaseline='top';//var text=ptMin.Value.toFixed(defaultfloatPrecision);
|
|
4075
4075
|
if(ptMin.Align=='left')text=leftArrow+text;else text=text+rightArrow;this.Canvas.fillText(text,0,0);this.Canvas.restore();};//画某一天的信息地雷
|
|
4076
4076
|
this.DrawInfo=function(item){if(!this.InfoData||this.InfoData.size<=0)return;var isHScreen=this.ChartFrame.IsHScreen===true;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var bottom=this.ChartBorder.GetBottom();var top=this.ChartBorder.GetTop();var topTitle=this.ChartBorder.GetTopTitle();var key=''+item.DayData.Date;if(this.Data.DataType==1)key=item.DayData.Date+'-'+item.DayData.Time;if(!this.InfoData.has(key))return;var infoData=this.InfoData.get(key);if(!infoData||infoData.Data.length<=0)return;this.Canvas.restore();this.Canvas.save();this.ClipWindow(isHScreen);var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
4077
|
-
var iconDySize=dataWidth+distanceWidth;var minIconSize=18*pixelTatio;var maxIconSize=25*pixelTatio;if(g_JSChartResource.KLine.Info&&IFrameSplitOperator.IsNumber(g_JSChartResource.KLine.Info.MaxSize))maxIconSize=g_JSChartResource.KLine.Info.MaxSize;if(g_JSChartResource.KLine.Info&&IFrameSplitOperator.IsNumber(g_JSChartResource.KLine.Info.MinSize))minIconSize=g_JSChartResource.KLine.Info.MinSize;var bShowNum=true;if(iconDySize<=15)bShowNum=false;if(iconDySize<minIconSize)iconDySize=minIconSize;else if(iconDySize>maxIconSize)iconDySize=maxIconSize;var text='',title='';var mapImage=new _map2.default();var iconTop=item.YMax+1*pixelTatio;var iconBottom=item.YMin+1*pixelTatio+iconSize;var drawTop=true;var yOffset=0;for(var i in infoData.Data){var infoItem=infoData.Data[i];var imageInfo=mapImage.get(infoItem.InfoType);if(!imageInfo){var icon=JSKLineInfoMap.GetIconFont(infoItem.InfoType);this.Canvas.fillStyle=icon.Color;var iconSize=iconDySize;if(IFrameSplitOperator.IsNumber(icon.Size))iconSize=icon.Size;//固定大小
|
|
4077
|
+
var iconDySize=dataWidth+distanceWidth;var minIconSize=18*pixelTatio;var maxIconSize=25*pixelTatio;if(g_JSChartResource.KLine.Info&&IFrameSplitOperator.IsNumber(g_JSChartResource.KLine.Info.MaxSize))maxIconSize=g_JSChartResource.KLine.Info.MaxSize;if(g_JSChartResource.KLine.Info&&IFrameSplitOperator.IsNumber(g_JSChartResource.KLine.Info.MinSize))minIconSize=g_JSChartResource.KLine.Info.MinSize;var bShowNum=true;if(iconDySize<=15)bShowNum=false;if(iconDySize<minIconSize)iconDySize=minIconSize;else if(iconDySize>maxIconSize)iconDySize=maxIconSize;var text='',title='';var mapImage=new _map2.default();var iconTop=item.YMax+1*pixelTatio;var iconBottom=item.YMin+1*pixelTatio+iconSize;var drawTop=true;var yOffset=0,yTopOffset=0;for(var i in infoData.Data){var infoItem=infoData.Data[i];var imageInfo=mapImage.get(infoItem.InfoType);if(!imageInfo){var icon=JSKLineInfoMap.GetIconFont(infoItem.InfoType);this.Canvas.fillStyle=icon.Color;var iconSize=iconDySize;if(IFrameSplitOperator.IsNumber(icon.Size))iconSize=icon.Size;//固定大小
|
|
4078
4078
|
this.Canvas.font=iconSize+'px '+icon.Family;var infoPosition=this.InfoPosition;if(IFrameSplitOperator.IsNumber(icon.Position))infoPosition=icon.Position;//固定输出位置
|
|
4079
4079
|
var bShowNumber=true;if(IFrameSplitOperator.IsBool(icon.IsShowNumber))bShowNumber=icon.IsShowNumber;if(isHScreen){this.Canvas.textBaseline="middle";this.Canvas.textAlign="left";this.Canvas.fillText(icon.HScreenText,iconTop,item.XCenter,iconSize);var iconRect=new Rect(item.XCenter-iconSize/2,iconTop-iconSize,iconSize,iconSize);var infoCache={Data:new Array(infoItem),Rect:iconRect,Type:infoItem.InfoType,TextRect:{X:iconTop,Y:item.XCenter},IsShowNumber:bShowNumber};mapImage.set(infoItem.InfoType,infoCache);iconTop+=iconSize;}else{this.Canvas.textBaseline="bottom";this.Canvas.textAlign="center";if(infoPosition===1)//底部
|
|
4080
|
-
{var yBottom=bottom+yOffset;
|
|
4081
|
-
{var yBottom=topTitle+iconSize+1;
|
|
4082
|
-
{
|
|
4080
|
+
{var yBottom=bottom+yOffset;var iconRect=new Rect(item.XCenter-iconSize/2,yBottom-iconSize,iconSize,iconSize);this.DrawInfoIcon(item,icon,iconRect);var infoCache={Data:new Array(infoItem),Rect:iconRect,Type:infoItem.InfoType,TextRect:{X:item.XCenter,Y:yBottom},IsShowNumber:bShowNumber};mapImage.set(infoItem.InfoType,infoCache);yOffset-=iconSize;}else if(infoPosition===2)//顶部
|
|
4081
|
+
{var yBottom=topTitle+iconSize+1+yTopOffset;var iconRect=new Rect(item.XCenter-iconSize/2,yBottom-iconSize,iconSize,iconSize);this.DrawInfoIcon(item,icon,iconRect);var infoCache={Data:new Array(infoItem),Rect:iconRect,Type:infoItem.InfoType,TextRect:{X:item.XCenter,Y:yBottom},IsShowNumber:bShowNumber};mapImage.set(infoItem.InfoType,infoCache);yTopOffset+=iconSize;}else{if(drawTop)//K线上面
|
|
4082
|
+
{var iconRect=new Rect(item.XCenter-iconSize/2,iconTop-iconSize,iconSize,iconSize);this.DrawInfoIcon(item,icon,iconRect);var infoCache={Data:new Array(infoItem),Rect:iconRect,Type:infoItem.InfoType,TextRect:{X:item.XCenter,Y:iconTop},IsShowNumber:bShowNumber};mapImage.set(infoItem.InfoType,infoCache);iconTop-=iconSize;if(iconTop-iconSize<top)drawTop=false;}else//上面显示不下,就显示在K线下面
|
|
4083
|
+
{var iconRect=new Rect(item.XCenter-iconSize/2,iconBottom-iconSize,iconSize,iconSize);this.DrawInfoIcon(item,icon,iconRect);var infoCache={Data:new Array(infoItem),Rect:iconRect,Type:infoItem.InfoType,TextRect:{X:item.XCenter,Y:iconBottom},IsShowNumber:bShowNumber};mapImage.set(infoItem.InfoType,infoCache);iconBottom+=iconSize;}}}}else{imageInfo.Data.push(infoItem);}}var numText;if(g_JSChartResource.KLine.NumIcon){if(isHScreen)numText=g_JSChartResource.KLine.NumIcon.HScreenText;else numText=g_JSChartResource.KLine.NumIcon.Text;}var _iteratorNormalCompletion5=true;var _didIteratorError5=false;var _iteratorError5=undefined;try{for(var _iterator5=(0,_getIterator3.default)(mapImage),_step5;!(_iteratorNormalCompletion5=(_step5=_iterator5.next()).done);_iteratorNormalCompletion5=true){var item=_step5.value;var value=item[1];if(value.Data.length>=2&&numText&&bShowNum&&value.IsShowNumber)//太小了 就不显示了
|
|
4083
4084
|
{var iconID=value.Data.length;if(iconID>=numText.length)iconID=0;this.Canvas.fillStyle=g_JSChartResource.KLine.NumIcon.Color;var text=numText[iconID];this.Canvas.fillText(text,value.TextRect.X,value.TextRect.Y,iconSize);}if(!isHScreen)this.InfoTooltipRect.push(value);//横屏没有tooltip
|
|
4084
|
-
}}catch(err){_didIteratorError5=true;_iteratorError5=err;}finally{try{if(!_iteratorNormalCompletion5&&_iterator5.return){_iterator5.return();}}finally{if(_didIteratorError5){throw _iteratorError5;}}}this.Canvas.restore();this.Canvas.save();this.ClipClient(isHScreen);};//画交易图标
|
|
4085
|
+
}}catch(err){_didIteratorError5=true;_iteratorError5=err;}finally{try{if(!_iteratorNormalCompletion5&&_iterator5.return){_iterator5.return();}}finally{if(_didIteratorError5){throw _iteratorError5;}}}this.Canvas.restore();this.Canvas.save();this.ClipClient(isHScreen);};this.DrawInfoIcon=function(item,iconItem,rtIcon){if(iconItem.BGColor){this.Canvas.fillStyle=iconItem.BGColor;this.Canvas.fillRect(rtIcon.X,rtIcon.Y,rtIcon.Width,rtIcon.Height);}this.Canvas.fillStyle=iconItem.Color;this.Canvas.fillText(iconItem.Text,item.XCenter,rtIcon.Y+rtIcon.Height,rtIcon.Width);};//画交易图标
|
|
4085
4086
|
this.DrawTradeIcon=function(){if(!this.TradeData)return;var isHScreen=this.ChartFrame.IsHScreen===true;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xOffset=this.ChartBorder.GetLeft()+distanceWidth/2.0+2.0;var chartright=this.ChartBorder.GetRight();var xPointCount=this.ChartFrame.XPointCount;if(isHScreen){xOffset=this.ChartBorder.GetTop()+distanceWidth/2.0+2.0;chartright=this.ChartBorder.GetBottom();}var sellData=this.TradeData.Sell;var buyData=this.TradeData.Buy;var iconSize=dataWidth+distanceWidth;var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
|
|
4086
4087
|
var iconSizeMax=24*pixelTatio,iconSizeMin=12*pixelTatio;if(iconSize<iconSizeMin)iconSize=iconSizeMin;else if(iconSize>iconSizeMax)iconSize=iconSizeMax;this.Canvas.font=iconSize+'px '+this.TradeIcon.Family;for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var data=this.Data.Data[i];if(data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;var buy=false,sell=false;if(sellData&&i<sellData.length)sell=sellData[i]>0;if(buyData&&i<buyData.length)buy=buyData[i]>0;if(!sell&&!buy)continue;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);var yOpen=this.GetYFromData(data.Open,false);var yClose=this.GetYFromData(data.Close,false);var y=yHigh;if(buy){this.Canvas.fillStyle=this.TradeIcon.Buy.Color;if(isHScreen){this.Canvas.textAlign='right';this.Canvas.textBaseline='middle';this.Canvas.fillText(this.TradeIcon.Buy.HScreenText,yLow,x);}else{this.Canvas.textAlign='center';this.Canvas.textBaseline='top';this.Canvas.fillText(this.TradeIcon.Buy.Text,x,yLow);var iconRect=new Rect(x-iconSize/2,yLow,iconSize,iconSize);var iconData={Data:{Type:1,KData:data,Name:this.TradeData.Name,Param:this.TradeData.Param},Rect:iconRect,TextRect:{X:x,Y:yLow}};this.TradeIconTooltipRect.push(iconData);}}if(sell){this.Canvas.fillStyle=this.TradeIcon.Sell.Color;if(isHScreen){this.Canvas.textAlign='left';this.Canvas.textBaseline='middle';this.Canvas.fillText(this.TradeIcon.Sell.HScreenText,yHigh,x);}else{this.Canvas.textAlign='center';this.Canvas.textBaseline='bottom';this.Canvas.fillText(this.TradeIcon.Sell.Text,x,yHigh);var iconRect=new Rect(x-iconSize/2,yHigh-iconSize,iconSize,iconSize);var iconData={Data:{Type:2,KData:data,Name:this.TradeData.Name,Param:this.TradeData.Param},Rect:iconRect,TextRect:{X:x,Y:yHigh}};this.TradeIconTooltipRect.push(iconData);}}}};this.GetTooltipData=function(x,y,tooltip){if(!this.IsShow)return false;for(var i in this.TradeIconTooltipRect){var item=this.TradeIconTooltipRect[i];if(!item.Rect)continue;var rect=item.Rect;var left=rect.X,top=rect.Y;var right=left+rect.Width;var bottom=top+rect.Height;if(x>=left&&x<=right&&y>=top&&y<=bottom){JSConsole.Chart.Log('[ChartKLine::GetTooltipData] trade icon ',item);tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=2;//指标
|
|
4087
4088
|
return true;}}for(var i in this.InfoTooltipRect){var item=this.InfoTooltipRect[i];if(!item.Rect)continue;var rect=item.Rect;var left=rect.X,top=rect.Y;var right=left+rect.Width;var bottom=top+rect.Height;if(x>=left&&x<=right&&y>=top&&y<=bottom){//JSConsole.Chart.Log('[ChartKLine::GetTooltipData] info ', item);
|
|
@@ -8723,11 +8724,12 @@ var item=windows[i];if(!item)continue;if(item.Script){this.WindowIndex[i]=new Sc
|
|
|
8723
8724
|
{obj.Update=true;}else{if(this.ChartPaint.length>0){var klinePaint=this.ChartPaint[0];klinePaint.InfoData=new _map2.default();}obj.Update=false;}//信息地雷信息
|
|
8724
8725
|
if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartInfo))return;for(var i=0;i<this.ChartInfo.length;++i){this.ChartInfo[i].RequestData(this,obj);}};//设置K线信息地雷
|
|
8725
8726
|
this.SetKLineInfo=function(aryInfo,bUpdate){this.ChartInfo=[];//先清空
|
|
8726
|
-
for(var i in aryInfo){var infoItem=JSKLineInfoMap.Get(aryInfo[i]);if(!infoItem)continue;var item=infoItem.Create();item.MaxRequestDataCount=this.MaxRequestDataCount;this.ChartInfo.push(item);}if(bUpdate==true)this.ReqeustKLineInfoData({FunctionName:"SetKLineInfo"});}
|
|
8727
|
-
this.
|
|
8728
|
-
return;}
|
|
8729
|
-
}
|
|
8730
|
-
|
|
8727
|
+
for(var i in aryInfo){var infoItem=JSKLineInfoMap.Get(aryInfo[i]);if(!infoItem)continue;var item=infoItem.Create();item.MaxRequestDataCount=this.MaxRequestDataCount;this.ChartInfo.push(item);}if(bUpdate==true)this.ReqeustKLineInfoData({FunctionName:"SetKLineInfo"});};//option={ ClassName:, Name: }
|
|
8728
|
+
this.GetKLineInfo=function(option){if(!option)return null;if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartInfo))return null;var className=null;if(option.Name){var classInfo=JSKLineInfoMap.GetClassInfo(option.Name);if(classInfo)className=classInfo.ClassName;}if(!className)return null;for(var i=0;i<this.ChartInfo.length;++i){var item=this.ChartInfo[i];if(item.ClassName==className)//已经存在
|
|
8729
|
+
return item;}return null;};//添加信息地雷
|
|
8730
|
+
this.AddKLineInfo=function(infoName,bUpdate){var item=this.GetKLineInfo({Name:infoName});if(item)return;var infoItem=JSKLineInfoMap.Get(infoName);if(!infoItem){console.warn('[KLineChartContainer::AddKLineInfo] can\'t find infoName='+infoName);return;}var item=infoItem.Create();item.MaxRequestDataCount=this.MaxRequestDataCount;this.ChartInfo.push(item);if(bUpdate==true){item.RequestData(this);//信息地雷信息
|
|
8731
|
+
}};//更新信息地雷列表 Option :{ InsertNew:, 如果没有找到对应的地雷,是否插入新的地雷, Update:是否立即请求数据 }
|
|
8732
|
+
this.UpdateKLineInfo=function(infoName,option){var bInsertNew=false,bUpdate=false;if(option){if(IFrameSplitOperator.IsBoolean(option.InsertNew))bInsertNew=option.InsertNew;if(IFrameSplitOperator.IsBoolean(option.Update))bUpdate=option.Update;}var finder=this.GetKLineInfo({Name:infoName});if(!finder){if(bInsertNew===true){var infoItem=JSKLineInfoMap.Get(infoName);if(!infoItem){console.warn('[KLineChartContainer::UpdateKLineInfo] can\'t find infoname='+infoName);return;}var item=infoItem.Create();item.MaxRequestDataCount=this.MaxRequestDataCount;this.ChartInfo.push(item);finder=item;}else{return;}}if(bUpdate==true)finder.RequestData(this);//信息地雷信息
|
|
8731
8733
|
};//删除信息地理
|
|
8732
8734
|
this.DeleteKLineInfo=function(infoName){var classInfo=JSKLineInfoMap.GetClassInfo(infoName);if(!classInfo){console.warn("[KLineChartContainer::DeleteKLineInfo] can't find infoname=",infoName);return;}for(var i=0;i<this.ChartInfo.length;++i){var item=this.ChartInfo[i];if(item.ClassName==classInfo.ClassName){this.ChartInfo.splice(i,1);this.UpdataChartInfo();this.Draw();break;}}};//清空所有的信息地理
|
|
8733
8735
|
this.ClearKLineInfo=function(){if(!this.ChartInfo||this.ChartInfo.length<=0)return;this.ChartInfo=[];var klinePaint=this.ChartPaint[0];klinePaint.InfoData=null;this.Draw();};//增加叠加股票
|
|
@@ -16396,7 +16398,7 @@ if(this.MouseOnItem){if(this.MouseOnItem.Data==item)color=this.TextConfig.MouseO
|
|
|
16396
16398
|
*/this.Canvas.restore();this.ResizeDataCount(endIndex);};this.ResizeDataCount=function(startIndex){if(!IFrameSplitOperator.IsNumber(startIndex))return;if(startIndex<=0)return;if(this.LimitCount<=0)return;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.AryText))return;if(this.Data.AryText.length<=this.LimitCount)return;var delCount=this.Data.AryText.length-this.LimitCount;for(var i=0;i<delCount&&i<startIndex;++i){this.Data.AryText.shift();}};this.GetTooltipData=function(x,y,tooltip){var rtClient=this.GetClientRect();if(x>=rtClient.Left&&x<=rtClient.Right){for(var i=0;i<this.AryRect.length;++i){var item=this.AryRect[i];if(Path2DHelper.PtInRect(x,y,item.Rect)){tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=1;return true;}}}return false;};this.ScrollStep=function(defaultStep){if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.AryText))return false;if(!this.FirstItem)return false;var moveStep=this.MoveStep;if(IFrameSplitOperator.IsNumber(defaultStep))moveStep=defaultStep;var rtClient=this.GetClientRect();var left=rtClient.Left;var right=rtClient.Right;var width=this.FirstItem.Move.Width;var xOffset=this.FirstItem.Move.XOffset+moveStep;if(right-xOffset+width<left){var startIndex=this.GetDataIndex(this.FirstItem);nextIndex=startIndex-1;if(nextIndex<0){var index=this.Data.AryText.length-1;this.FirstItem=this.Data.AryText[index];this.FirstItem.Move={XOffset:0};}else{this.FirstItem=this.Data.AryText[nextIndex];this.FirstItem.Move={XOffset:xOffset-width};}}else{this.FirstItem.Move.XOffset=xOffset;}return true;};}/********************************************************************************
|
|
16397
16399
|
* 版本信息输出
|
|
16398
16400
|
*
|
|
16399
|
-
*/var HQCHART_VERSION="1.1.
|
|
16401
|
+
*/var HQCHART_VERSION="1.1.15820";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();//把给外界调用的方法暴露出来
|
|
16400
16402
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
16401
16403
|
// BaseIndex:BaseIndex,
|
|
16402
16404
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
|
@@ -36035,7 +36035,7 @@ function ChartKLine()
|
|
|
36035
36035
|
var iconTop=item.YMax+1*pixelTatio;
|
|
36036
36036
|
var iconBottom=item.YMin+1*pixelTatio+iconSize;
|
|
36037
36037
|
var drawTop=true;
|
|
36038
|
-
var yOffset=0;
|
|
36038
|
+
var yOffset=0, yTopOffset=0;
|
|
36039
36039
|
for(var i in infoData.Data)
|
|
36040
36040
|
{
|
|
36041
36041
|
var infoItem=infoData.Data[i];
|
|
@@ -36071,35 +36071,41 @@ function ChartKLine()
|
|
|
36071
36071
|
if (infoPosition===1) //底部
|
|
36072
36072
|
{
|
|
36073
36073
|
var yBottom=bottom+yOffset;
|
|
36074
|
-
this.Canvas.fillText(icon.Text,item.XCenter,yBottom,iconSize);
|
|
36075
36074
|
var iconRect=new Rect(item.XCenter-iconSize/2,yBottom-iconSize,iconSize,iconSize);
|
|
36075
|
+
this.DrawInfoIcon(item, icon, iconRect);
|
|
36076
|
+
|
|
36076
36077
|
var infoCache={ Data:new Array(infoItem), Rect:iconRect, Type:infoItem.InfoType, TextRect:{X:item.XCenter, Y:yBottom}, IsShowNumber:bShowNumber };
|
|
36077
36078
|
mapImage.set(infoItem.InfoType,infoCache);
|
|
36078
36079
|
yOffset-=iconSize;
|
|
36079
36080
|
}
|
|
36080
36081
|
else if (infoPosition===2) //顶部
|
|
36081
36082
|
{
|
|
36082
|
-
var yBottom=topTitle+iconSize+1;
|
|
36083
|
-
this.Canvas.fillText(icon.Text,item.XCenter,yBottom,iconSize);
|
|
36083
|
+
var yBottom=topTitle+iconSize+1+yTopOffset;
|
|
36084
36084
|
var iconRect=new Rect(item.XCenter-iconSize/2,yBottom-iconSize,iconSize,iconSize);
|
|
36085
|
+
this.DrawInfoIcon(item, icon, iconRect);
|
|
36086
|
+
|
|
36085
36087
|
var infoCache={ Data:new Array(infoItem), Rect:iconRect, Type:infoItem.InfoType, TextRect:{X:item.XCenter, Y:yBottom}, IsShowNumber:bShowNumber };
|
|
36086
36088
|
mapImage.set(infoItem.InfoType,infoCache);
|
|
36089
|
+
|
|
36090
|
+
yTopOffset+=iconSize;
|
|
36087
36091
|
}
|
|
36088
36092
|
else
|
|
36089
36093
|
{
|
|
36090
|
-
if (drawTop)
|
|
36094
|
+
if (drawTop) //K线上面
|
|
36091
36095
|
{
|
|
36092
|
-
this.Canvas.fillText(icon.Text,item.XCenter,iconTop,iconSize);
|
|
36093
36096
|
var iconRect=new Rect(item.XCenter-iconSize/2,iconTop-iconSize,iconSize,iconSize);
|
|
36097
|
+
this.DrawInfoIcon(item, icon, iconRect);
|
|
36098
|
+
|
|
36094
36099
|
var infoCache={ Data:new Array(infoItem), Rect:iconRect, Type:infoItem.InfoType, TextRect:{X:item.XCenter, Y:iconTop}, IsShowNumber:bShowNumber };
|
|
36095
36100
|
mapImage.set(infoItem.InfoType,infoCache);
|
|
36096
36101
|
iconTop-=iconSize;
|
|
36097
36102
|
if (iconTop-iconSize<top ) drawTop=false;
|
|
36098
36103
|
}
|
|
36099
|
-
else
|
|
36104
|
+
else //上面显示不下,就显示在K线下面
|
|
36100
36105
|
{
|
|
36101
|
-
this.Canvas.fillText(icon.Text,item.XCenter,iconBottom,iconSize);
|
|
36102
36106
|
var iconRect=new Rect(item.XCenter-iconSize/2,iconBottom-iconSize,iconSize,iconSize);
|
|
36107
|
+
this.DrawInfoIcon(item, icon, iconRect);
|
|
36108
|
+
|
|
36103
36109
|
var infoCache={ Data:new Array(infoItem), Rect:iconRect, Type:infoItem.InfoType, TextRect:{X:item.XCenter, Y:iconBottom} , IsShowNumber:bShowNumber};
|
|
36104
36110
|
mapImage.set(infoItem.InfoType,infoCache);
|
|
36105
36111
|
iconBottom+=iconSize;
|
|
@@ -36139,6 +36145,18 @@ function ChartKLine()
|
|
|
36139
36145
|
this.ClipClient(isHScreen);
|
|
36140
36146
|
}
|
|
36141
36147
|
|
|
36148
|
+
this.DrawInfoIcon=function(item, iconItem, rtIcon)
|
|
36149
|
+
{
|
|
36150
|
+
if (iconItem.BGColor)
|
|
36151
|
+
{
|
|
36152
|
+
this.Canvas.fillStyle=iconItem.BGColor;
|
|
36153
|
+
this.Canvas.fillRect(rtIcon.X, rtIcon.Y, rtIcon.Width, rtIcon.Height);
|
|
36154
|
+
}
|
|
36155
|
+
|
|
36156
|
+
this.Canvas.fillStyle=iconItem.Color;
|
|
36157
|
+
this.Canvas.fillText(iconItem.Text,item.XCenter,rtIcon.Y+rtIcon.Height, rtIcon.Width);
|
|
36158
|
+
}
|
|
36159
|
+
|
|
36142
36160
|
//画交易图标
|
|
36143
36161
|
this.DrawTradeIcon=function()
|
|
36144
36162
|
{
|
|
@@ -94991,25 +95009,44 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
94991
95009
|
if (bUpdate==true) this.ReqeustKLineInfoData({ FunctionName:"SetKLineInfo" });
|
|
94992
95010
|
}
|
|
94993
95011
|
|
|
94994
|
-
|
|
94995
|
-
|
|
95012
|
+
|
|
95013
|
+
//option={ ClassName:, Name: }
|
|
95014
|
+
this.GetKLineInfo=function(option)
|
|
94996
95015
|
{
|
|
94997
|
-
|
|
94998
|
-
if (!
|
|
95016
|
+
if (!option) return null;
|
|
95017
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.ChartInfo)) return null;
|
|
95018
|
+
|
|
95019
|
+
var className=null;
|
|
95020
|
+
if (option.Name)
|
|
94999
95021
|
{
|
|
95000
|
-
|
|
95001
|
-
|
|
95022
|
+
var classInfo=JSKLineInfoMap.GetClassInfo(option.Name);
|
|
95023
|
+
if (classInfo) className=classInfo.ClassName;
|
|
95002
95024
|
}
|
|
95003
95025
|
|
|
95004
|
-
|
|
95026
|
+
if (!className) return null;
|
|
95027
|
+
|
|
95028
|
+
for(var i=0; i<this.ChartInfo.length; ++i)
|
|
95005
95029
|
{
|
|
95006
95030
|
var item=this.ChartInfo[i];
|
|
95007
|
-
if (item.ClassName==
|
|
95008
|
-
return;
|
|
95031
|
+
if (item.ClassName==className) //已经存在
|
|
95032
|
+
return item;
|
|
95009
95033
|
}
|
|
95010
95034
|
|
|
95035
|
+
return null;
|
|
95036
|
+
}
|
|
95037
|
+
|
|
95038
|
+
//添加信息地雷
|
|
95039
|
+
this.AddKLineInfo=function(infoName,bUpdate)
|
|
95040
|
+
{
|
|
95041
|
+
var item=this.GetKLineInfo({ Name:infoName });
|
|
95042
|
+
if (item) return;
|
|
95043
|
+
|
|
95011
95044
|
var infoItem=JSKLineInfoMap.Get(infoName);
|
|
95012
|
-
if (!infoItem)
|
|
95045
|
+
if (!infoItem)
|
|
95046
|
+
{
|
|
95047
|
+
console.warn(`[KLineChartContainer::AddKLineInfo] can't find infoName=${infoName}`);
|
|
95048
|
+
return;
|
|
95049
|
+
}
|
|
95013
95050
|
|
|
95014
95051
|
var item=infoItem.Create();
|
|
95015
95052
|
item.MaxRequestDataCount=this.MaxRequestDataCount;
|
|
@@ -95021,39 +95058,28 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
95021
95058
|
}
|
|
95022
95059
|
}
|
|
95023
95060
|
|
|
95024
|
-
|
|
95061
|
+
//更新信息地雷列表 Option :{ InsertNew:, 如果没有找到对应的地雷,是否插入新的地雷, Update:是否立即请求数据 }
|
|
95025
95062
|
this.UpdateKLineInfo=function(infoName, option)
|
|
95026
95063
|
{
|
|
95027
|
-
var classInfo=JSKLineInfoMap.GetClassInfo(infoName);
|
|
95028
|
-
if (!classInfo)
|
|
95029
|
-
{
|
|
95030
|
-
console.warn("[KLineChartContainer::UpdateKLineInfo] can't find infoname=", infoName);
|
|
95031
|
-
return;
|
|
95032
|
-
}
|
|
95033
|
-
|
|
95034
95064
|
var bInsertNew=false, bUpdate=false;
|
|
95035
95065
|
if (option)
|
|
95036
95066
|
{
|
|
95037
95067
|
if (IFrameSplitOperator.IsBoolean(option.InsertNew)) bInsertNew=option.InsertNew;
|
|
95038
95068
|
if (IFrameSplitOperator.IsBoolean(option.Update)) bUpdate=option.Update;
|
|
95039
95069
|
}
|
|
95040
|
-
var finder=null;
|
|
95041
|
-
for(var i=0;i<this.ChartInfo.length; ++i)
|
|
95042
|
-
{
|
|
95043
|
-
var item=this.ChartInfo[i];
|
|
95044
|
-
if (item.ClassName==classInfo.ClassName)
|
|
95045
|
-
{
|
|
95046
|
-
finder=item;
|
|
95047
|
-
break;
|
|
95048
|
-
}
|
|
95049
|
-
}
|
|
95050
95070
|
|
|
95071
|
+
var finder=this.GetKLineInfo({ Name:infoName });
|
|
95072
|
+
|
|
95051
95073
|
if (!finder)
|
|
95052
95074
|
{
|
|
95053
95075
|
if (bInsertNew===true)
|
|
95054
95076
|
{
|
|
95055
95077
|
var infoItem=JSKLineInfoMap.Get(infoName);
|
|
95056
|
-
if (!infoItem)
|
|
95078
|
+
if (!infoItem)
|
|
95079
|
+
{
|
|
95080
|
+
console.warn(`[KLineChartContainer::UpdateKLineInfo] can't find infoname=${infoName}`);
|
|
95081
|
+
return;
|
|
95082
|
+
}
|
|
95057
95083
|
|
|
95058
95084
|
var item=infoItem.Create();
|
|
95059
95085
|
item.MaxRequestDataCount=this.MaxRequestDataCount;
|
|
@@ -177301,7 +177327,7 @@ function ChartScrollText()
|
|
|
177301
177327
|
|
|
177302
177328
|
|
|
177303
177329
|
|
|
177304
|
-
var HQCHART_VERSION="1.1.
|
|
177330
|
+
var HQCHART_VERSION="1.1.15820";
|
|
177305
177331
|
|
|
177306
177332
|
function PrintHQChartVersion()
|
|
177307
177333
|
{
|