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.
@@ -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;};}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)//键盘事件
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.13275";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();//把给外界调用的方法暴露出来
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.13276",
3
+ "version": "1.1.13278",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -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.13275";
132203
+ var HQCHART_VERSION="1.1.13277";
132162
132204
 
132163
132205
  function PrintHQChartVersion()
132164
132206
  {
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.13275";
8
+ var HQCHART_VERSION="1.1.13277";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {
@@ -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.13275";
135633
+ var HQCHART_VERSION="1.1.13277";
135592
135634
 
135593
135635
  function PrintHQChartVersion()
135594
135636
  {