hqchart 1.1.13276 → 1.1.13278
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/umychart.vue.js
CHANGED
|
@@ -2001,7 +2001,10 @@ this.OnClickRightMenu=function(data){JSConsole.Chart.Log('[JSChartContainer::OnC
|
|
|
2001
2001
|
var aryArgs=data.Data.Args;//参数
|
|
2002
2002
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MENU_COMMAND);//回调通知外部
|
|
2003
2003
|
if(event&&event.Callback){var data={PreventDefault:false,CommandID:cmdID,Args:aryArgs,SrcData:data};event.Callback(event,data,this);if(data.PreventDefault)return;}this.ExecuteMenuCommand(cmdID,aryArgs);};this.PopupRightMenuV2=function(data,e){var _this15=this;if(!this.JSPopMenu)return;var x=data.X,y=data.Y;var frameID=data.FrameID;var menuData={Menu:this.GetRightMenuData(frameID),Position:JSPopMenu.POSITION_ID.RIGHT_MENU_ID};menuData.ClickCallback=function(data){_this15.OnClickRightMenu(data);};var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_RIGHT_MENU);if(event&&event.Callback){var sendData={MenuData:menuData,FrameID:frameID};event.Callback(event,sendData,this);}this.PopupMenuByRClick(menuData,x,y);};//指标窗口扩展图形
|
|
2004
|
-
this.CreateChartPaintExtend=function(chart,windowIndex){if(windowIndex<0)return false;var subFrame=this.Frame.SubFrame[windowIndex];if(!subFrame||!subFrame.Frame)return false;var frame=subFrame.Frame;chart.Canvas=this.Canvas;chart.ChartBorder=frame.ChartBorder;chart.ChartFrame=frame;this.ChartPaintEx.push(chart);return true;}
|
|
2004
|
+
this.CreateChartPaintExtend=function(chart,windowIndex){if(windowIndex<0)return false;var subFrame=this.Frame.SubFrame[windowIndex];if(!subFrame||!subFrame.Frame)return false;var frame=subFrame.Frame;chart.Canvas=this.Canvas;chart.ChartBorder=frame.ChartBorder;chart.ChartFrame=frame;this.ChartPaintEx.push(chart);return true;};//删除指标窗口扩展图形 option={ ChartID:图形ID, WindowIndex:窗口 }
|
|
2005
|
+
this.DeleteChartPaintExtend=function(option,bCallDestroy){if(!option)return;if(!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaintEx))return;if(IFrameSplitOperator.IsNumber(option.WindowIndex)){var windowIndex=option.WindowIndex;if(!this.Frame.SubFrame[windowIndex])return;var subFrame=this.Frame.SubFrame[windowIndex].Frame;if(!subFrame)return;var paint=[];//踢出当前窗口的指标画法
|
|
2006
|
+
var deleteCount=0;for(var i=0;i<this.ChartPaintEx.length;++i){var item=this.ChartPaintEx[i];var bFind=item.ChartFrame.Guid==subFrame.Guid||item.ChartFrame==subFrame;if(!bFind){paint.push(item);}else{++deleteCount;if(bCallDestroy===true){if(item&&item.OnDestroy)item.OnDestroy();//图形销毁
|
|
2007
|
+
}}}if(deleteCount>0)this.ChartPaintEx=paint;}};}function GetDevicePixelRatio(){if(typeof window=='undefined')return 1;return window.devicePixelRatio||1;}function GetFontHeight(context,font,word){if(!context)return null;if(font)context.font=font;var text='擎';if(IFrameSplitOperator.IsString(word))text=word;var fontInfo=context.measureText(text);var textHeight=fontInfo.fontBoundingBoxAscent+fontInfo.fontBoundingBoxDescent;if(!IFrameSplitOperator.IsNumber(textHeight))textHeight=fontInfo.width+2*GetDevicePixelRatio();return textHeight;}function IsPhoneWeb(){var userAgentInfo=navigator.userAgent;var Agents=new Array("Android","iPhone","SymbianOS","Windows Phone","iPad","iPod");for(var v=0;v<Agents.length;v++){if(userAgentInfo.indexOf(Agents[v])>0)return true;}return false;}function OnKeyDown(e)//键盘事件
|
|
2005
2008
|
{if(this.JSChartContainer&&this.JSChartContainer.OnKeyDown)this.JSChartContainer.OnKeyDown(e);}function OnWheel(e)//上下滚动事件
|
|
2006
2009
|
{if(this.JSChartContainer&&this.JSChartContainer.OnWheel)this.JSChartContainer.OnWheel(e);}function ToFixed(number,precision){var b=1;if(isNaN(number))return number;if(number<0)b=-1;var multiplier=Math.pow(10,precision);var value=Math.round(Math.abs(number)*multiplier)/multiplier*b;if(/^(\d+(?:\.\d+)?)(e)([\-]?\d+)$/.test(value))var s=value.toFixed2(precision);else var s=value.toString();var rs=s.indexOf('.');if(rs<0&&precision>0){rs=s.length;s+='.';}while(s.length<=rs+precision){s+='0';}return s;}Number.prototype.toFixed2=Number.prototype.toFixed;//备份下老的
|
|
2007
2010
|
Number.prototype.toFixed=function(precision){return ToFixed(this,precision);};function Guid(){function S4(){return((1+Math.random())*0x10000|0).toString(16).substring(1);}return"guid"+(S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());}function GetScrollPosition(){var scrollPos={};var scrollTop=0;var scrollLeft=0;if(document.documentElement&&(document.documentElement.scrollTop||document.documentElement.scrollLeft)){scrollTop=document.documentElement.scrollTop;scrollLeft=document.documentElement.scrollLeft;}else if(document.body){scrollTop=document.body.scrollTop;scrollLeft=document.body.scrollLeft;}scrollPos.Top=scrollTop;scrollPos.Left=scrollLeft;return scrollPos;}//修正线段有毛刺
|
|
@@ -7364,7 +7367,7 @@ this.ChangeCoordinateType=function(obj){if(!this.Frame)return;if(!IFrameSplitOpe
|
|
|
7364
7367
|
{frame.Frame.YSplitOperator.CoordinateType=2;}else{return;}}else{if(obj.Type>=0&&obj.Type<=5)frame.YSplitOperator.CoordinateType=obj.Type;if(obj.IsReverse===true)frame.CoordinateType=1;else if(obj.IsReverse==false)frame.CoordinateType=0;}//请求缓存的最大最小值
|
|
7365
7368
|
frame.YMaxMin.Max=null;frame.YMaxMin.Min=null;this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
7366
7369
|
this.Frame.SetSizeChage(true);this.Draw();};//设置指标窗口个数
|
|
7367
|
-
this.ChangeIndexWindowCount=function(count,option){var _this22=this;if(count<=0)return;if(this.Frame.SubFrame.length==count)return;this.Frame.RestoreIndexWindows();var currentLength=this.Frame.SubFrame.length;if(currentLength>count){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);for(var i=currentLength-1;i>=count;--i){this.DeleteIndexPaint(i);this.Frame.SubFrame[i].Frame.ClearToolbar();if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[i],WindowIndex:i};event.Callback(event,sendData,this);}}this.Frame.SubFrame.splice(count,currentLength-count);this.WindowIndex.splice(count,currentLength-count);this.TitlePaint.splice(count+1,currentLength-count);//最后一个显示X轴坐标
|
|
7370
|
+
this.ChangeIndexWindowCount=function(count,option){var _this22=this;if(count<=0)return;if(this.Frame.SubFrame.length==count)return;this.Frame.RestoreIndexWindows();var currentLength=this.Frame.SubFrame.length;if(currentLength>count){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);for(var i=currentLength-1;i>=count;--i){this.DeleteIndexPaint(i);this.DeleteChartPaintExtend({WindowIndex:i});this.Frame.SubFrame[i].Frame.ClearToolbar();if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[i],WindowIndex:i};event.Callback(event,sendData,this);}}this.Frame.SubFrame.splice(count,currentLength-count);this.WindowIndex.splice(count,currentLength-count);this.TitlePaint.splice(count+1,currentLength-count);//最后一个显示X轴坐标
|
|
7368
7371
|
for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i].Frame;if(i==this.Frame.SubFrame.length-1)item.XSplitOperator.ShowText=true;else item.XSplitOperator.ShowText=false;}this.Frame.SetSizeChage(true);this.ResetFrameXYSplit();this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
7369
7372
|
this.Draw();}else{//创建新的指标窗口
|
|
7370
7373
|
var pixelRatio=GetDevicePixelRatio();for(var i=currentLength;i<count;++i){var subFrame=this.CreateSubFrameItem(i);subFrame.Frame.ChartBorder.TitleHeight*=pixelRatio;this.Frame.SubFrame[i]=subFrame;var titlePaint=new DynamicChartTitlePainting();titlePaint.Frame=this.Frame.SubFrame[i].Frame;titlePaint.Canvas=this.Canvas;titlePaint.LanguageID=this.LanguageID;titlePaint.GetEventCallback=function(id){return _this22.GetEventCallback(id);};titlePaint.SelectedChart=this.SelectedChart;this.TitlePaint[i+1]=titlePaint;}//最后一个显示X轴坐标
|
|
@@ -7394,7 +7397,7 @@ var aryOverlayIndex=[];if(IFrameSplitOperator.IsNonEmptyArray(option.OverlayInde
|
|
|
7394
7397
|
{this.BindIndexData(i,bindData);}for(var i=0;i<aryOverlayIndex.length;++i){var item=aryOverlayIndex[i];this.BindOverlayIndexData(item.Overlay,item.WindowsIndex,bindData);}this.UpdataDataoffset();//更新数据偏移
|
|
7395
7398
|
this.ResetFrameXYSplit();this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
7396
7399
|
this.Draw();}else{if(!symbol)symbol=this.Symbol;var optionData={KLine:{}};if(IFrameSplitOperator.IsNumber(period))optionData.KLine.Period=period;if(IFrameSplitOperator.IsNumber(right))optionData.KLine.Right=right;this.ChangeSymbol(symbol,optionData);}};this.RemoveIndexWindow=function(id,option){JSConsole.Chart.Log('[KLineChartContainer::RemoveIndexWindow] remove id',id);if(id==0){if(option&&option.DeleteMainIndex)//删除指标
|
|
7397
|
-
{this.DeleteIndexPaint(id);this.WindowIndex[id]=null;this.Frame.SetSizeChage(true);this.UpdateFrameMaxMin();this.ResetFrameXYSplit();this.Draw();}return;}if(!this.Frame.SubFrame)return;if(id>=this.Frame.SubFrame.length)return;this.Frame.RestoreIndexWindows();var delFrame=this.Frame.SubFrame[id].Frame;this.DeleteIndexPaint(id);this.Frame.SubFrame[id].Frame.ClearToolbar();var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[id],WindowIndex:id};event.Callback(event,sendData,this);}this.Frame.SubFrame.splice(id,1);this.WindowIndex.splice(id,1);this.TitlePaint.splice(id+1,1);//删除对应的动态标题
|
|
7400
|
+
{this.DeleteIndexPaint(id);this.WindowIndex[id]=null;this.Frame.SetSizeChage(true);this.UpdateFrameMaxMin();this.ResetFrameXYSplit();this.Draw();}return;}if(!this.Frame.SubFrame)return;if(id>=this.Frame.SubFrame.length)return;this.Frame.RestoreIndexWindows();var delFrame=this.Frame.SubFrame[id].Frame;this.DeleteIndexPaint(id);this.DeleteChartPaintExtend({WindowIndex:id});this.Frame.SubFrame[id].Frame.ClearToolbar();var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[id],WindowIndex:id};event.Callback(event,sendData,this);}this.Frame.SubFrame.splice(id,1);this.WindowIndex.splice(id,1);this.TitlePaint.splice(id+1,1);//删除对应的动态标题
|
|
7398
7401
|
for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i].Frame;if(i==this.Frame.SubFrame.length-1)item.XSplitOperator.ShowText=true;else item.XSplitOperator.ShowText=false;item.Identify=i;}if(this.ChartDrawPicture.length>0){var aryDrawPicture=[];for(var i in this.ChartDrawPicture){var item=this.ChartDrawPicture[i];if(item.Frame==delFrame)continue;aryDrawPicture.push(item);}this.ChartDrawPicture=aryDrawPicture;}this.Frame.SetSizeChage(true);this.UpdateFrameMaxMin();this.ResetFrameXYSplit();this.Draw();};this.CreateExtendChart=function(name,option)//创建扩展图形
|
|
7399
7402
|
{var chart;switch(name){case'筹码分布':chart=new StockChip();chart.Canvas=this.Canvas;chart.ChartBorder=this.Frame.ChartBorder;chart.ChartFrame=this.Frame;chart.HQChart=this;chart.Left=this.Frame.ChartBorder.Right;//左边间距使用当前框架间距
|
|
7400
7403
|
chart.SetOption(option);this.ExtendChartPaint.push(chart);this.Frame.ChartBorder.Right+=chart.Width;//创建筹码需要增加右边的间距
|
|
@@ -7904,7 +7907,7 @@ this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
|
7904
7907
|
this.Draw();};this.ChangeIndex=function(windowIndex,indexName,option){if(this.Frame.SubFrame.length<3)return;if(option&&option.API)return this.ChangeAPIIndex(windowIndex,option);//查找系统指标
|
|
7905
7908
|
var scriptData=new JSIndexScript();var indexInfo=scriptData.Get(indexName);if(!indexInfo)return;if(windowIndex<2)windowIndex=2;if(windowIndex>=this.Frame.SubFrame.length)windowIndex=2;JSIndexScript.ModifyAttribute(indexInfo,option);return this.ChangeScriptIndex(windowIndex,indexInfo,option);};//设置指标窗口个数
|
|
7906
7909
|
this.ChangeIndexWindowCount=function(count){var _this32=this;if(count<2)return;//1,2个窗口固定的不能动
|
|
7907
|
-
if(this.Frame.SubFrame.length==count)return;var currentLength=this.Frame.SubFrame.length;if(currentLength>count){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);for(var i=currentLength-1;i>=count;--i){this.DeleteIndexPaint(i);var item=this.Frame.SubFrame[i].Frame;if(item.ClearToolbar)item.ClearToolbar();if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[i],WindowIndex:i};event.Callback(event,sendData,this);}}this.Frame.SubFrame.splice(count,currentLength-count);this.WindowIndex.splice(count,currentLength-count);this.TitlePaint.splice(count+1,currentLength-count);}else{//创建新的指标窗口
|
|
7910
|
+
if(this.Frame.SubFrame.length==count)return;var currentLength=this.Frame.SubFrame.length;if(currentLength>count){var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);for(var i=currentLength-1;i>=count;--i){this.DeleteIndexPaint(i);this.DeleteChartPaintExtend({WindowIndex:i});var item=this.Frame.SubFrame[i].Frame;if(item.ClearToolbar)item.ClearToolbar();if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[i],WindowIndex:i};event.Callback(event,sendData,this);}}this.Frame.SubFrame.splice(count,currentLength-count);this.WindowIndex.splice(count,currentLength-count);this.TitlePaint.splice(count+1,currentLength-count);}else{//创建新的指标窗口
|
|
7908
7911
|
var mainFrame=this.Frame.SubFrame[0].Frame;for(var i=currentLength;i<count;++i){var subFrame=this.CreateSubFrameItem(i,mainFrame);this.Frame.SubFrame[i]=subFrame;var titlePaint=new DynamicChartTitlePainting();titlePaint.Frame=this.Frame.SubFrame[i].Frame;titlePaint.Canvas=this.Canvas;titlePaint.LanguageID=this.LanguageID;titlePaint.GetEventCallback=function(id){return _this32.GetEventCallback(id);};titlePaint.SelectedChart=this.SelectedChart;this.TitlePaint[i+1]=titlePaint;}//创建指标
|
|
7909
7912
|
var indexName=["RSI","MACD","DMA","DMI","KDJ","WR"];var scriptData=new JSIndexScript();for(var i=currentLength;i<count;++i){var name=indexName[i%indexName.length];var indexInfo=scriptData.Get(name);this.WindowIndex[i]=new ScriptIndex(indexInfo.Name,indexInfo.Script,indexInfo.Args,indexInfo);//脚本执行
|
|
7910
7913
|
var bindData=this.SourceData;this.BindIndexData(i,bindData);//执行脚本
|
|
@@ -7925,7 +7928,7 @@ for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i].Fr
|
|
|
7925
7928
|
var aryOverlayIndex=[];if(IFrameSplitOperator.IsNonEmptyArray(option.OverlayIndex)){for(var i=0;i<option.OverlayIndex.length;++i){var item=option.OverlayIndex[i];if(item.Index)item.IndexName=item.Index;if(item.Windows>=0)item.WindowIndex=item.Windows;var overlay=this.CreateOverlayWindowsIndex(item);if(!overlay)continue;aryOverlayIndex.push({WindowsIndex:item.WindowIndex,Overlay:overlay});}}this.Frame.SetSizeChage(true);if(!bRefreshData){var bindData=this.SourceData;for(var i=0;i<count;++i){this.BindIndexData(i,bindData);//执行脚本
|
|
7926
7929
|
}for(var i=0;i<aryOverlayIndex.length;++i){var item=aryOverlayIndex[i];this.BindOverlayIndexData(item.Overlay,item.WindowsIndex,bindData);}this.UpdataDataoffset();//更新数据偏移
|
|
7927
7930
|
if(this.UpdateXShowText)this.UpdateXShowText();this.ResetFrameXYSplit();this.UpdateFrameMaxMin();//调整坐标最大 最小值
|
|
7928
|
-
this.Draw();}else{if(!symbol)symbol=this.Symbol;var option={};if(IFrameSplitOperator.IsNumber(dayCount))option.DayCount=dayCount;this.ChangeSymbol(symbol,option);}};this.RemoveIndexWindow=function(id){JSConsole.Chart.Log('[MinuteChartContainer::RemoveIndexWindow] remove id',id);if(id<2)return;if(!this.Frame.SubFrame)return;if(id>=this.Frame.SubFrame.length)return;this.Frame.RestoreIndexWindows();var delFrame=this.Frame.SubFrame[id].Frame;this.DeleteIndexPaint(id);this.Frame.SubFrame[id].Frame.ClearToolbar();var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[id],WindowIndex:id};event.Callback(event,sendData,this);}this.Frame.SubFrame.splice(id,1);this.WindowIndex.splice(id,1);this.TitlePaint.splice(id+1,1);//删除对应的动态标题
|
|
7931
|
+
this.Draw();}else{if(!symbol)symbol=this.Symbol;var option={};if(IFrameSplitOperator.IsNumber(dayCount))option.DayCount=dayCount;this.ChangeSymbol(symbol,option);}};this.RemoveIndexWindow=function(id){JSConsole.Chart.Log('[MinuteChartContainer::RemoveIndexWindow] remove id',id);if(id<2)return;if(!this.Frame.SubFrame)return;if(id>=this.Frame.SubFrame.length)return;this.Frame.RestoreIndexWindows();var delFrame=this.Frame.SubFrame[id].Frame;this.DeleteIndexPaint(id);this.DeleteChartPaintExtend({WindowIndex:id});this.Frame.SubFrame[id].Frame.ClearToolbar();var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);if(event&&event.Callback){var sendData={SubFrame:this.Frame.SubFrame[id],WindowIndex:id};event.Callback(event,sendData,this);}this.Frame.SubFrame.splice(id,1);this.WindowIndex.splice(id,1);this.TitlePaint.splice(id+1,1);//删除对应的动态标题
|
|
7929
7932
|
for(var i=0;i<this.Frame.SubFrame.length;++i){var item=this.Frame.SubFrame[i].Frame;if(i==this.Frame.SubFrame.length-1)item.XSplitOperator.ShowText=true;else item.XSplitOperator.ShowText=false;item.Identify=i;}/*
|
|
7930
7933
|
if (this.ChartDrawPicture.length>0)
|
|
7931
7934
|
{
|
|
@@ -13211,7 +13214,7 @@ hisData.Symbol=message.symbol;}var stockObj={HQDataType:HQ_DATA_TYPE.KLINE_ID,St
|
|
|
13211
13214
|
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);};}/********************************************************************************
|
|
13212
13215
|
* 版本信息输出
|
|
13213
13216
|
*
|
|
13214
|
-
*/var HQCHART_VERSION="1.1.
|
|
13217
|
+
*/var HQCHART_VERSION="1.1.13277";function PrintHQChartVersion(){var log='*************************************************************************************************************\n*\n* HQChart Ver: '+HQCHART_VERSION+' \n* \n* License: Apache License 2.0 \n* Source: https://github.com/jones2000/HQChart\n*\n*************************************************************************************************************\n';console.log(log);}PrintHQChartVersion();//把给外界调用的方法暴露出来
|
|
13215
13218
|
exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
|
|
13216
13219
|
// BaseIndex:BaseIndex,
|
|
13217
13220
|
// ChartLine:ChartLine,
|
package/package.json
CHANGED
package/src/jscommon/umychart.js
CHANGED
|
@@ -9489,6 +9489,44 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
9489
9489
|
|
|
9490
9490
|
return true;
|
|
9491
9491
|
}
|
|
9492
|
+
|
|
9493
|
+
//删除指标窗口扩展图形 option={ ChartID:图形ID, WindowIndex:窗口 }
|
|
9494
|
+
this.DeleteChartPaintExtend=function(option, bCallDestroy)
|
|
9495
|
+
{
|
|
9496
|
+
if (!option) return;
|
|
9497
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaintEx)) return;
|
|
9498
|
+
|
|
9499
|
+
if (IFrameSplitOperator.IsNumber(option.WindowIndex))
|
|
9500
|
+
{
|
|
9501
|
+
var windowIndex=option.WindowIndex;
|
|
9502
|
+
if (!this.Frame.SubFrame[windowIndex]) return;
|
|
9503
|
+
var subFrame=this.Frame.SubFrame[windowIndex].Frame;
|
|
9504
|
+
if (!subFrame) return;
|
|
9505
|
+
|
|
9506
|
+
var paint=[]; //踢出当前窗口的指标画法
|
|
9507
|
+
var deleteCount=0;
|
|
9508
|
+
for(var i=0;i<this.ChartPaintEx.length; ++i)
|
|
9509
|
+
{
|
|
9510
|
+
var item=this.ChartPaintEx[i];
|
|
9511
|
+
var bFind=(item.ChartFrame.Guid==subFrame.Guid || item.ChartFrame==subFrame);
|
|
9512
|
+
|
|
9513
|
+
if (!bFind)
|
|
9514
|
+
{
|
|
9515
|
+
paint.push(item);
|
|
9516
|
+
}
|
|
9517
|
+
else
|
|
9518
|
+
{
|
|
9519
|
+
++deleteCount;
|
|
9520
|
+
if (bCallDestroy===true)
|
|
9521
|
+
{
|
|
9522
|
+
if (item && item.OnDestroy) item.OnDestroy(); //图形销毁
|
|
9523
|
+
}
|
|
9524
|
+
}
|
|
9525
|
+
}
|
|
9526
|
+
|
|
9527
|
+
if (deleteCount>0) this.ChartPaintEx=paint;
|
|
9528
|
+
}
|
|
9529
|
+
}
|
|
9492
9530
|
}
|
|
9493
9531
|
|
|
9494
9532
|
function GetDevicePixelRatio()
|
|
@@ -71339,6 +71377,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
71339
71377
|
for(var i=currentLength-1;i>=count;--i)
|
|
71340
71378
|
{
|
|
71341
71379
|
this.DeleteIndexPaint(i);
|
|
71380
|
+
this.DeleteChartPaintExtend({WindowIndex:i});
|
|
71342
71381
|
this.Frame.SubFrame[i].Frame.ClearToolbar();
|
|
71343
71382
|
if (event && event.Callback)
|
|
71344
71383
|
{
|
|
@@ -71654,6 +71693,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
71654
71693
|
|
|
71655
71694
|
var delFrame=this.Frame.SubFrame[id].Frame;
|
|
71656
71695
|
this.DeleteIndexPaint(id);
|
|
71696
|
+
this.DeleteChartPaintExtend({WindowIndex:id});
|
|
71657
71697
|
this.Frame.SubFrame[id].Frame.ClearToolbar();
|
|
71658
71698
|
|
|
71659
71699
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);
|
|
@@ -77239,6 +77279,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
77239
77279
|
for(var i=currentLength-1;i>=count;--i)
|
|
77240
77280
|
{
|
|
77241
77281
|
this.DeleteIndexPaint(i);
|
|
77282
|
+
this.DeleteChartPaintExtend({WindowIndex:i});
|
|
77242
77283
|
var item=this.Frame.SubFrame[i].Frame;
|
|
77243
77284
|
if (item.ClearToolbar) item.ClearToolbar();
|
|
77244
77285
|
|
|
@@ -77478,6 +77519,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
77478
77519
|
|
|
77479
77520
|
var delFrame=this.Frame.SubFrame[id].Frame;
|
|
77480
77521
|
this.DeleteIndexPaint(id);
|
|
77522
|
+
this.DeleteChartPaintExtend({WindowIndex:id});
|
|
77481
77523
|
this.Frame.SubFrame[id].Frame.ClearToolbar();
|
|
77482
77524
|
|
|
77483
77525
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);
|
|
@@ -13381,6 +13381,44 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
13381
13381
|
|
|
13382
13382
|
return true;
|
|
13383
13383
|
}
|
|
13384
|
+
|
|
13385
|
+
//删除指标窗口扩展图形 option={ ChartID:图形ID, WindowIndex:窗口 }
|
|
13386
|
+
this.DeleteChartPaintExtend=function(option, bCallDestroy)
|
|
13387
|
+
{
|
|
13388
|
+
if (!option) return;
|
|
13389
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaintEx)) return;
|
|
13390
|
+
|
|
13391
|
+
if (IFrameSplitOperator.IsNumber(option.WindowIndex))
|
|
13392
|
+
{
|
|
13393
|
+
var windowIndex=option.WindowIndex;
|
|
13394
|
+
if (!this.Frame.SubFrame[windowIndex]) return;
|
|
13395
|
+
var subFrame=this.Frame.SubFrame[windowIndex].Frame;
|
|
13396
|
+
if (!subFrame) return;
|
|
13397
|
+
|
|
13398
|
+
var paint=[]; //踢出当前窗口的指标画法
|
|
13399
|
+
var deleteCount=0;
|
|
13400
|
+
for(var i=0;i<this.ChartPaintEx.length; ++i)
|
|
13401
|
+
{
|
|
13402
|
+
var item=this.ChartPaintEx[i];
|
|
13403
|
+
var bFind=(item.ChartFrame.Guid==subFrame.Guid || item.ChartFrame==subFrame);
|
|
13404
|
+
|
|
13405
|
+
if (!bFind)
|
|
13406
|
+
{
|
|
13407
|
+
paint.push(item);
|
|
13408
|
+
}
|
|
13409
|
+
else
|
|
13410
|
+
{
|
|
13411
|
+
++deleteCount;
|
|
13412
|
+
if (bCallDestroy===true)
|
|
13413
|
+
{
|
|
13414
|
+
if (item && item.OnDestroy) item.OnDestroy(); //图形销毁
|
|
13415
|
+
}
|
|
13416
|
+
}
|
|
13417
|
+
}
|
|
13418
|
+
|
|
13419
|
+
if (deleteCount>0) this.ChartPaintEx=paint;
|
|
13420
|
+
}
|
|
13421
|
+
}
|
|
13384
13422
|
}
|
|
13385
13423
|
|
|
13386
13424
|
function GetDevicePixelRatio()
|
|
@@ -75231,6 +75269,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
75231
75269
|
for(var i=currentLength-1;i>=count;--i)
|
|
75232
75270
|
{
|
|
75233
75271
|
this.DeleteIndexPaint(i);
|
|
75272
|
+
this.DeleteChartPaintExtend({WindowIndex:i});
|
|
75234
75273
|
this.Frame.SubFrame[i].Frame.ClearToolbar();
|
|
75235
75274
|
if (event && event.Callback)
|
|
75236
75275
|
{
|
|
@@ -75546,6 +75585,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
75546
75585
|
|
|
75547
75586
|
var delFrame=this.Frame.SubFrame[id].Frame;
|
|
75548
75587
|
this.DeleteIndexPaint(id);
|
|
75588
|
+
this.DeleteChartPaintExtend({WindowIndex:id});
|
|
75549
75589
|
this.Frame.SubFrame[id].Frame.ClearToolbar();
|
|
75550
75590
|
|
|
75551
75591
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);
|
|
@@ -81131,6 +81171,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
81131
81171
|
for(var i=currentLength-1;i>=count;--i)
|
|
81132
81172
|
{
|
|
81133
81173
|
this.DeleteIndexPaint(i);
|
|
81174
|
+
this.DeleteChartPaintExtend({WindowIndex:i});
|
|
81134
81175
|
var item=this.Frame.SubFrame[i].Frame;
|
|
81135
81176
|
if (item.ClearToolbar) item.ClearToolbar();
|
|
81136
81177
|
|
|
@@ -81370,6 +81411,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
81370
81411
|
|
|
81371
81412
|
var delFrame=this.Frame.SubFrame[id].Frame;
|
|
81372
81413
|
this.DeleteIndexPaint(id);
|
|
81414
|
+
this.DeleteChartPaintExtend({WindowIndex:id});
|
|
81373
81415
|
this.Frame.SubFrame[id].Frame.ClearToolbar();
|
|
81374
81416
|
|
|
81375
81417
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);
|
|
@@ -132158,7 +132200,7 @@ function ScrollBarBGChart()
|
|
|
132158
132200
|
|
|
132159
132201
|
|
|
132160
132202
|
|
|
132161
|
-
var HQCHART_VERSION="1.1.
|
|
132203
|
+
var HQCHART_VERSION="1.1.13277";
|
|
132162
132204
|
|
|
132163
132205
|
function PrintHQChartVersion()
|
|
132164
132206
|
{
|
|
@@ -13425,6 +13425,44 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
|
|
|
13425
13425
|
|
|
13426
13426
|
return true;
|
|
13427
13427
|
}
|
|
13428
|
+
|
|
13429
|
+
//删除指标窗口扩展图形 option={ ChartID:图形ID, WindowIndex:窗口 }
|
|
13430
|
+
this.DeleteChartPaintExtend=function(option, bCallDestroy)
|
|
13431
|
+
{
|
|
13432
|
+
if (!option) return;
|
|
13433
|
+
if (!IFrameSplitOperator.IsNonEmptyArray(this.ChartPaintEx)) return;
|
|
13434
|
+
|
|
13435
|
+
if (IFrameSplitOperator.IsNumber(option.WindowIndex))
|
|
13436
|
+
{
|
|
13437
|
+
var windowIndex=option.WindowIndex;
|
|
13438
|
+
if (!this.Frame.SubFrame[windowIndex]) return;
|
|
13439
|
+
var subFrame=this.Frame.SubFrame[windowIndex].Frame;
|
|
13440
|
+
if (!subFrame) return;
|
|
13441
|
+
|
|
13442
|
+
var paint=[]; //踢出当前窗口的指标画法
|
|
13443
|
+
var deleteCount=0;
|
|
13444
|
+
for(var i=0;i<this.ChartPaintEx.length; ++i)
|
|
13445
|
+
{
|
|
13446
|
+
var item=this.ChartPaintEx[i];
|
|
13447
|
+
var bFind=(item.ChartFrame.Guid==subFrame.Guid || item.ChartFrame==subFrame);
|
|
13448
|
+
|
|
13449
|
+
if (!bFind)
|
|
13450
|
+
{
|
|
13451
|
+
paint.push(item);
|
|
13452
|
+
}
|
|
13453
|
+
else
|
|
13454
|
+
{
|
|
13455
|
+
++deleteCount;
|
|
13456
|
+
if (bCallDestroy===true)
|
|
13457
|
+
{
|
|
13458
|
+
if (item && item.OnDestroy) item.OnDestroy(); //图形销毁
|
|
13459
|
+
}
|
|
13460
|
+
}
|
|
13461
|
+
}
|
|
13462
|
+
|
|
13463
|
+
if (deleteCount>0) this.ChartPaintEx=paint;
|
|
13464
|
+
}
|
|
13465
|
+
}
|
|
13428
13466
|
}
|
|
13429
13467
|
|
|
13430
13468
|
function GetDevicePixelRatio()
|
|
@@ -75275,6 +75313,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
75275
75313
|
for(var i=currentLength-1;i>=count;--i)
|
|
75276
75314
|
{
|
|
75277
75315
|
this.DeleteIndexPaint(i);
|
|
75316
|
+
this.DeleteChartPaintExtend({WindowIndex:i});
|
|
75278
75317
|
this.Frame.SubFrame[i].Frame.ClearToolbar();
|
|
75279
75318
|
if (event && event.Callback)
|
|
75280
75319
|
{
|
|
@@ -75590,6 +75629,7 @@ function KLineChartContainer(uielement,OffscreenElement, cacheElement)
|
|
|
75590
75629
|
|
|
75591
75630
|
var delFrame=this.Frame.SubFrame[id].Frame;
|
|
75592
75631
|
this.DeleteIndexPaint(id);
|
|
75632
|
+
this.DeleteChartPaintExtend({WindowIndex:id});
|
|
75593
75633
|
this.Frame.SubFrame[id].Frame.ClearToolbar();
|
|
75594
75634
|
|
|
75595
75635
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);
|
|
@@ -81175,6 +81215,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
81175
81215
|
for(var i=currentLength-1;i>=count;--i)
|
|
81176
81216
|
{
|
|
81177
81217
|
this.DeleteIndexPaint(i);
|
|
81218
|
+
this.DeleteChartPaintExtend({WindowIndex:i});
|
|
81178
81219
|
var item=this.Frame.SubFrame[i].Frame;
|
|
81179
81220
|
if (item.ClearToolbar) item.ClearToolbar();
|
|
81180
81221
|
|
|
@@ -81414,6 +81455,7 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
|
|
|
81414
81455
|
|
|
81415
81456
|
var delFrame=this.Frame.SubFrame[id].Frame;
|
|
81416
81457
|
this.DeleteIndexPaint(id);
|
|
81458
|
+
this.DeleteChartPaintExtend({WindowIndex:id});
|
|
81417
81459
|
this.Frame.SubFrame[id].Frame.ClearToolbar();
|
|
81418
81460
|
|
|
81419
81461
|
var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_DELETE_FRAME);
|
|
@@ -135588,7 +135630,7 @@ function HQChartScriptWorker()
|
|
|
135588
135630
|
|
|
135589
135631
|
|
|
135590
135632
|
|
|
135591
|
-
var HQCHART_VERSION="1.1.
|
|
135633
|
+
var HQCHART_VERSION="1.1.13277";
|
|
135592
135634
|
|
|
135593
135635
|
function PrintHQChartVersion()
|
|
135594
135636
|
{
|