hqchart 1.1.15455 → 1.1.15480

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.
@@ -1577,7 +1577,7 @@ JSChart.RegisterChartFrameClass=function(name,option){return g_ChartFrameFactory
1577
1577
  JSChart.RegisterDOMClass=function(name,option){return g_JSDOMFactory.Add(name,option);};//一些公共函数
1578
1578
  JSChart.ToFixedPoint=function(value){return ToFixedPoint(value);};JSChart.ToFixedPoint2=function(width,value){return ToFixedPoint2(width,value);};JSChart.ToFixedRect=function(value){return ToFixedRect(value);};JSChart.GetScrollPosition=function(){return GetScrollPosition();};//品种小数位数
1579
1579
  JSChart.GetfloatPrecision=function(symbol){return GetfloatPrecision(symbol);};//获取不带后缀的代码
1580
- JSChart.GetShortSymbol=function(symbol){if(!IFrameSplitOperator.IsString(symbol))return null;var pos=symbol.lastIndexOf(".");if(pos<=0)return symbol;return symbol.slice(0,pos);};var JSCHART_EVENT_ID={//RECV_KLINE_MATCH:1, //接收到形态匹配
1580
+ JSChart.GetShortSymbol=function(symbol){if(!IFrameSplitOperator.IsString(symbol))return null;var pos=symbol.lastIndexOf(".");if(pos<=0)return symbol;return symbol.slice(0,pos);};JSChart.CancelEvent=function(e){if(!e)return;if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();e.returnValue=false;};var JSCHART_EVENT_ID={//RECV_KLINE_MATCH:1, //接收到形态匹配
1581
1581
  RECV_INDEX_DATA:2,//接收指标数据
1582
1582
  RECV_HISTROY_DATA:3,//接收到历史数据
1583
1583
  RECV_TRAIN_MOVE_STEP:4,//接收K线训练,移动一次K线
@@ -1643,8 +1643,7 @@ ON_MOUSE_MOVE:64,//鼠标移动
1643
1643
  ON_MINUTE_PAGE_CHANGED:65,//分时图翻页事件
1644
1644
  ON_DRAG_SUB_SELECT_RECT:66,//拖拽区间选择子区域
1645
1645
  ON_DRAG_SUB_SELECT_RECT_MOUSEUP:67,//拖拽区间选择子区域鼠标松开
1646
- ON_KEYBOARD_SELECTED:68,//键盘精灵选中回车
1647
- ON_KEYBOARD_MOUSEUP:69,ON_CLICK_DRAWPICTURE_BUTTON:70,//画图工具按钮
1646
+ ON_CLICK_DRAWPICTURE_BUTTON:70,//画图工具按钮
1648
1647
  ON_FINISH_MOVE_DRAWPICTURE:71,//画图工具移动完成
1649
1648
  ON_CLICK_EXTENDCHART_BUTTON:72,ON_SCROLLBAR_SLIDER_CHANGED:73,//滚动条拖动
1650
1649
  ON_DISPLAY_LATEST:74,//显示最新数据
@@ -1717,7 +1716,10 @@ ON_CORSSCURSOR_STATUS_CHANGE:179,//十字光标状态改变
1717
1716
  ON_BEFORE_DRAW_HLINE:180,//画图工具-水平线(ChartDrawPictureHorizontalLine) 绘图前
1718
1717
  ON_HIDE_ALL_POP_DIV:181,//隐藏所有弹框div
1719
1718
  //工具条
1720
- ON_CLICK_STATUSBAR_ITEM:301};var JSCHART_OPERATOR_ID={OP_SCROLL_LEFT:1,//往左移动
1719
+ ON_CLICK_STATUSBAR_ITEM:301,ON_RCLICK_STATUSBAR_ITEM:302,//5档买卖
1720
+ ON_CLICK_STOCKINFO_ITEM:350,ON_RCLICK_STOCKINFO_ITEM:351,ON_KEYBOARD_SHOW:350,//显示键盘精灵
1721
+ ON_KEYBOARD_SELECTED:351,//键盘精灵选中回车
1722
+ ON_KEYBOARD_MOUSEUP:352};var JSCHART_OPERATOR_ID={OP_SCROLL_LEFT:1,//往左移动
1721
1723
  OP_SCROLL_RIGHT:2,//往右移动
1722
1724
  OP_ZOOM_OUT:3,//缩小
1723
1725
  OP_ZOOM_IN:4,//放大
@@ -3859,14 +3861,14 @@ else if(option.MinuteVolBar){valueType=2;//分时图柱子
3859
3861
  firstOpen=this.GetFirstOpen();}else if(option.StackedBar)valueType=5;//叠加柱子
3860
3862
  }for(var i=this.Data.DataOffset,j=0,k=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,++k,xOffset+=dataWidth+distanceWidth){var value=null;if(valueType==1)//K线收盘价
3861
3863
  {var kItem=this.Data.Data[i];if(kItem&&IFrameSplitOperator.IsNumber(kItem.Close))value=kItem.Close;}else if(valueType==2){var kItem=this.Data.Data[i];if(kItem&&IFrameSplitOperator.IsNumber(kItem.Vol))value=kItem.Vol;}else if(valueType==3){var minItem=this.Data.Data[i];var mainItem=this.MainData.Data[i];if(!minItem||!IFrameSplitOperator.IsNumber(minItem.Close)||!IFrameSplitOperator.IsNumber(minItem.YClose))continue;if(!mainItem||!IFrameSplitOperator.IsNumber(mainItem.Close)||!IFrameSplitOperator.IsNumber(mainItem.YClose))continue;var price=minItem.Close;var value=price/minItem.YClose*mainItem.YClose;}else if(valueType==4){var data=this.Data.Data[i];if(firstOverlayOpen==null)firstOverlayOpen=data.Open;value=data.Close/firstOverlayOpen*firstOpen;}else if(valueType==5){var bars=this.Data.Data[i];if(!IFrameSplitOperator.IsNonEmptyArray(bars))continue;var maxValue=0,minValue=0;for(var k=0;k<bars.length;++k){var barValue=bars[k];if(!IFrameSplitOperator.IsNumber(barValue))continue;if(barValue==0)continue;if(barValue>0)maxValue+=barValue;else if(barValue<0)minValue+=barValue;}value=(maxValue+minValue)/2;}else{value=this.Data.Data[i];}if(value==null)continue;if(k<pointSpace)continue;k=0;if(isMinute){var x=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var x=left+(right-left)/2;}var y=this.GetYFromData(value,false);if(x>chartright)break;this.Canvas.beginPath();this.Canvas.arc(x,y,radius,0,360,false);this.Canvas.closePath();if(this.SelectedBGColor)this.Canvas.fill();this.Canvas.stroke();}this.Canvas.restore();};//点是否在线段上
3862
- this.PtInLine=function(x,y,option){if(!this.IsShow||this.ChartFrame.IsMinSize)return;var bHScreen=this.ChartFrame.IsHScreen===true;if(bHScreen)return;var isMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;if(bHScreen){var border=this.ChartBorder.GetHScreenBorder();var chartright=border.BottomEx;var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;}else{var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}var lockRect=this.GetLockRect();if(lockRect){if(bHScreen)chartright=lockRect.Top;else chartright=lockRect.Left;}if(x<xOffset||x>chartright)return null;if(y>border.BottomEx||y<border.TopEx)return null;var ptStart={},ptEnd={};var valueType=0;if(option){if(option.KLineClose){valueType=1;//K线收盘价
3864
+ this.PtInLine=function(x,y,option){if(!this.IsShow||this.ChartFrame.IsMinSize)return;var bHScreen=this.ChartFrame.IsHScreen===true;if(bHScreen)return;if(!this.Data)return;var isMinute=this.IsMinuteFrame();var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var xPointCount=this.ChartFrame.XPointCount;if(bHScreen){var border=this.ChartBorder.GetHScreenBorder();var chartright=border.BottomEx;var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;}else{var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;}var lockRect=this.GetLockRect();if(lockRect){if(bHScreen)chartright=lockRect.Top;else chartright=lockRect.Left;}if(x<xOffset||x>chartright)return null;if(y>border.BottomEx||y<border.TopEx)return null;var ptStart={},ptEnd={};var valueType=0;if(option){if(option.KLineClose){valueType=1;//K线收盘价
3863
3865
  }else if(option.MinuteOverlayPrice)//走势图叠加线
3864
3866
  {if(option.OverlayType==1)valueType=1;//价格线
3865
3867
  else valueType=3;//百分比
3866
3868
  }}for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=null;if(valueType==1)//K线收盘价
3867
3869
  {var kItem=this.Data.Data[i];if(IFrameSplitOperator.IsNumber(kItem.Close))value=kItem.Close;}else if(valueType==3){var minItem=this.Data.Data[i];var mainItem=this.MainData.Data[i];if(!minItem||!IFrameSplitOperator.IsNumber(minItem.Close)||!IFrameSplitOperator.IsNumber(minItem.YClose))continue;if(!mainItem||!IFrameSplitOperator.IsNumber(mainItem.Close)||!IFrameSplitOperator.IsNumber(mainItem.YClose))continue;var price=minItem.Close;var value=price/minItem.YClose*mainItem.YClose;}else{value=this.Data.Data[i];}if(value==null)continue;if(isMinute){var xLine=this.ChartFrame.GetXFromIndex(j);}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;var xLine=left+(right-left)/2;}var yLine=this.GetYFromData(value,false);if(xLine<x){ptStart.X=xLine;ptStart.Y=yLine;}else if(xLine==x){ptStart.X=ptEnd.X=xLine;ptStart.Y=ptEnd.Y=yLine;break;}else{ptEnd.X=xLine;ptEnd.Y=yLine;break;}if(x>chartright)break;}if(!IFrameSplitOperator.IsNumber(ptStart.X)||!IFrameSplitOperator.IsNumber(ptStart.Y))return null;if(!IFrameSplitOperator.IsNumber(ptEnd.X)||!IFrameSplitOperator.IsNumber(ptEnd.Y))return null;if(x==ptStart.X&&y==ptStart.Y)return{Identify:this.Identify,Chart:this};if(x==ptEnd.X&&y==ptEnd.Y)return{Identify:this.Identify,Chart:this};var lineWidth=5;this.Canvas.beginPath();if(ptStart.X==ptEnd.X)//竖线
3868
3870
  {this.Canvas.moveTo(ptStart.X-lineWidth,ptStart.Y);this.Canvas.lineTo(ptStart.X+lineWidth,ptStart.Y);this.Canvas.lineTo(ptEnd.X+lineWidth,ptEnd.Y);this.Canvas.lineTo(ptEnd.X-lineWidth,ptEnd.Y);}else{this.Canvas.moveTo(ptStart.X,ptStart.Y+lineWidth);this.Canvas.lineTo(ptStart.X,ptStart.Y-lineWidth);this.Canvas.lineTo(ptEnd.X,ptEnd.Y-lineWidth);this.Canvas.lineTo(ptEnd.X,ptEnd.Y+lineWidth);}this.Canvas.closePath();if(this.Canvas.isPointInPath(x,y))return{Identify:this.Identify,Chart:this};return null;};//option={ BarWidth:柱子宽度(空为K线宽度) }
3869
- this.PtInBar=function(x,y,option){if(!this.IsShow||this.ChartFrame.IsMinSize)return null;var bHScreen=this.ChartFrame.IsHScreen===true;if(bHScreen)return null;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var xPointCount=this.ChartFrame.XPointCount;var lockRect=this.GetLockRect();if(lockRect)chartright=lockRect.Left;if(x<xOffset||x>chartright)return null;if(y>border.BottomEx||y<border.TopEx)return null;var isMinute=this.IsMinuteFrame();var yBottom=this.ChartFrame.GetYFromData(0);var barWidth=null;var isMinuteVolBar=false;var isStackedBar=false;var volUnit=1;//成交量单位
3871
+ this.PtInBar=function(x,y,option){if(!this.IsShow||this.ChartFrame.IsMinSize)return null;var bHScreen=this.ChartFrame.IsHScreen===true;if(bHScreen)return null;if(!this.Data)return null;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var xPointCount=this.ChartFrame.XPointCount;var lockRect=this.GetLockRect();if(lockRect)chartright=lockRect.Left;if(x<xOffset||x>chartright)return null;if(y>border.BottomEx||y<border.TopEx)return null;var isMinute=this.IsMinuteFrame();var yBottom=this.ChartFrame.GetYFromData(0);var barWidth=null;var isMinuteVolBar=false;var isStackedBar=false;var volUnit=1;//成交量单位
3870
3872
  if(option){if(option.BarWidth>0)barWidth=option.BarWidth;if(option.MinuteVolBar==true){isMinuteVolBar=true;barWidth=4;}else if(option.StackedBar==true){isStackedBar=true;}if(IFrameSplitOperator.IsNumber(option.VolUnit))volUnit=option.VolUnit;}for(var i=this.Data.DataOffset,j=0;i<this.Data.Data.length&&j<xPointCount;++i,++j,xOffset+=dataWidth+distanceWidth){var value=this.Data.Data[i];if(value==null)continue;if(isMinute){var xLine=this.ChartFrame.GetXFromIndex(j);var left=xLine-barWidth/2;var right=left+barWidth;}else{var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;}if(isMinuteVolBar){if(!IFrameSplitOperator.IsNumber(value.Vol))continue;var yBar=this.ChartFrame.GetYFromData(value.Vol/volUnit);var barTop=yBar,barBottom=yBottom;}else if(isStackedBar){var maxValue=0,minValue=0;if(!IFrameSplitOperator.IsNonEmptyArray(value))continue;for(var k=0;k<value.length;++k){var barValue=value[k];if(!IFrameSplitOperator.IsNumber(barValue))continue;if(barValue==0)continue;if(barValue>0)maxValue+=barValue;else if(barValue<0)minValue+=barValue;}var barTop=this.ChartFrame.GetYFromData(maxValue);var barBottom=this.ChartFrame.GetYFromData(minValue);}else{var yBar=this.ChartFrame.GetYFromData(value);var barTop=yBar,barBottom=yBottom;}if(barTop>barBottom){barTop=yBottom;barBottom=yBar;}var barLeft=left,barRight=right;if(barWidth>0){barLeft=left+(right-left)/2-barWidth/2;barRight=barLeft+barWidth;}if(x>=barLeft&&x<=barRight&&y>=barTop&&y<=barBottom)return{Identify:this.Identify,Chart:this};if(right>x)break;}return null;};this.PtInKBar=function(x,y,option){if(!this.IsShow||this.ChartFrame.IsMinSize)return null;var isHScreen=this.ChartFrame.IsHScreen===true;if(isHScreen)return null;var dataWidth=this.ChartFrame.DataWidth;var distanceWidth=this.ChartFrame.DistanceWidth;var border=this.ChartBorder.GetBorder();var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;var chartright=border.RightEx;var xPointCount=this.ChartFrame.XPointCount;if(!this.Data||!IFrameSplitOperator.IsNonEmptyArray(this.Data.Data))return null;if(isHScreen){var border=this.ChartBorder.GetHScreenBorder();xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;chartright=border.BottomEx;}if(x<xOffset||x>chartright)return null;if(y>border.BottomEx||y<border.TopEx)return null;var firstOverlayOpen=null;var kBarType=0;var firstOpen=null;if(option&&option.OverlayKLine){kBarType=1;//叠加K线
3871
3873
  firstOpen=this.GetFirstOpen();}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||data.Open==null||data.High==null||data.Low==null||data.Close==null)continue;if(firstOverlayOpen==null)firstOverlayOpen=data.Open;var left=xOffset;var right=xOffset+dataWidth;if(right>chartright)break;if(x>=left&&x<=right){if(kBarType==1){var yLow=this.GetYFromData(data.Low/firstOverlayOpen*firstOpen,false);var yHigh=this.GetYFromData(data.High/firstOverlayOpen*firstOpen,false);}else{var yLow=this.GetYFromData(data.Low,false);var yHigh=this.GetYFromData(data.High,false);}if(y<=yLow&&y>=yHigh)return{Identify:this.Identify,Chart:this};}if(right>x)break;}};this.IsShowIndexTitleOnly=function(){if(this.ChartFrame&&this.ChartFrame.ChartBorder&&this.ChartFrame.ChartBorder.IsShowTitleOnly)return true;return false;};//是否隐藏指标
3872
3874
  this.IsHideScriptIndex=function(){if(this.Script&&this.Script.IsShow==false)return true;return false;};//导出单数组数据
@@ -10226,7 +10228,8 @@ IsSHSZCustomIndex:function IsSHSZCustomIndex(upperSymbol){var pos=upperSymbol.le
10226
10228
  {if(upperSymbol.length==11&&upperSymbol[0]=='1')return true;}var pos=upperSymbol.length-this.SHO.length;var find=upperSymbol.indexOf(this.SHO);return find==pos;},IsSZO:function IsSZO(upperSymbol){if(this.IsSZ(upperSymbol))//90004047.sz
10227
10229
  {if(upperSymbol.length==11&&upperSymbol[0]=='9')return true;}var pos=upperSymbol.length-this.SZO.length;var find=upperSymbol.indexOf(this.SZO);return find==pos;},IsHK:function IsHK(upperSymbol){var pos=upperSymbol.length-this.HK.length;var find=upperSymbol.indexOf(this.HK);return find==pos;},IsTW:function IsTW(upperSymbol){var pos=upperSymbol.length-this.TW.length;var find=upperSymbol.indexOf(this.TW);return find==pos;},IsJP:function IsJP(upperSymbol){var pos=upperSymbol.length-this.JP.length;var find=upperSymbol.indexOf(this.JP);return find==pos;},IsSHFE:function IsSHFE(upperSymbol){if(!upperSymbol)return false;if(upperSymbol.indexOf(this.SHFE)>0)return true;if(upperSymbol.indexOf(this.SHFE2)>0)return true;return false;},IsCFFEX:function IsCFFEX(upperSymbol){if(!upperSymbol)return false;if(upperSymbol.indexOf(this.CFFEX)>0)return true;if(upperSymbol.indexOf(this.CFFEX2)>0)return true;var index=upperSymbol.indexOf(this.CFFEX3);//必须已.CF结尾
10228
10230
  if(index>0&&index+this.CFFEX3.length==upperSymbol.length)return true;return false;},IsDCE:function IsDCE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.DCE)>0;},IsCZCE:function IsCZCE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.CZCE)>0;},IsGZFE:function IsGZFE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.GZFE)>0;},IsINE:function IsINE(upperSymbol){if(!upperSymbol)return false;return upperSymbol.indexOf(this.INE)>0;},//是否包含某一个市场的
10229
- IsIncludes:function IsIncludes(symbol,arySuffix){if(!symbol)return false;if(!IFrameSplitOperator.IsNonEmptyArray(arySuffix))return false;var upperSymbol=symbol.toUpperCase();var bMatch=false;for(var i=0;i<arySuffix.length;++i){var item=arySuffix[i];switch(item){case this.SHFE:case this.SHFE2:if(this.IsSHFE(upperSymbol))bMatch=true;break;case this.CFFEX2:case this.CFFEX:case this.CFFEX3:if(this.IsCFFEX(upperSymbol))bMatch=true;break;case this.DCE:if(this.IsDCE(upperSymbol))bMatch=true;break;case this.CZCE:if(this.IsCZCE(upperSymbol))bMatch=true;break;case this.GZFE:if(this.IsGZFE(upperSymbol))bMatch=true;break;case this.INE:if(this.IsINE(upperSymbol))bMatch=true;break;}if(bMatch)return true;}return false;},IsChinaFutures:function IsChinaFutures(upperSymbol)//是否是国内期货 /期权
10231
+ IsIncludes:function IsIncludes(symbol,arySuffix){if(!symbol)return false;if(!IFrameSplitOperator.IsNonEmptyArray(arySuffix))return false;var upperSymbol=symbol.toUpperCase();var bMatch=false;for(var i=0;i<arySuffix.length;++i){var item=arySuffix[i];switch(item){case this.SHFE:case this.SHFE2:if(this.IsSHFE(upperSymbol))bMatch=true;break;case this.CFFEX2:case this.CFFEX:case this.CFFEX3:if(this.IsCFFEX(upperSymbol))bMatch=true;break;case this.DCE:if(this.IsDCE(upperSymbol))bMatch=true;break;case this.CZCE:if(this.IsCZCE(upperSymbol))bMatch=true;break;case this.GZFE:if(this.IsGZFE(upperSymbol))bMatch=true;break;case this.INE:if(this.IsINE(upperSymbol))bMatch=true;break;}if(bMatch)return true;}return false;},//是否包含前缀
10232
+ IsPrefixIncludes:function IsPrefixIncludes(symbol,aryPrefix){if(!symbol)return false;var shortSymbol=this.GetShortSymbol(symbol);if(!shortSymbol)return false;shortSymbol=shortSymbol.toUpperCase();for(var i=0;i<aryPrefix.length;++i){var strValue=aryPrefix[i];if(!strValue)continue;if(shortSymbol.search(strValue)===0)return true;}return false;},IsChinaFutures:function IsChinaFutures(upperSymbol)//是否是国内期货 /期权
10230
10233
  {if(!upperSymbol)return false;return this.IsSHO(upperSymbol)||this.IsSZO(upperSymbol)||this.IsGZFE(upperSymbol)||this.IsINE(upperSymbol)||this.IsCFFEX(upperSymbol)||this.IsCZCE(upperSymbol)||this.IsDCE(upperSymbol)||this.IsSHFE(upperSymbol);},IsFutures:function IsFutures(upperSymbol)//是否是期货 包含国外的
10231
10234
  {if(!upperSymbol)return false;return this.IsChinaFutures(upperSymbol)||this.IsNYMEX(upperSymbol)||this.IsCOMEX(upperSymbol)||this.IsNYBOT(upperSymbol)||this.IsCBOT(upperSymbol)||this.IsLME(upperSymbol)||this.IsTOCOM(upperSymbol);},IsSHSZ:function IsSHSZ(upperSymbol)//是否是沪深的股票
10232
10235
  {return this.IsSZ(upperSymbol)||this.IsSH(upperSymbol)||this.IsSHSZCustomIndex(upperSymbol);},IsSHSZETFOption:function IsSHSZETFOption(upperSymbol)//沪深ETF期权
@@ -10239,10 +10242,13 @@ IsIncludes:function IsIncludes(symbol,arySuffix){if(!symbol)return false;if(!IFr
10239
10242
  {if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(this.IsSH(upperSymbol)){var temp=upperSymbol.replace('.SH','');if(upperSymbol.charAt(0)=='6')return true;}else if(this.IsSZ(upperSymbol)){if(upperSymbol.charAt(0)=='0'){if(upperSymbol.charAt(1)=='0'&&upperSymbol.charAt(2)=='2')return true;//002 中小板
10240
10243
  if(upperSymbol.charAt(1)!='7'&&upperSymbol.charAt(1)!='8')return true;}else if(upperSymbol.charAt(0)=='3'){if(upperSymbol.charAt(1)=='0'){if(upperSymbol.charAt(2)=='0')return true;//创业板 300XXX.sz
10241
10244
  if(upperSymbol.charAt(2)=='1')return true;//创业板 301XXX.sz
10242
- }}}return false;},IsBJStock:function IsBJStock(symbol)//北交所股票
10243
- {if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!this.IsBJ(upperSymbol))return false;var value=upperSymbol.charAt(0);if(value=='4'||value=='8')return true;return false;},IsSHStockSTAR:function IsSHStockSTAR(symbol)// 是否是科创板 Sci-Tech innovAtion boaRd (STAR Market)
10244
- {if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!this.IsSH(upperSymbol))return false;if(upperSymbol.charAt(0)=='6'&&upperSymbol.charAt(1)=='8'&&upperSymbol.charAt(2)=='8')return true;return false;},IsSHGEM:function IsSHGEM(symbol)//创业板(growth enterprise market) 30开头
10245
- {if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!this.IsSH(upperSymbol))return false;if(upperSymbol.charAt(0)=='3'&&upperSymbol.charAt(1)=='0')return true;return false;},IsHKStock:function IsHKStock(symbol)//港股股票 全是数字
10245
+ }}}return false;},//北交所股票代码全面启用“920”开头的六位数编码规则(如 920XXX),已于 2025 年 10 月 9 日完成存量与增量股票的统一切换,标志着其与新三板代码的脱钩。
10246
+ // 新代码通常将原 43、83、87 开头的旧代码前三位变更为 920,后三位保持不变
10247
+ IsBJStock:function IsBJStock(symbol)//北交所股票
10248
+ {if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!this.IsBJ(upperSymbol))return false;if(upperSymbol.charAt(0)=='9'&&upperSymbol.charAt(1)=='2'&&upperSymbol.charAt(2)=='0')return true;return false;},IsBJIndex:function IsBJIndex(symbol)//北交所指数 北交所指数代码通常以“899”开头,采用6位数字序列
10249
+ {if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!this.IsBJ(upperSymbol))return false;if(upperSymbol.charAt(0)=='8'&&upperSymbol.charAt(1)=='9'&&upperSymbol.charAt(2)=='9')return true;return false;},IsSHStockSTAR:function IsSHStockSTAR(symbol)// 是否是科创板 Sci-Tech innovAtion boaRd (STAR Market)
10250
+ {if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!this.IsSH(upperSymbol))return false;if(upperSymbol.charAt(0)=='6'&&upperSymbol.charAt(1)=='8'&&upperSymbol.charAt(2)=='8')return true;return false;},IsSZGEM:function IsSZGEM(symbol)//创业板(growth enterprise market) 30开头
10251
+ {if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!this.IsSZ(upperSymbol))return false;if(upperSymbol.charAt(0)=='3'&&upperSymbol.charAt(1)=='0')return true;return false;},IsHKStock:function IsHKStock(symbol)//港股股票 全是数字
10246
10252
  {if(!symbol)return false;var upperSymbol=symbol.toUpperCase();if(!this.IsHK(upperSymbol))return false;var shortSymbol=this.GetShortSymbol(symbol);if(IFrameSplitOperator.IsNumberString(shortSymbol))return true;return false;},GetMarketStatus:function GetMarketStatus(symbol)//获取市场状态 0=闭市 1=盘前 2=盘中 3=盘后
10247
10253
  {if(!symbol)return 0;var upperSymbol=symbol.toUpperCase();var nowDate=new Date();var day=nowDate.getDay();var time=nowDate.getHours()*100+nowDate.getMinutes();if(this.IsUSA(upperSymbol)){var usaDate=GetLocalTime(-4);var day=usaDate.getDay();var time=usaDate.getHours()*100+usaDate.getMinutes();if(day==6||day==0)return 0;//周末
10248
10254
  //9:30 - 16:00 考虑夏令时间时间增加1小时 9:30 - 17:00
@@ -10267,7 +10273,7 @@ if(time>=830&&time<=1510)return 2;return 1;}else//9:30 - 15:40 (默认9:10-15:4
10267
10273
  {if(day==6||day==0)return 0;//周末
10268
10274
  if(time>1540)return 3;if(time<910)return 1;return 2;}},GetLimitPriceRange:function GetLimitPriceRange(symbol,name)//涨停范围
10269
10275
  {if(!this.IsSHSZStockA(symbol))return null;if(this.IsSHStockSTAR(symbol))return{Max:0.2,Min:-0.2};//科创板 [20% - -20%]
10270
- if(this.IsSHGEM(symbol))return{Max:0.2,Min:-0.2};//创业板 [20% - -20%]
10276
+ if(this.IsSZGEM(symbol))return{Max:0.2,Min:-0.2};//创业板 [20% - -20%]
10271
10277
  if(!name)return null;if(name.indexOf('ST')>=0)return{Max:0.05,Min:-0.05};//ST 股票 [5% - -5%]
10272
10278
  return{Max:0.1,Min:-0.1};//[10% - -10%]
10273
10279
  },GetDefaultDecimal:function GetDefaultDecimal(symbol)//默认小数位数
@@ -10487,7 +10493,7 @@ function FuturesTimeData(){this.TIME_SPLIT=[//ID=0 9:00-10:15,10:31-11:30,13:31-
10487
10493
  [{Value:931,Text:'9:30'},{Value:1030,Text:'10:30'},{Value:1301,Text:'13:00'},{Value:1400,Text:'14:00'},{Value:1500,Text:'15:00'}],Min://最小模式
10488
10494
  [{Value:931,Text:'9:30'},{Value:1301,Text:'13:00'},{Value:1500,Text:'15:00'}]}}];this.MAP_TWOWORDS=new _map2.default([//大连商品交易所
10489
10495
  [MARKET_SUFFIX_NAME.DCE+'-JD',{Time:0,Decimal:0,Name:"鸡蛋"}],[MARKET_SUFFIX_NAME.DCE+'-FB',{Time:0,Decimal:2,Name:"纤板"}],[MARKET_SUFFIX_NAME.DCE+'-BB',{Time:0,Decimal:2,Name:"胶板"}],[MARKET_SUFFIX_NAME.DCE+'-PP',{Time:6,Decimal:0,Name:"丙烯"}],[MARKET_SUFFIX_NAME.DCE+'-JM',{Time:6,Decimal:1,Name:'焦煤'}],[MARKET_SUFFIX_NAME.DCE+'-EG',{Time:6,Decimal:0,Name:'乙二醇'}],[MARKET_SUFFIX_NAME.DCE+'-EB',{Time:6,Decimal:0,Name:'苯乙烯'}],[MARKET_SUFFIX_NAME.DCE+'-CS',{Time:6,Decimal:0,Name:'淀粉'}],[MARKET_SUFFIX_NAME.DCE+'-PG',{Time:6,Decimal:0,Name:'液化气'}],[MARKET_SUFFIX_NAME.DCE+'-RR',{Time:6,Decimal:0,Name:'梗米'}],[MARKET_SUFFIX_NAME.DCE+'-LH',{Time:0,Decimal:0,Name:'生猪'}],//上期所
10490
- [MARKET_SUFFIX_NAME.SHFE+'-CU',{Time:4,Decimal:0,Name:"沪铜"}],[MARKET_SUFFIX_NAME.SHFE+'-AL',{Time:4,Decimal:0,Name:"沪铝"}],[MARKET_SUFFIX_NAME.SHFE+'-NI',{Time:4,Decimal:0,Name:"沪镍"}],[MARKET_SUFFIX_NAME.SHFE+'-SN',{Time:4,Decimal:0,Name:'沪锡'}],[MARKET_SUFFIX_NAME.SHFE+'-ZN',{Time:4,Decimal:0,Name:"沪锌"}],[MARKET_SUFFIX_NAME.SHFE+'-PB',{Time:4,Decimal:0,Name:'沪铅'}],[MARKET_SUFFIX_NAME.SHFE+'-RU',{Time:6,Decimal:0,Name:"天然橡胶"}],[MARKET_SUFFIX_NAME.SHFE+'-FU',{Time:6,Decimal:0,Name:"燃料油"}],[MARKET_SUFFIX_NAME.SHFE+'-RB',{Time:6,Decimal:0,Name:"螺纹钢"}],[MARKET_SUFFIX_NAME.SHFE+'-BU',{Time:6,Decimal:0,Name:'石油沥青'}],[MARKET_SUFFIX_NAME.SHFE+'-HC',{Time:6,Decimal:0,Name:"热轧卷板"}],[MARKET_SUFFIX_NAME.SHFE+'-SP',{Time:6,Decimal:0,Name:"纸浆"}],[MARKET_SUFFIX_NAME.SHFE+'-WR',{Time:0,Decimal:0,Name:"线材"}],[MARKET_SUFFIX_NAME.SHFE+'-AG',{Time:5,Decimal:0,Name:"白银"}],[MARKET_SUFFIX_NAME.SHFE+'-AU',{Time:5,Decimal:2,Name:"黄金"}],[MARKET_SUFFIX_NAME.SHFE+'-SS',{Time:4,Decimal:0,Name:'不锈钢'}],[MARKET_SUFFIX_NAME.SHFE+'-AO',{Time:4,Decimal:0,Name:'氧化铝'}],[MARKET_SUFFIX_NAME.SHFE+'-BR',{Time:6,Decimal:0,Name:'合成橡胶'}],[MARKET_SUFFIX_NAME.SHFE+'-AD',{Time:4,Decimal:0,Name:"铝合金"}],//上期所-能源
10496
+ [MARKET_SUFFIX_NAME.SHFE+'-CU',{Time:4,Decimal:0,Name:"沪铜"}],[MARKET_SUFFIX_NAME.SHFE+'-AL',{Time:4,Decimal:0,Name:"沪铝"}],[MARKET_SUFFIX_NAME.SHFE+'-NI',{Time:4,Decimal:0,Name:"沪镍"}],[MARKET_SUFFIX_NAME.SHFE+'-SN',{Time:4,Decimal:0,Name:'沪锡'}],[MARKET_SUFFIX_NAME.SHFE+'-ZN',{Time:4,Decimal:0,Name:"沪锌"}],[MARKET_SUFFIX_NAME.SHFE+'-PB',{Time:4,Decimal:0,Name:'沪铅'}],[MARKET_SUFFIX_NAME.SHFE+'-RU',{Time:6,Decimal:0,Name:"天然橡胶"}],[MARKET_SUFFIX_NAME.SHFE+'-FU',{Time:6,Decimal:0,Name:"燃料油"}],[MARKET_SUFFIX_NAME.SHFE+'-RB',{Time:6,Decimal:0,Name:"螺纹钢"}],[MARKET_SUFFIX_NAME.SHFE+'-BU',{Time:6,Decimal:0,Name:'石油沥青'}],[MARKET_SUFFIX_NAME.SHFE+'-HC',{Time:6,Decimal:0,Name:"热轧卷板"}],[MARKET_SUFFIX_NAME.SHFE+'-SP',{Time:6,Decimal:0,Name:"纸浆"}],[MARKET_SUFFIX_NAME.SHFE+'-WR',{Time:0,Decimal:0,Name:"线材"}],[MARKET_SUFFIX_NAME.SHFE+'-AG',{Time:5,Decimal:0,Name:"白银"}],[MARKET_SUFFIX_NAME.SHFE+'-AU',{Time:5,Decimal:2,Name:"黄金"}],[MARKET_SUFFIX_NAME.SHFE+'-SS',{Time:4,Decimal:0,Name:'不锈钢'}],[MARKET_SUFFIX_NAME.SHFE+'-AO',{Time:4,Decimal:0,Name:'氧化铝'}],[MARKET_SUFFIX_NAME.SHFE+'-BR',{Time:6,Decimal:0,Name:'合成橡胶'}],[MARKET_SUFFIX_NAME.SHFE+'-AD',{Time:4,Decimal:0,Name:"铝合金"}],[MARKET_SUFFIX_NAME.SHFE+'-OP',{Time:6,Decimal:0,Name:"胶版印刷纸"}],//上期所-能源
10491
10497
  [MARKET_SUFFIX_NAME.SHFE+'-NR',{Time:6,Decimal:1,Name:'20号胶'}],[MARKET_SUFFIX_NAME.SHFE+'-SC',{Time:5,Decimal:1,Name:'原油'}],[MARKET_SUFFIX_NAME.SHFE+'-LU',{Time:6,Decimal:0,Name:'低硫燃油'}],[MARKET_SUFFIX_NAME.SHFE+'-BC',{Time:4,Decimal:0,Name:'国际铜'}],[MARKET_SUFFIX_NAME.SHFE+'-EC',{Time:0,Decimal:0,Name:'集运指数'}],//上海国际能源交易中心 独立的一个市场
10492
10498
  [MARKET_SUFFIX_NAME.INE+'-NR',{Time:6,Decimal:1,Name:'20号胶'}],[MARKET_SUFFIX_NAME.INE+'-SC',{Time:5,Decimal:1,Name:'原油'}],[MARKET_SUFFIX_NAME.INE+'-LU',{Time:6,Decimal:0,Name:'低硫燃油'}],[MARKET_SUFFIX_NAME.INE+'-BC',{Time:4,Decimal:0,Name:'国际铜'}],[MARKET_SUFFIX_NAME.INE+'-EC',{Time:0,Decimal:0,Name:'集运指数'}],//郑州期货交易所
10493
10499
  [MARKET_SUFFIX_NAME.CZCE+'-CF',{Time:6,Decimal:0,Name:"棉花"}],[MARKET_SUFFIX_NAME.CZCE+'-SR',{Time:6,Decimal:0,Name:"白糖"}],[MARKET_SUFFIX_NAME.CZCE+'-MA',{Time:6,Decimal:0,Name:"甲醇"}],[MARKET_SUFFIX_NAME.CZCE+'-ZC',{Time:6,Decimal:1,Name:'动力煤'}],[MARKET_SUFFIX_NAME.CZCE+'-TA',{Time:6,Decimal:0,Name:"精对苯二甲酸(PTA)"}],[MARKET_SUFFIX_NAME.CZCE+'-RM',{Time:6,Decimal:0,Name:'菜籽粕'}],[MARKET_SUFFIX_NAME.CZCE+'-OI',{Time:6,Decimal:0,Name:"菜籽油"}],[MARKET_SUFFIX_NAME.CZCE+'-ME',{Time:3,Decimal:0,Name:"甲醇(老)"}],[MARKET_SUFFIX_NAME.CZCE+'-FG',{Time:6,Decimal:0,Name:'平板玻璃'}],[MARKET_SUFFIX_NAME.CZCE+'-WS',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-WT',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-GN',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-RO',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-RS',{Time:0,Decimal:0,Name:"菜籽"}],[MARKET_SUFFIX_NAME.CZCE+'-ER',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-RI',{Time:0,Decimal:0,Name:"早籼稻"}],[MARKET_SUFFIX_NAME.CZCE+'-WH',{Time:0,Decimal:0,Name:"强麦"}],[MARKET_SUFFIX_NAME.CZCE+'-AP',{Time:0,Decimal:0,Name:"苹果"}],[MARKET_SUFFIX_NAME.CZCE+'-PM',{Time:0,Decimal:0,Name:"普麦"}],[MARKET_SUFFIX_NAME.CZCE+'-QM',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-TC',{Time:0,Decimal:0}],[MARKET_SUFFIX_NAME.CZCE+'-JR',{Time:0,Decimal:0,Name:"粳稻"}],[MARKET_SUFFIX_NAME.CZCE+'-LR',{Time:0,Decimal:0,Name:"晚籼稻"}],[MARKET_SUFFIX_NAME.CZCE+'-SF',{Time:0,Decimal:0,Name:"硅铁"}],[MARKET_SUFFIX_NAME.CZCE+'-SM',{Time:0,Decimal:0,Name:"锰硅"}],[MARKET_SUFFIX_NAME.CZCE+'-CJ',{Time:0,Decimal:2,Name:"红枣"}],[MARKET_SUFFIX_NAME.CZCE+'-CY',{Time:6,Decimal:0,Name:"棉纱"}],[MARKET_SUFFIX_NAME.CZCE+'-UR',{Time:0,Decimal:0,Name:"尿素"}],[MARKET_SUFFIX_NAME.CZCE+'-SA',{Time:6,Decimal:0,Name:"纯碱"}],[MARKET_SUFFIX_NAME.CZCE+'-PF',{Time:6,Decimal:0,Name:"短纤"}],[MARKET_SUFFIX_NAME.CZCE+'-PK',{Time:0,Decimal:0,Name:"花生"}],[MARKET_SUFFIX_NAME.CZCE+'-PR',{Time:6,Decimal:0,Name:"瓶片"}],//中期所
@@ -10773,10 +10779,7 @@ this.TIME_SPLIT2=[//ID=0 09:00-07:00
10773
10779
  if(!symbol)return defaultfloatPrecision;var upperSymbol=symbol.toUpperCase();//全部由外部控制
10774
10780
  if(typeof MARKET_SUFFIX_NAME.GetCustomDecimal=='function')return MARKET_SUFFIX_NAME.GetCustomDecimal(upperSymbol);if(MARKET_SUFFIX_NAME.IsSHSZFund(upperSymbol))defaultfloatPrecision=3;//基金3位小数
10775
10781
  else if(MARKET_SUFFIX_NAME.IsSHO(upperSymbol)||MARKET_SUFFIX_NAME.IsSZO(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHODecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol))defaultfloatPrecision=g_FuturesTimeData.GetDecimal(upperSymbol);//期货小数位数读配置
10776
- else if(MARKET_SUFFIX_NAME.IsFHK(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetFHKDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsFTSE(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetFTSEDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsBIT(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetBITDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsET(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetETDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetForeignExchangeDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsNYMEX(upperSymbol))defaultfloatPrecision=g_NYMEXTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsCOMEX(upperSymbol))defaultfloatPrecision=g_COMEXTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsNYBOT(upperSymbol))defaultfloatPrecision=g_NYBOTTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsCBOT(upperSymbol))defaultfloatPrecision=g_CBOTTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsLME(upperSymbol))defaultfloatPrecision=g_LMETimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsTOCOM(upperSymbol))defaultfloatPrecision=g_TOCOMTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsIPE(upperSymbol))defaultfloatPrecision=g_IPETimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHK(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHKDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsTW(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetTWDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsJP(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetJPDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHSX(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHSXDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHNX(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHNXDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsUPCOM(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetUPCOMDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsSZ(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSZDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsSH(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsSHSZCustomIndex(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHSZCustomIndexDecimal(upperSymbol);else defaultfloatPrecision=MARKET_SUFFIX_NAME.GetDefaultDecimal(upperSymbol);return defaultfloatPrecision;}//把不连续的分时数据转成连续的分时数据
10777
- function GenerateMinuteStockJsonData(data){var stock={symbol:data.symbol,name:data.name,time:data.time,date:data.date,price:data.price,open:data.open,yclose:data.yclose,high:data.high,low:data.low,vol:data.vol,amount:data.amount,minute:[]};var mapMinute=new _map2.default();for(var i in data.minute){var item=data.minute[i];mapMinute.set(item.time,item);}var timeData=g_MinuteTimeStringData.GetTimeData(stock.symbol);for(var i in timeData)//根据交易时间产生数据
10778
- {var time=timeData[i];var minuteItem={time:time,vaild:false};if(mapMinute.has(time)){var find=mapMinute.get(time);minuteItem.vaild=true;minuteItem.price=find.price;minuteItem.open=find.open;minuteItem.high=find.high;minuteItem.low=find.low;minuteItem.avprice=find.avprice;minuteItem.vol=find.vol;minuteItem.amount=find.amount;if(IFrameSplitOperator.IsNumber(find.increase))minuteItem.increase=find.increase;if(IFrameSplitOperator.IsNumber(find.risefall))minuteItem.risefall=find.risefall;if(IFrameSplitOperator.IsNumber(find.position))minuteItem.position=find.position;}stock.minute.push(minuteItem);}var vaildCount=0;for(var i=stock.minute.length-1;i>=0;--i){vaildCount=i+1;var item=stock.minute[i];if(item.vaild==true)break;}stock.minute=stock.minute.slice(0,vaildCount);//去掉最后无用的数据
10779
- return stock;}function GetLocalTime(i)//得到标准时区的时间的函数
10782
+ else if(MARKET_SUFFIX_NAME.IsFHK(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetFHKDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsFTSE(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetFTSEDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsBIT(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetBITDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsET(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetETDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetForeignExchangeDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsNYMEX(upperSymbol))defaultfloatPrecision=g_NYMEXTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsCOMEX(upperSymbol))defaultfloatPrecision=g_COMEXTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsNYBOT(upperSymbol))defaultfloatPrecision=g_NYBOTTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsCBOT(upperSymbol))defaultfloatPrecision=g_CBOTTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsLME(upperSymbol))defaultfloatPrecision=g_LMETimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsTOCOM(upperSymbol))defaultfloatPrecision=g_TOCOMTimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsIPE(upperSymbol))defaultfloatPrecision=g_IPETimeData.GetDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHK(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHKDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsTW(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetTWDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsJP(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetJPDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHSX(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHSXDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsHNX(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetHNXDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsUPCOM(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetUPCOMDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsSZ(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSZDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsSH(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHDecimal(upperSymbol);else if(MARKET_SUFFIX_NAME.IsSHSZCustomIndex(upperSymbol))defaultfloatPrecision=MARKET_SUFFIX_NAME.GetSHSZCustomIndexDecimal(upperSymbol);else defaultfloatPrecision=MARKET_SUFFIX_NAME.GetDefaultDecimal(upperSymbol);return defaultfloatPrecision;}function GetLocalTime(i)//得到标准时区的时间的函数
10780
10783
  {if(typeof i!=='number')return;var d=new Date();//得到1970年一月一日到现在的秒数
10781
10784
  var len=d.getTime();//本地时间与GMT时间的时间偏移差
10782
10785
  var offset=d.getTimezoneOffset()*60000;//得到现在的格林尼治时间
@@ -10841,9 +10844,9 @@ NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1
10841
10844
  NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};var Character={FromCodePoint:function FromCodePoint(cp){return cp<0x10000?String.fromCharCode(cp):String.fromCharCode(0xD800+(cp-0x10000>>10))+String.fromCharCode(0xDC00+(cp-0x10000&1023));},//是否是空格 https://tc39.github.io/ecma262/#sec-white-space
10842
10845
  IsWhiteSpace:function IsWhiteSpace(cp){return cp===0x20||cp===0x09||cp===0x0B||cp===0x0C||cp===0xA0||cp>=0x1680&&[0x1680,0x2000,0x2001,0x2002,0x2003,0x2004,0x2005,0x2006,0x2007,0x2008,0x2009,0x200A,0x202F,0x205F,0x3000,0xFEFF].indexOf(cp)>=0;},//是否换行 https://tc39.github.io/ecma262/#sec-line-terminators
10843
10846
  IsLineTerminator:function IsLineTerminator(cp){return cp===0x0A||cp===0x0D||cp===0x2028||cp===0x2029;},// https://tc39.github.io/ecma262/#sec-names-and-keywords
10844
- IsIdentifierStart:function IsIdentifierStart(cp){return cp===0x24||cp===0x5F||cp>=0x41&&cp<=0x5A||cp>=0x61&&cp<=0x7A||cp===0x5C||//【】▲▼
10845
- cp===0x3010||cp===0x3011||cp===0x25B2||cp===0x25BC||cp>=0x80&&Regex.NonAsciiIdentifierStart.test(Character.FromCodePoint(cp));},IsIdentifierPart:function IsIdentifierPart(cp){return cp===0x24||cp===0x5F||cp>=0x41&&cp<=0x5A||cp>=0x61&&cp<=0x7A||cp>=0x30&&cp<=0x39||cp===0x5C||cp===0x23||//【】▲▼
10846
- cp===0x3010||cp===0x3011||cp===0x25B2||cp===0x25BC||cp>=0x80&&Regex.NonAsciiIdentifierPart.test(Character.FromCodePoint(cp));},// https://tc39.github.io/ecma262/#sec-literals-numeric-literals
10847
+ IsIdentifierStart:function IsIdentifierStart(cp){return cp===0x24||cp===0x5F||cp>=0x41&&cp<=0x5A||cp>=0x61&&cp<=0x7A||cp===0x5C||//【】▲▼ ↓↑←→
10848
+ cp===0x3010||cp===0x3011||cp===0x25B2||cp===0x25BC||cp>=0x2190&&cp<=0x2193||cp>=0x80&&Regex.NonAsciiIdentifierStart.test(Character.FromCodePoint(cp));},IsIdentifierPart:function IsIdentifierPart(cp){return cp===0x24||cp===0x5F||cp>=0x41&&cp<=0x5A||cp>=0x61&&cp<=0x7A||cp>=0x30&&cp<=0x39||cp===0x5C||cp===0x23||//【】▲▼ ↓↑←→
10849
+ cp===0x3010||cp===0x3011||cp===0x25B2||cp===0x25BC||cp>=0x2190&&cp<=0x2193||cp>=0x80&&Regex.NonAsciiIdentifierPart.test(Character.FromCodePoint(cp));},// https://tc39.github.io/ecma262/#sec-literals-numeric-literals
10847
10850
  IsDecimalDigit:function IsDecimalDigit(cp){return cp>=0x30&&cp<=0x39;// 0..9
10848
10851
  },IsHexDigit:function IsHexDigit(cp){return cp>=0x30&&cp<=0x39||cp>=0x41&&cp<=0x46||cp>=0x61&&cp<=0x66;// a..f
10849
10852
  },IsOctalDigit:function IsOctalDigit(cp){return cp>=0x30&&cp<=0x37;// 0..7
@@ -13921,9 +13924,9 @@ this.FloatTooltip;//提示浮框
13921
13924
  this.LastMouseStatus={MoveStatus:null,TooltipStatus:null,MouseOnStatus:null};this.RequestStatus={IsFinishStockList:false,IsFinishMemberList:false};//下载状态
13922
13925
  this.DataFilterConfig={Enable:false};//数据筛选
13923
13926
  this.ChartDestroy=function()//销毁
13924
- {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()//初始化弹出窗口
13927
+ {this.IsDestroy=true;this.StopAutoUpdate();this.DestroyMinuteChartTooltip();this.DestroyKLineChartTooltip();this.DestroyFloatTooltip();this.DestroyPopMenu();};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()//初始化弹出窗口
13925
13928
  {if(this.JSPopMenu)return;this.JSPopMenu=new JSPopMenu();//内置菜单
13926
- this.JSPopMenu.Inital();};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;};this.InitalKLineChartTooltip=function(option){if(this.TooltipKLineChart)return;this.TooltipKLineChart=new JSTooltipKLineChart();this.TooltipKLineChart.Inital(this,option);this.TooltipKLineChart.Create();};this.DestroyKLineChartTooltip=function(){if(!this.TooltipKLineChart)return;this.TooltipKLineChart.Destroy();this.TooltipKLineChart=null;};this.InitalFloatTooltip=function(option){if(this.FloatTooltip)return;this.FloatTooltip=new JSFloatTooltip();this.FloatTooltip.Inital(this,option);this.FloatTooltip.Create();};this.HideFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Hide();};this.DestroyFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Destroy();this.FloatTooltip=null;};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:3};this.FloatTooltip.Update(sendData);};//data={ Symbol }
13929
+ this.JSPopMenu.Inital();};this.DestroyPopMenu=function(){if(!this.JSPopMenu)return;this.JSPopMenu.Destroy();this.JSPopMenu=null;};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;};this.InitalKLineChartTooltip=function(option){if(this.TooltipKLineChart)return;this.TooltipKLineChart=new JSTooltipKLineChart();this.TooltipKLineChart.Inital(this,option);this.TooltipKLineChart.Create();};this.DestroyKLineChartTooltip=function(){if(!this.TooltipKLineChart)return;this.TooltipKLineChart.Destroy();this.TooltipKLineChart=null;};this.InitalFloatTooltip=function(option){if(this.FloatTooltip)return;this.FloatTooltip=new JSFloatTooltip();this.FloatTooltip.Inital(this,option);this.FloatTooltip.Create();};this.HideFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Hide();};this.DestroyFloatTooltip=function(){if(!this.FloatTooltip)return;this.FloatTooltip.Destroy();this.FloatTooltip=null;};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:3};this.FloatTooltip.Update(sendData);};//data={ Symbol }
13927
13930
  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.ShowKLineChartTooltip=function(x,y,data){if(!this.TooltipKLineChart)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.TooltipKLineChart.Show(data,x,y);};this.HideKLineChartTooltip=function(){if(!this.TooltipKLineChart)return;this.TooltipKLineChart.Hide();};this.HideAllTooltip=function(){this.HideKLineChartTooltip();this.HideMinuteChartTooltip();this.HideFloatTooltip();};this.AutoScrollPage=function(step){var _this64=this;this.AutoDragScrollTimer=setTimeout(function(){_this64.ChartOperator_Temp_ScrollPage(step);},300);};this.ChartOperator_Temp_ScrollPage=function(moveSetp){if(!this.EnablePageScroll)return;var reportChart=this.GetReportChart();if(!reportChart)return;if(moveSetp>0){var pageStatus=reportChart.GetCurrentPageStatus();if(pageStatus.IsEnd)return;this.MoveYOffset(moveSetp,false);++moveSetp;}else if(moveSetp<0){if(this.Data.YOffset<=0)return;this.MoveYOffset(moveSetp,false);--moveSetp;}else{return;}this.Draw();if(!this.EnablePageScroll)return;this.AutoScrollPage(moveSetp);return;};//清空画布
13928
13931
  this.ClearCanvas=function(canvas){if(!canvas)return;if(!this.UIElement)return;canvas.clearRect(0,0,this.UIElement.width,this.UIElement.height);};//清空固定行数据
13929
13932
  this.ClearFixedRowData=function(){this.FixedRowData.Data=[];this.FixedRowData.Symbol=[];};//设置固定行
@@ -14076,10 +14079,10 @@ if(IFrameSplitOperator.IsNumber(item[36]))stock.Date=item[36];//日期
14076
14079
  if(IFrameSplitOperator.IsBool(item[37]))stock.Checked=item[37];//1,3,5,10,15 涨速%
14077
14080
  if(IFrameSplitOperator.IsNumber(item[43]))stock.RSpeed1M=item[43];if(IFrameSplitOperator.IsNumber(item[44]))stock.RSpeed3M=item[44];if(IFrameSplitOperator.IsNumber(item[45]))stock.RSpeed5M=item[45];if(IFrameSplitOperator.IsNumber(item[46]))stock.RSpeed10M=item[46];if(IFrameSplitOperator.IsNumber(item[47]))stock.RSpeed15M=item[47];if(item[80]||item[80]===null)stock.BGColor=item[80];//整行背景色
14078
14081
  if(item[JSCHART_DATA_FIELD_ID.REPORT_EXTENDDATA])stock.ExtendDataV2=item[JSCHART_DATA_FIELD_ID.REPORT_EXTENDDATA];//扩展数据2
14079
- //10个数值型 101-199
14080
- if(IFrameSplitOperator.IsNumber(item[101]))stock.ReserveNumber1=item[101];if(IFrameSplitOperator.IsNumber(item[102]))stock.ReserveNumber2=item[102];if(IFrameSplitOperator.IsNumber(item[103]))stock.ReserveNumber3=item[103];if(IFrameSplitOperator.IsNumber(item[104]))stock.ReserveNumber4=item[104];if(IFrameSplitOperator.IsNumber(item[105]))stock.ReserveNumber5=item[105];if(IFrameSplitOperator.IsNumber(item[106]))stock.ReserveNumber6=item[106];if(IFrameSplitOperator.IsNumber(item[107]))stock.ReserveNumber7=item[107];if(IFrameSplitOperator.IsNumber(item[108]))stock.ReserveNumber8=item[108];if(IFrameSplitOperator.IsNumber(item[109]))stock.ReserveNumber9=item[109];if(IFrameSplitOperator.IsNumber(item[110]))stock.ReserveNumber10=item[110];if(IFrameSplitOperator.IsNumber(item[111]))stock.ReserveNumber11=item[111];if(IFrameSplitOperator.IsNumber(item[112]))stock.ReserveNumber12=item[112];if(IFrameSplitOperator.IsNumber(item[113]))stock.ReserveNumber13=item[113];if(IFrameSplitOperator.IsNumber(item[114]))stock.ReserveNumber14=item[114];if(IFrameSplitOperator.IsNumber(item[115]))stock.ReserveNumber15=item[115];if(IFrameSplitOperator.IsNumber(item[116]))stock.ReserveNumber16=item[116];if(IFrameSplitOperator.IsNumber(item[117]))stock.ReserveNumber17=item[117];if(IFrameSplitOperator.IsNumber(item[118]))stock.ReserveNumber18=item[118];if(IFrameSplitOperator.IsNumber(item[119]))stock.ReserveNumber19=item[119];if(IFrameSplitOperator.IsNumber(item[120]))stock.ReserveNumber20=item[120];//10个字符型 201-299
14081
- if(IFrameSplitOperator.IsString(item[201])||IFrameSplitOperator.IsObject(item[201]))stock.ReserveString1=item[201];if(IFrameSplitOperator.IsString(item[202])||IFrameSplitOperator.IsObject(item[202]))stock.ReserveString2=item[202];if(IFrameSplitOperator.IsString(item[203])||IFrameSplitOperator.IsObject(item[203]))stock.ReserveString3=item[203];if(IFrameSplitOperator.IsString(item[204])||IFrameSplitOperator.IsObject(item[204]))stock.ReserveString4=item[204];if(IFrameSplitOperator.IsString(item[205])||IFrameSplitOperator.IsObject(item[205]))stock.ReserveString5=item[205];if(IFrameSplitOperator.IsString(item[206])||IFrameSplitOperator.IsObject(item[206]))stock.ReserveString6=item[206];if(IFrameSplitOperator.IsString(item[207])||IFrameSplitOperator.IsObject(item[207]))stock.ReserveString7=item[207];if(IFrameSplitOperator.IsString(item[208])||IFrameSplitOperator.IsObject(item[208]))stock.ReserveString8=item[208];if(IFrameSplitOperator.IsString(item[209])||IFrameSplitOperator.IsObject(item[209]))stock.ReserveString9=item[209];if(IFrameSplitOperator.IsString(item[210])||IFrameSplitOperator.IsObject(item[210]))stock.ReserveString10=item[210];if(IFrameSplitOperator.IsString(item[211])||IFrameSplitOperator.IsObject(item[211]))stock.ReserveString11=item[211];if(IFrameSplitOperator.IsString(item[212])||IFrameSplitOperator.IsObject(item[212]))stock.ReserveString12=item[212];if(IFrameSplitOperator.IsString(item[213])||IFrameSplitOperator.IsObject(item[213]))stock.ReserveString13=item[213];if(IFrameSplitOperator.IsString(item[214])||IFrameSplitOperator.IsObject(item[214]))stock.ReserveString14=item[214];if(IFrameSplitOperator.IsString(item[215])||IFrameSplitOperator.IsObject(item[215]))stock.ReserveString15=item[215];if(IFrameSplitOperator.IsString(item[216])||IFrameSplitOperator.IsObject(item[216]))stock.ReserveString16=item[216];if(IFrameSplitOperator.IsString(item[217])||IFrameSplitOperator.IsObject(item[217]))stock.ReserveString17=item[217];if(IFrameSplitOperator.IsString(item[218])||IFrameSplitOperator.IsObject(item[218]))stock.ReserveString18=item[218];if(IFrameSplitOperator.IsString(item[219])||IFrameSplitOperator.IsObject(item[219]))stock.ReserveString19=item[219];if(IFrameSplitOperator.IsString(item[220])||IFrameSplitOperator.IsObject(item[220]))stock.ReserveString20=item[220];//10个进度条 301-350 { Value:, BGColor: }
14082
- if(IFrameSplitOperator.IsNumber(item[301])||IFrameSplitOperator.IsObject(item[301]))stock.ReserveProgressBar1=item[301];if(IFrameSplitOperator.IsNumber(item[302])||IFrameSplitOperator.IsObject(item[302]))stock.ReserveProgressBar2=item[302];if(IFrameSplitOperator.IsNumber(item[303])||IFrameSplitOperator.IsObject(item[303]))stock.ReserveProgressBar3=item[303];if(IFrameSplitOperator.IsNumber(item[304])||IFrameSplitOperator.IsObject(item[304]))stock.ReserveProgressBar4=item[304];if(IFrameSplitOperator.IsNumber(item[305])||IFrameSplitOperator.IsObject(item[305]))stock.ReserveProgressBar5=item[305];if(IFrameSplitOperator.IsNumber(item[306])||IFrameSplitOperator.IsObject(item[306]))stock.ReserveProgressBar6=item[306];if(IFrameSplitOperator.IsNumber(item[307])||IFrameSplitOperator.IsObject(item[307]))stock.ReserveProgressBar7=item[307];if(IFrameSplitOperator.IsNumber(item[308])||IFrameSplitOperator.IsObject(item[308]))stock.ReserveProgressBar8=item[308];if(IFrameSplitOperator.IsNumber(item[309])||IFrameSplitOperator.IsObject(item[309]))stock.ReserveProgressBar9=item[309];if(IFrameSplitOperator.IsNumber(item[310])||IFrameSplitOperator.IsObject(item[310]))stock.ReserveProgressBar10=item[310];//10个按钮 351-400 { Title, Enable:, BGColor, TextColor: }
14082
+ function __Temp_IsNumberOrObject(value){if(IFrameSplitOperator.IsNumber(value))return true;if(IFrameSplitOperator.IsObject(value))return true;return false;}function __Temp_IsStringOrObject(value){if(IFrameSplitOperator.IsString(value))return true;if(IFrameSplitOperator.IsObject(value))return true;return false;}//10个数值型 101-199
14083
+ if(__Temp_IsNumberOrObject(item[101]))stock.ReserveNumber1=item[101];if(__Temp_IsNumberOrObject(item[102]))stock.ReserveNumber2=item[102];if(__Temp_IsNumberOrObject(item[103]))stock.ReserveNumber3=item[103];if(__Temp_IsNumberOrObject(item[104]))stock.ReserveNumber4=item[104];if(__Temp_IsNumberOrObject(item[105]))stock.ReserveNumber5=item[105];if(__Temp_IsNumberOrObject(item[106]))stock.ReserveNumber6=item[106];if(__Temp_IsNumberOrObject(item[107]))stock.ReserveNumber7=item[107];if(__Temp_IsNumberOrObject(item[108]))stock.ReserveNumber8=item[108];if(__Temp_IsNumberOrObject(item[109]))stock.ReserveNumber9=item[109];if(__Temp_IsNumberOrObject(item[110]))stock.ReserveNumber10=item[110];if(__Temp_IsNumberOrObject(item[111]))stock.ReserveNumber11=item[111];if(__Temp_IsNumberOrObject(item[112]))stock.ReserveNumber12=item[112];if(__Temp_IsNumberOrObject(item[113]))stock.ReserveNumber13=item[113];if(__Temp_IsNumberOrObject(item[114]))stock.ReserveNumber14=item[114];if(__Temp_IsNumberOrObject(item[115]))stock.ReserveNumber15=item[115];if(__Temp_IsNumberOrObject(item[116]))stock.ReserveNumber16=item[116];if(__Temp_IsNumberOrObject(item[117]))stock.ReserveNumber17=item[117];if(__Temp_IsNumberOrObject(item[118]))stock.ReserveNumber18=item[118];if(__Temp_IsNumberOrObject(item[119]))stock.ReserveNumber19=item[119];if(__Temp_IsNumberOrObject(item[120]))stock.ReserveNumber20=item[120];//10个字符型 201-299
14084
+ if(__Temp_IsStringOrObject(item[201]))stock.ReserveString1=item[201];if(__Temp_IsStringOrObject(item[202]))stock.ReserveString2=item[202];if(__Temp_IsStringOrObject(item[203]))stock.ReserveString3=item[203];if(__Temp_IsStringOrObject(item[204]))stock.ReserveString4=item[204];if(__Temp_IsStringOrObject(item[205]))stock.ReserveString5=item[205];if(__Temp_IsStringOrObject(item[206]))stock.ReserveString6=item[206];if(__Temp_IsStringOrObject(item[207]))stock.ReserveString7=item[207];if(__Temp_IsStringOrObject(item[208]))stock.ReserveString8=item[208];if(__Temp_IsStringOrObject(item[209]))stock.ReserveString9=item[209];if(__Temp_IsStringOrObject(item[210]))stock.ReserveString10=item[210];if(__Temp_IsStringOrObject(item[211]))stock.ReserveString11=item[211];if(__Temp_IsStringOrObject(item[212]))stock.ReserveString12=item[212];if(__Temp_IsStringOrObject(item[213]))stock.ReserveString13=item[213];if(__Temp_IsStringOrObject(item[214]))stock.ReserveString14=item[214];if(__Temp_IsStringOrObject(item[215]))stock.ReserveString15=item[215];if(__Temp_IsStringOrObject(item[216]))stock.ReserveString16=item[216];if(__Temp_IsStringOrObject(item[217]))stock.ReserveString17=item[217];if(__Temp_IsStringOrObject(item[218]))stock.ReserveString18=item[218];if(__Temp_IsStringOrObject(item[219]))stock.ReserveString19=item[219];if(__Temp_IsStringOrObject(item[220]))stock.ReserveString20=item[220];//10个进度条 301-350 { Value:, BGColor: }
14085
+ if(__Temp_IsNumberOrObject(item[301]))stock.ReserveProgressBar1=item[301];if(__Temp_IsNumberOrObject(item[302]))stock.ReserveProgressBar2=item[302];if(__Temp_IsNumberOrObject(item[303]))stock.ReserveProgressBar3=item[303];if(__Temp_IsNumberOrObject(item[304]))stock.ReserveProgressBar4=item[304];if(__Temp_IsNumberOrObject(item[305]))stock.ReserveProgressBar5=item[305];if(__Temp_IsNumberOrObject(item[306]))stock.ReserveProgressBar6=item[306];if(__Temp_IsNumberOrObject(item[307]))stock.ReserveProgressBar7=item[307];if(__Temp_IsNumberOrObject(item[308]))stock.ReserveProgressBar8=item[308];if(__Temp_IsNumberOrObject(item[309]))stock.ReserveProgressBar9=item[309];if(__Temp_IsNumberOrObject(item[310]))stock.ReserveProgressBar10=item[310];//10个按钮 351-400 { Title, Enable:, BGColor, TextColor: }
14083
14086
  if(IFrameSplitOperator.IsObject(item[351]))stock.ReserveButton1=item[351];if(IFrameSplitOperator.IsObject(item[352]))stock.ReserveButton2=item[352];if(IFrameSplitOperator.IsObject(item[353]))stock.ReserveButton3=item[353];if(IFrameSplitOperator.IsObject(item[354]))stock.ReserveButton4=item[354];if(IFrameSplitOperator.IsObject(item[355]))stock.ReserveButton5=item[355];if(IFrameSplitOperator.IsObject(item[356]))stock.ReserveButton6=item[356];if(IFrameSplitOperator.IsObject(item[357]))stock.ReserveButton7=item[357];if(IFrameSplitOperator.IsObject(item[358]))stock.ReserveButton8=item[358];if(IFrameSplitOperator.IsObject(item[359]))stock.ReserveButton9=item[359];if(IFrameSplitOperator.IsObject(item[360]))stock.ReserveButton10=item[360];//10个日期时间类型 401-499 { Value:Date, BGColor }
14084
14087
  if(IFrameSplitOperator.IsObject(item[401]))stock.ReserveDateTime1=item[401];if(IFrameSplitOperator.IsObject(item[402]))stock.ReserveDateTime2=item[402];if(IFrameSplitOperator.IsObject(item[403]))stock.ReserveDateTime3=item[403];if(IFrameSplitOperator.IsObject(item[404]))stock.ReserveDateTime4=item[404];if(IFrameSplitOperator.IsObject(item[405]))stock.ReserveDateTime5=item[405];if(IFrameSplitOperator.IsObject(item[406]))stock.ReserveDateTime6=item[406];if(IFrameSplitOperator.IsObject(item[407]))stock.ReserveDateTime7=item[407];if(IFrameSplitOperator.IsObject(item[408]))stock.ReserveDateTime8=item[408];if(IFrameSplitOperator.IsObject(item[409]))stock.ReserveDateTime9=item[409];if(IFrameSplitOperator.IsObject(item[410]))stock.ReserveDateTime10=item[410];};this.GetSymbolNoSuffix=function(symbol){var index=symbol.lastIndexOf(".");if(index>0)return symbol.substring(0,index);else return symbol;};this.CancelAutoUpdate=function()//关闭停止更新
14085
14088
  {if(typeof this.AutoUpdateTimer=='number'){clearTimeout(this.AutoUpdateTimer);this.AutoUpdateTimer=null;}};this.AutoUpdate=function(waitTime)//waitTime 更新时间
@@ -14447,7 +14450,7 @@ if(!drawInfo.Tooltip){drawInfo.Tooltip={Type:1,Data:{AryText:[{Text:drawInfo.Tex
14447
14450
  switch(column.FormatType){case 1:drawInfo.Text=value.toFixed(column.Decimal);break;case 2:drawInfo.Text=IFrameSplitOperator.FormatValueThousandsString(value,column.Decimal);break;case 3:drawInfo.Text=this.FormatVolString(value);break;default:drawInfo.Text=IFrameSplitOperator.FormatValueString(value,column.Decimal);break;}//颜色
14448
14451
  switch(column.ColorType){case 1:drawInfo.TextColor=this.GetUpDownColor(value,0);break;case 2:if(!IFrameSplitOperator.IsNumber(data.Stock.YClose))drawInfo.TextColor=this.UnchagneColor;else drawInfo.TextColor=this.GetUpDownColor(value,data.Stock.YClose);break;default:break;}};this.GetCustomDateTimeDrawInfo=function(data,column,drawInfo){var value=this.GetExtendData(data,column);if(!IFrameSplitOperator.IsNumber(value))return;if(column.ValueType==0){if(column.FormatType==1)drawInfo.Text=IFrameSplitOperator.FormatDateString(value,"YYYY/MM/DD");else drawInfo.Text=IFrameSplitOperator.FormatDateString(value);}};this.GetCustomIconDrawInfo=function(data,column,drawInfo){if(column.IsDrawCallback)//外部处理输出格式
14449
14452
  {this.GetCustomIconData(column,data.Symbol,drawInfo,data);return;}};this.GetCustomCheckBoxDrawInfo=function(data,column,drawInfo){var checkData=this.GetExtendData(data,column);if(!checkData)return;if(!IFrameSplitOperator.IsBool(checkData.Checked))return;drawInfo.Checked=checkData.Checked;drawInfo.Enable=true;drawInfo.Data=checkData;if(IFrameSplitOperator.IsBool(checkData.DisableCheckBox))drawInfo.Enable=!checkData.DisableCheckBox;drawInfo.CheckBox=column.CheckBox;};this.GetCustomButtonDrawInfo=function(data,column,drawInfo){var buttonData=this.GetExtendData(data,column);if(!buttonData)return;drawInfo.Text=buttonData.Title;drawInfo.Button=column.Button;drawInfo.Font=column.Button.Font;drawInfo.Enable=true;drawInfo.Data=buttonData;if(IFrameSplitOperator.IsBool(buttonData.Enable))drawInfo.Enable=buttonData.Enable;};this.GetCustomProgressBarDrawInfo=function(data,column,drawInfo){var barData=this.GetExtendData(data,column);if(!barData)return;drawInfo.Text=barData.Title;drawInfo.ProgressBar=column.ProgressBar;drawInfo.Enable=true;drawInfo.Value=barData.Value;//占比
14450
- drawInfo.Data=barData;if(IFrameSplitOperator.IsBool(barData.Enable))drawInfo.Enable=barData.Enable;if(barData.TextColor)drawInfo.TextColor=barData.TextColor;if(barData.BarColor)drawInfo.BarColor=barData.BarColor;if(barData.BGColor)drawInfo.BGColor=barData.BGColor;};this.GetCustomLinkDrawInfo=function(data,column,drawInfo){var linkData=this.GetExtendData(data,column);if(!linkData)return;drawInfo.Text=linkData.Title;drawInfo.Link=column.Link;drawInfo.Enable=true;drawInfo.Data=linkData;drawInfo.MaxText=column.MaxText;if(IFrameSplitOperator.IsBool(linkData.Enable))drawInfo.Enable=linkData.Enable;if(linkData.TextColor)drawInfo.TextColor=linkData.TextColor;};this.FormatReserveNumber=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_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);}else if(column.ColorType==3){drawInfo.TextColor=this.GetUpDownColor(value,data.YClose);}}var text=value.toFixed(column.FloatPrecision);if(column.Format&&IFrameSplitOperator.IsNumber(column.Format.Type)){var format=column.Format;switch(format.Type){case 1://原始数据
14453
+ drawInfo.Data=barData;if(IFrameSplitOperator.IsBool(barData.Enable))drawInfo.Enable=barData.Enable;if(barData.TextColor)drawInfo.TextColor=barData.TextColor;if(barData.BarColor)drawInfo.BarColor=barData.BarColor;if(barData.BGColor)drawInfo.BGColor=barData.BGColor;};this.GetCustomLinkDrawInfo=function(data,column,drawInfo){var linkData=this.GetExtendData(data,column);if(!linkData)return;drawInfo.Text=linkData.Title;drawInfo.Link=column.Link;drawInfo.Enable=true;drawInfo.Data=linkData;drawInfo.MaxText=column.MaxText;if(IFrameSplitOperator.IsBool(linkData.Enable))drawInfo.Enable=linkData.Enable;if(linkData.TextColor)drawInfo.TextColor=linkData.TextColor;};this.FormatReserveNumber=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var value=data[fieldName];var compareValue=null;if(IFrameSplitOperator.IsObject(data[fieldName])){var item=data[fieldName];if(IFrameSplitOperator.IsNumber(item.Value))value=item.Value;if(IFrameSplitOperator.IsNumber(item.CompareValue))compareValue=item.CompareValue;}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);}else if(column.ColorType==3){drawInfo.TextColor=this.GetUpDownColor(value,data.YClose);}else if(column.ColorType==4){if(IFrameSplitOperator.IsNumber(compareValue))drawInfo.TextColor=this.GetUpDownColor(value,compareValue);}}var text=value.toFixed(column.FloatPrecision);if(column.Format&&IFrameSplitOperator.IsNumber(column.Format.Type)){var format=column.Format;switch(format.Type){case 1://原始数据
14451
14454
  text=value.toFixed(column.FloatPrecision);break;case 2://千分位分割
14452
14455
  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;}}if(column.StringFormat&&text){text=column.StringFormat.replace("{0}",text);}drawInfo.Text=text;};this.FormatReserveString=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_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;if(IFrameSplitOperator.IsNonEmptyArray(item.AryText))drawInfo.AryText=item.AryText;if(item.Tooltip&&IFrameSplitOperator.IsNonEmptyArray(item.Tooltip.AryText)){drawInfo.Tooltip={Type:4,Data:{AryText:item.Tooltip.AryText,EnableCallback:item.Tooltip.EnableCallback}};}}else if(IFrameSplitOperator.IsString(item)){drawInfo.Text=item;}};this.GetReserveDateTimePreItem=function(colIndex){if(!this.CreateTempCache)return null;if(!this.TempCache.MapReserveDateTime)return null;var mapData=this.TempCache.MapReserveDateTime;if(!mapData.has(colIndex))return null;return mapData.get(colIndex);};this.SetReserveDateTimePreItem=function(colIndex,data){if(!this.CreateTempCache)return false;if(!this.TempCache.MapReserveDateTime)return false;var mapData=this.TempCache.MapReserveDateTime;if(mapData.has(colIndex)){var item=mapData.get(colIndex);item.PreItem.Date=data.Date;}else{mapData.set(colIndex,{PreItem:{Date:data.Date}});}return true;};this.FormatReserveDateTime=function(column,data,drawInfo){if(column.DefaultText)drawInfo.Text=column.DefaultText;var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(!IFrameSplitOperator.IsObject(item))return;var cacheItem=this.GetReserveDateTimePreItem(drawInfo.ColumnIndex);if(item.DateTime){var date=item.DateTime.getFullYear()*10000+(item.DateTime.getMonth()+1)*100+item.DateTime.getDate();var format=column.DateTimeFormat;if(cacheItem&&cacheItem.PreItem&&date==cacheItem.PreItem.Date){if(column.SubDateTimeFormat)format=column.SubDateTimeFormat;}else{this.SetReserveDateTimePreItem(drawInfo.ColumnIndex,{Date:date});}drawInfo.Text=IFrameSplitOperator.FormatDateTimeStringV2(item.DateTime,format);}if(item.TextColor)drawInfo.TextColor=item.TextColor;if(item.BGColor)drawInfo.BGColor=item.BGColor;};this.FormatReserveProgressBar=function(column,data,drawInfo){var fieldName=MAP_COLUMN_FIELD.get(column.Type);if(!data||!fieldName)return;var item=data[fieldName];if(IFrameSplitOperator.IsNumber(item)){drawInfo.ProgressBar=column.ProgressBar;drawInfo.Enable=true;drawInfo.Value=item;//占比
14453
14456
  drawInfo.Data={Value:item};}else if(IFrameSplitOperator.IsObject(item)){if(item.Title)drawInfo.Text=item.Title;drawInfo.ProgressBar=column.ProgressBar;drawInfo.Enable=true;drawInfo.Value=item.Value;//占比
@@ -15384,7 +15387,7 @@ this.DeleteAllChart=function(){if(!this.HQChart)return;this.HQChart.ClearChartDr
15384
15387
  LineWidth:this.LineWidth,//线段宽度
15385
15388
  PointColor:this.LineColor//点颜色
15386
15389
  };var name=data.Item.Data.ID;if(["icon-arrow_up","icon-arrow_down","icon-arrow_left","icon-arrow_right"].includes(name))option=null;else if(name=="InfoLine")option.FormatLabelTextCallback=function(lableInfo){_this93.ChartInfoLine_FormatLabelText(lableInfo);};else if(name=="MonitorLine")option.FormatLabelTextCallback=function(lableInfo){_this93.ChartDrawMonitorLine_FormatLabelText(lableInfo);};this.HQChart.CreateChartDrawPicture(name,option,function(chart){_this93.OnFinishDrawPicture(chart,data);});};this.ClearCurrnetDrawPicture=function(){if(this.HQChart)this.HQChart.ClearCurrnetDrawPicture();};//画图工具绘制完成
15387
- this.OnFinishDrawPicture=function(chart,data){data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");};this.Show=function(x,y){if(!this.DivDialog)return;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Close=function(e){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.OnMouseDownTitle=function(e){var _this94=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this94.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this94.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};this.ChartInfoLine_FormatLabelText=function(labelInfo){if(!IFrameSplitOperator.IsNonEmptyArray(labelInfo.AryValue))return;if(!labelInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(labelInfo.Data.Data))return;for(var i=0;i<labelInfo.AryValue.length;++i){var item=labelInfo.AryValue[i];if(!IFrameSplitOperator.IsNumber(item.XValue)||item.XValue<0)return;}var startIndex=labelInfo.AryValue[0].XValue;var endIndex=labelInfo.AryValue[1].XValue;var startItem=labelInfo.Data.Data[startIndex];var endItem=labelInfo.Data.Data[endIndex];if(!startItem||!endItem)return;var isMinutePeriod=ChartData.IsMinutePeriod(labelInfo.Data.Period,true);labelInfo.AryText=[];labelInfo.AryText.push({Name:"起始日期: ",Text:IFrameSplitOperator.FormatDateString(startItem.Date),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"起始时间: ",Text:IFrameSplitOperator.FormatTimeString(startItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});labelInfo.AryText.push({Name:"结束日期: ",Text:IFrameSplitOperator.FormatDateString(endItem.Date),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"结束时间: ",Text:IFrameSplitOperator.FormatTimeString(endItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});//示例:计算一个斜率数据
15390
+ this.OnFinishDrawPicture=function(chart,data){data.Span.classList.remove("UMyChart_DrawTool_Span_Selected");data.Span.classList.add("UMyChart_DrawTool_Span");};this.Show=function(x,y){if(!this.DivDialog)return;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Close=function(e){if(!this.DivDialog)return;if(!this.IsShow())return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.OnMouseDownTitle=function(e){var _this94=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this94.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this94.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;document.onmousemove=null;document.onmouseup=null;};this.ChartInfoLine_FormatLabelText=function(labelInfo){if(!IFrameSplitOperator.IsNonEmptyArray(labelInfo.AryValue))return;if(!labelInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(labelInfo.Data.Data))return;for(var i=0;i<labelInfo.AryValue.length;++i){var item=labelInfo.AryValue[i];if(!IFrameSplitOperator.IsNumber(item.XValue)||item.XValue<0)return;}var startIndex=labelInfo.AryValue[0].XValue;var endIndex=labelInfo.AryValue[1].XValue;var startItem=labelInfo.Data.Data[startIndex];var endItem=labelInfo.Data.Data[endIndex];if(!startItem||!endItem)return;var isMinutePeriod=ChartData.IsMinutePeriod(labelInfo.Data.Period,true);labelInfo.AryText=[];labelInfo.AryText.push({Name:"起始日期: ",Text:IFrameSplitOperator.FormatDateString(startItem.Date),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"起始时间: ",Text:IFrameSplitOperator.FormatTimeString(startItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});labelInfo.AryText.push({Name:"结束日期: ",Text:IFrameSplitOperator.FormatDateString(endItem.Date),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"结束时间: ",Text:IFrameSplitOperator.FormatTimeString(endItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});//示例:计算一个斜率数据
15388
15391
  var x=labelInfo.AryPoint[1].X-labelInfo.AryPoint[0].X;var y=labelInfo.AryPoint[1].Y-labelInfo.AryPoint[0].Y;var text="--";if(x!=0)text=''+(y/x).toFixed(4);labelInfo.AryText.push({Name:"斜率: ",Text:text,NameColor:"rgb(0,0,0)",TextColor:"rgb(238, 0, 238)"});labelInfo.AryText.push({Name:"其他: ",Text:'......',NameColor:"rgb(0,0,0)",TextColor:"rgb(156, 156, 156)"});};this.ChartDrawMonitorLine_FormatLabelText=function(labelInfo){if(!labelInfo.Data||!IFrameSplitOperator.IsNonEmptyArray(labelInfo.Data.Data))return;if(!IFrameSplitOperator.IsNumber(labelInfo.StartIndex)||labelInfo.StartIndex<0)return;var startItem=labelInfo.Data.Data[labelInfo.StartIndex];var endItem=labelInfo.Data.Data[labelInfo.Data.Data.length-1];labelInfo.YValue=endItem.Close;var isMinutePeriod=ChartData.IsMinutePeriod(labelInfo.Data.Period,true);labelInfo.AryText=[];labelInfo.AryText.push({Name:"起始: ",Text:IFrameSplitOperator.FormatDateString(startItem.Date,"MM-DD"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"起始: ",Text:IFrameSplitOperator.FormatTimeString(startItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});labelInfo.AryText.push({Name:"最新: ",Text:IFrameSplitOperator.FormatDateString(endItem.Date,"MM-DD"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});if(isMinutePeriod)labelInfo.AryText.push({Name:"最新: ",Text:IFrameSplitOperator.FormatTimeString(endItem.Time,"HH:MM"),NameColor:"rgb(0,0,0)",TextColor:"rgb(30,10,30)"});labelInfo.AryText.push({Name:"ɑ: ",Text:"--.--",NameColor:"rgb(0, 0 ,255)",TextColor:"rgb(255, 165, 0)"});labelInfo.AryText.push({Name:"β: ",Text:"--.--",NameColor:"rgb(0 ,0 ,255)",TextColor:"rgb(238 ,121, 66)"});};}/////////////////////////////////////////////////////////////////////////////////////
15389
15392
  // 修改画图工具
15390
15393
  //
@@ -15396,7 +15399,7 @@ divItem.appendChild(spanDom);var data={Div:divItem,Span:spanDom,Parent:parentDiv
15396
15399
  divItem.onmouseover=function(e){_this96.OnHoverButton(e,data);};divItem.onmouseout=function(e){_this96.OnLeaveButton(e,data);};switch(item.Data.ID){case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID:this.ColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BG_COLOR_ID:this.BGColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_FONT_COLOR_ID:this.FontColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BORDER_COLOR_ID:this.BorderColorButton=data;var divColorBar=this.CreateColorBar(data);divItem.appendChild(divColorBar);var inputColor=this.CreateInputColor(data);divItem.appendChild(inputColor);divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_LOCK_DRAW_CHART_ID:this.LockButton=data;break;case JS_DRAWTOOL_MENU_ID.CMD_ZOOM_FONT_ID:this.FontZoomButton=data;divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_ZOOM_OUT_FONT_ID:this.FontZoomOutButton=data;divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_MODIFY_TEXT_ID:this.ModifyTextButton=data;divItem.style.display="none";break;case JS_DRAWTOOL_MENU_ID.CMD_ADVANCED_SETTING_ID:this.AdvancedButton=data;divItem.style.display="none";break;}parentDivDom.appendChild(divItem);};this.CreateInputColor=function(data){var _this97=this;var inputColor=document.createElement("input");inputColor.setAttribute("type","color");inputColor.className="UMyChart_Draw_Modify_Input_Color";data.InputColor=inputColor;inputColor.oninput=function(e){_this97.OnChangeColor(e,data);};return inputColor;};//颜色块
15397
15400
  this.CreateColorBar=function(data){var divColor=document.createElement("div");divColor.className="UMyChart_Draw_Modify_Dialog_Button_ColorBar_Div";data.DivColorBar=divColor;return divColor;};this.OnClickButton=function(e,data){console.log('[JSDialogModifyDraw::OnClickButton] ',data);if(!data.Item||!data.Item.Data)return;var id=data.Item.Data.ID;switch(id){case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID:this.ModifyLineColor(data);break;case JS_DRAWTOOL_MENU_ID.CMD_DELETE_DRAW_CHART_ID:this.DeleteDrawPicture();break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BG_COLOR_ID:this.ModifyBGColor(data);break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_FONT_COLOR_ID:this.ModifyFontColor(data);break;case JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BORDER_COLOR_ID:this.ModifyBorderColor(data);break;case JS_DRAWTOOL_MENU_ID.CMD_LOCK_DRAW_CHART_ID:this.ModifyLockChart();break;case JS_DRAWTOOL_MENU_ID.CMD_ZOOM_FONT_ID:this.ModifyFontZoom(1);break;case JS_DRAWTOOL_MENU_ID.CMD_ZOOM_OUT_FONT_ID:this.ModifyFontZoom(-1);break;case JS_DRAWTOOL_MENU_ID.CMD_MODIFY_TEXT_ID:this.ModifyText();break;case JS_DRAWTOOL_MENU_ID.CMD_ADVANCED_SETTING_ID:this.AdvancedSetting();break;}};this.OnHoverButton=function(e,data){//var x=e.clientX;
15398
15401
  //data.Tooltip.style.left=x+"px";
15399
- data.Tooltip.style.display="inline";};this.OnLeaveButton=function(e,data){data.Tooltip.style.display="none";};this.Close=function(e){if(!this.DivDialog)return;this.ChartPicture=null;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.DeleteDrawPicture=function(){if(this.ChartPicture&&this.HQChart){this.HQChart.ClearChartDrawPicture(this.ChartPicture);}this.Close();};this.OnClearChartDrawPicture=function(drawPicture){if(!this.IsShow())return;if(!drawPicture){this.Close();return;}if(this.ChartPicture&&drawPicture.Guid==this.ChartPicture.Guid)this.Close();};this.ShowButton=function(dom,diaplay){if(dom.style.display==diaplay)return;dom.style.display=diaplay;};this.OnChangeColor=function(e,data){if(!this.ChartPicture||!this.HQChart)return;var color=data.InputColor.value;color=IChartDrawPicture.HexToRGB(color);if(data.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID){this.ChartPicture.LineColor=color;if(this.ColorButton)this.ColorButton.DivColorBar.style['background-color']=color;if(this.HQChart.ChartDrawStorage)this.HQChart.ChartDrawStorage.SaveDrawData(this.ChartPicture);//保存下
15402
+ data.Tooltip.style.display="inline";};this.OnLeaveButton=function(e,data){data.Tooltip.style.display="none";};this.Close=function(e){if(!this.DivDialog)return;this.ChartPicture=null;if(!this.IsShow())return;this.DivDialog.style.visibility='hidden';if(this.HQChart)this.HQChart.RestoreFocus(this.RestoreFocusDelay);};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.DeleteDrawPicture=function(){if(this.ChartPicture&&this.HQChart){this.HQChart.ClearChartDrawPicture(this.ChartPicture);}this.Close();};this.OnClearChartDrawPicture=function(drawPicture){if(!this.IsShow())return;if(!drawPicture){this.Close();return;}if(this.ChartPicture&&drawPicture.Guid==this.ChartPicture.Guid)this.Close();};this.ShowButton=function(dom,diaplay){if(dom.style.display==diaplay)return;dom.style.display=diaplay;};this.OnChangeColor=function(e,data){if(!this.ChartPicture||!this.HQChart)return;var color=data.InputColor.value;color=IChartDrawPicture.HexToRGB(color);if(data.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_LINE_COLOR_ID){this.ChartPicture.LineColor=color;if(this.ColorButton)this.ColorButton.DivColorBar.style['background-color']=color;if(this.HQChart.ChartDrawStorage)this.HQChart.ChartDrawStorage.SaveDrawData(this.ChartPicture);//保存下
15400
15403
  this.HQChart.Draw();}else if(data.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BORDER_COLOR_ID){if(this.ChartPicture.ClassName=="ChartDrawNote")this.ChartPicture.NoteBorderColor=color;else this.ChartPicture.BorderColor=color;if(this.BorderColorButton)this.BorderColorButton.DivColorBar.style['background-color']=color;if(this.HQChart.ChartDrawStorage)this.HQChart.ChartDrawStorage.SaveDrawData(this.ChartPicture);//保存下
15401
15404
  this.HQChart.Draw();}else if(data.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_FONT_COLOR_ID){if(this.ChartPicture.ClassName=="ChartDrawNote")this.ChartPicture.NoteTextColor=color;else this.ChartPicture.TextColor=color;if(this.FontColorButton)this.FontColorButton.DivColorBar.style['background-color']=color;if(this.HQChart.ChartDrawStorage)this.HQChart.ChartDrawStorage.SaveDrawData(this.ChartPicture);//保存下
15402
15405
  this.HQChart.Draw();}else if(data.Item.Data.ID==JS_DRAWTOOL_MENU_ID.CMD_CHANGE_BG_COLOR_ID){color=IChartDrawPicture.ColorToRGBA(color,0.8);if(this.ChartPicture.ClassName=="ChartDrawNote")this.ChartPicture.NoteBGColor=color;else this.ChartPicture.BGColor=color;if(this.BGColorButton)this.BGColorButton.DivColorBar.style['background-color']=color;if(this.HQChart.ChartDrawStorage)this.HQChart.ChartDrawStorage.SaveDrawData(this.ChartPicture);//保存下
@@ -15562,8 +15565,9 @@ chart.AddEventCallback({event:JSCHART_EVENT_ID.ON_KEYBOARD_MOUSEUP,callback:func
15562
15565
  {var strText=this.InputDOM.value;if(strText.length==0){this.Hide();//只有按了删除 才能隐藏
15563
15566
  return;}}if(code>=48&&code<=57||code>=65&&code<=90||code>=96&&code<=122||code==8){var strText=this.InputDOM.value;strText=strText.toUpperCase();this.Keyboard.JSChart.Search(strText);}};this.OnMouseDownTitle=function(e){var _this107=this;if(!this.DivDialog)return;var dragData={X:e.clientX,Y:e.clientY};dragData.YOffset=e.clientX-this.DivDialog.offsetLeft;dragData.XOffset=e.clientY-this.DivDialog.offsetTop;this.DragTitle=dragData;document.onmousemove=function(e){_this107.DocOnMouseMoveTitle(e);};document.onmouseup=function(e){_this107.DocOnMouseUpTitle(e);};};this.DocOnMouseMoveTitle=function(e){if(!this.DragTitle)return;var left=e.clientX-this.DragTitle.YOffset;var top=e.clientY-this.DragTitle.XOffset;var right=left+this.DivDialog.offsetWidth;var bottom=top+this.DivDialog.offsetHeight;if(right+5>=window.innerWidth)left=window.innerWidth-this.DivDialog.offsetWidth-5;if(bottom+5>=window.innerHeight)top=window.innerHeight-this.DivDialog.offsetHeight-5;this.DivDialog.style.left=left+'px';this.DivDialog.style.top=top+'px';if(e.preventDefault)e.preventDefault();};this.DocOnMouseUpTitle=function(e){this.DragTitle=null;this.onmousemove=null;this.onmouseup=null;};this.SetSymbolData=function(data){if(!this.Keyboard.JSChart)return false;this.Keyboard.JSChart.SetSymbolData(data);};this.Show=function(){if(!this.DivDialog)return;if(!this.Keyboard.Option.EnableResize)//自动调整大小
15564
15567
  {if(this.Keyboard.JSChart)this.Keyboard.JSChart.OnSize();}//显示在右下方
15565
- var height=this.DivDialog.offsetHeight;var width=this.DivDialog.offsetWidth;var xRight=window.innerWidth-5;var ybottom=window.innerHeight-5;var x=xRight-width;var y=ybottom-height;this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Hide=function(){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';this.InputDOM.value="";this.Keyboard.JSChart.ClearSearch();if(this.ActiveDOM){if(this.ActiveDOM.focus)this.ActiveDOM.focus();//把焦点换回去
15566
- this.ActiveDOM=null;}};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.OnGlobalKeydown=function(event){if(!this.DivDialog)return;var code=event.keyCode;if(code==116)return;//F5不处理
15568
+ var height=this.DivDialog.offsetHeight;var width=this.DivDialog.offsetWidth;var xRight=window.innerWidth-5;var ybottom=window.innerHeight-5;var x=xRight-width;var y=ybottom-height;if(this.Keyboard.JSChart&&this.Keyboard.JSChart.JSChartContainer){var event=this.Keyboard.JSChart.JSChartContainer.GetEventCallback(JSCHART_EVENT_ID.ON_KEYBOARD_SHOW);if(event&&event.Callback){var data={PreventDefault:false,Y:y,X:x,Height:height,Width:width};event.Callback(event,data,this);if(data.PreventDefault)return;//修改显示位置
15569
+ x=data.X;y=data.Y;}}this.DivDialog.style.visibility='visible';this.DivDialog.style.top=y+"px";this.DivDialog.style.left=x+"px";};this.Hide=function(){if(!this.DivDialog)return;this.DivDialog.style.visibility='hidden';this.InputDOM.value="";this.Keyboard.JSChart.ClearSearch();if(this.ActiveDOM){if(this.ActiveDOM.focus)this.ActiveDOM.focus();//把焦点换回去
15570
+ this.ActiveDOM=null;}};this.IsShow=function(){if(!this.DivDialog)return false;return this.DivDialog.style.visibility==='visible';};this.PopKeyboard=function(search){if(!this.DivDialog)return;if(this.IsShow())return;this.Show();this.InputDOM.focus();if(this.InputDOM.value==""){if(search)this.InputDOM.value=search;}};this.OnGlobalKeydown=function(event){if(!this.DivDialog)return;var code=event.keyCode;if(code==116)return;//F5不处理
15567
15571
  if(!this.IsShow()&&code>=48&&code<=57||code>=65&&code<=90||code>=96&&code<=122){this.Show();this.InputDOM.focus();if(this.InputDOM.value==""){this.InputDOM.value=event.key;event.preventDefault();}if(event.target)this.ActiveDOM=event.target;}else if(code==27&&this.IsShow()){this.Hide();}};this.OnGlobalMouseDown=function(event){if(!this.DivDialog)return;if(this.DivDialog.style.display=='none')return;if(!this.DivDialog.contains(event.target)){this.Hide();}};this.OnChartMouseUp=function(event,data,chart){this.InputDOM.focus();};this.UpdateStyle=function(){if(!this.DivDialog)return;if(this.BGColor)this.DivDialog.style['background-color']=this.BGColor;if(this.BorderColor)this.DivDialog.style['border-color']=this.BorderColor;if(this.InputBGColor)this.InputDOM.style['background-color']=this.InputBGColor;if(this.InputTextColor)this.InputDOM.style['color']=this.InputTextColor;if(this.TitleBGColor)this.TitleBox.DivTitle.style['background-color']=this.TitleBGColor;if(this.TitleColor){this.TitleBox.DivName.style['color']=this.TitleColor;this.TitleBox.DivClose.style['color']=this.TitleColor;}};this.ReloadResource=function(option){this.BGColor=g_JSChartResource.DialogPopKeyboard.BGColor;this.TitleColor=g_JSChartResource.DialogPopKeyboard.TitleColor;this.TitleBGColor=g_JSChartResource.DialogPopKeyboard.TitleBGColor;this.BorderColor=g_JSChartResource.DialogPopKeyboard.BorderColor;this.InputBGColor=g_JSChartResource.DialogPopKeyboard.Input.BGColor;this.InputTextColor=g_JSChartResource.DialogPopKeyboard.Input.TextColor;if(this.Keyboard.JSChart){this.Keyboard.JSChart.ReloadResource();this.Keyboard.JSChart.Draw();}if(!this.DivDialog)return;this.UpdateStyle();};}JSPopKeyboard.GetOption=function(){var option={Type:'键盘精灵',//创建图形类型
15568
15572
  Border://边框
15569
15573
  {Left:1,//左边间距
@@ -15918,12 +15922,13 @@ var chart=new ChartStatusBarStockData();chart.Frame=this.Frame;chart.ChartBorder
15918
15922
 
15919
15923
  this.UIElement.onmouseleave=(e)=>{ this.UIOnMouseleave(e); }
15920
15924
 
15921
- */var frequency=500;this.ToolbarTimer=setInterval(function(){_this123.Draw();},frequency);};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();this.ClickDownPoint={X:e.clientX,Y:e.clientY};var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(e&&e.button==0)//左键点击
15922
- {var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICK_STATUSBAR_ITEM,ptClick,e);}};this.UIOnContextMenu=function(e){if(e)//去掉系统右键菜单
15925
+ */var frequency=500;this.ToolbarTimer=setInterval(function(){_this123.Draw();},frequency);};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();this.ClickDownPoint={X:e.clientX,Y:e.clientY};var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(e){if(e.button==0)//左键点击
15926
+ {var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICK_STATUSBAR_ITEM,ptClick,e);}else if(e.button==2)//右键点击
15927
+ {this.HideAllTooltip();var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_RCLICK_STATUSBAR_ITEM,ptClick,e);}}};this.UIOnContextMenu=function(e){if(e)//去掉系统右键菜单
15923
15928
  {if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();e.returnValue=false;}};this.GetChartTooltipData=function(x,y,option){var toolTip=new TooltipData();for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip)){return toolTip;}}return null;};this.UIOnMouseMove=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;//var bShowKLineTooltip=false;
15924
15929
  var bShowMinuteTooltip=false;var chartTooltipData=null;var tooltipData=this.GetChartTooltipData(x,y);if(tooltipData){if(tooltipData.Type==121){var item=tooltipData.Data;if(item&&item.Data&&item.Data.Symbol){bShowMinuteTooltip=true;chartTooltipData={Symbol:item.Data.Symbol,Rect:item.Rect,Position:1};}}}//if (!bShowKLineTooltip) this.HideKLineChartTooltip();
15925
15930
  if(!bShowMinuteTooltip)this.HideMinuteChartTooltip();if(bShowMinuteTooltip)this.ShowMinuteChartTooltip(null,null,chartTooltipData);//if (bShowKLineTooltip) this.ShowKLineChartTooltip(null, null, chartTooltipData);
15926
- };this.UIOnMounseOut=function(e){this.HideAllTooltip();};this.TryClickPaintEvent=function(eventID,ptClick,e){var event=this.GetEventCallback(eventID);if(!event)return false;if(ptClick.X==e.clientX&&ptClick.Y==e.clientY){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-uielement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-uielement.getBoundingClientRect().top)*pixelTatio;var toolTip=new TooltipData();for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip)){if(toolTip.Data){var data={X:e.clientX,Y:e.clientY,Tooltip:toolTip};event.Callback(event,data,this);return true;}}}}return false;};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();//获取设备的分辨率
15931
+ };this.UIOnMounseOut=function(e){this.HideAllTooltip();};this.TryClickPaintEvent=function(eventID,ptClick,e){var event=this.GetEventCallback(eventID);if(!event)return false;if(ptClick.X==e.clientX&&ptClick.Y==e.clientY){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-uielement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-uielement.getBoundingClientRect().top)*pixelTatio;var toolTip=new TooltipData();for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip)){if(toolTip.Data){var data={X:e.clientX,Y:e.clientY,Tooltip:toolTip,e:e};event.Callback(event,data,this);return true;}}}}return false;};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();//获取设备的分辨率
15927
15932
  this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
15928
15933
  this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
15929
15934
  for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];item.Draw();}};this.OnSize=function(){if(!this.Frame)return;this.SetSizeChange(true);this.Draw();};this.SetSizeChange=function(bChanged){for(var i=0;i<this.ChartPaint.length;++i){var chart=this.ChartPaint[i];if(chart)chart.SizeChange=bChanged;}};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||option.Draw)){this.SetSizeChange(true);this.Draw();}if(this.TooltipMinuteChart)this.TooltipMinuteChart.ReloadResource(option);//分时图
@@ -16000,7 +16005,7 @@ this.ResizeListener;//大小变动监听
16000
16005
  this.CanvasElement=document.createElement("canvas");this.CanvasElement.className='jsstockinfo-drawing';this.CanvasElement.id=Guid();this.CanvasElement.setAttribute("tabindex",0);if(this.CanvasElement.style)this.CanvasElement.style.outline='none';if(divElement.hasChildNodes()){JSConsole.Chart.Log("[JSStockInfoChart::JSStockInfoChart] divElement hasChildNodes",divElement.childNodes);}divElement.appendChild(this.CanvasElement);this.OnSize=function(){//画布大小通过div获取 如果有style里的大小 使用style里的
16001
16006
  var height=this.DivElement.offsetHeight;var width=this.DivElement.offsetWidth;if(this.DivElement.style.height&&this.DivElement.style.width){if(this.DivElement.style.height.includes("px"))height=parseInt(this.DivElement.style.height.replace("px",""));if(this.DivElement.style.width.includes("px"))width=parseInt(this.DivElement.style.width.replace("px",""));}this.CanvasElement.height=height;this.CanvasElement.width=width;this.CanvasElement.style.width=this.CanvasElement.width+'px';this.CanvasElement.style.height=this.CanvasElement.height+'px';var pixelTatio=GetDevicePixelRatio();//获取设备的分辨率
16002
16007
  this.CanvasElement.height*=pixelTatio;this.CanvasElement.width*=pixelTatio;JSConsole.Chart.Log('[JSStockInfoChart::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.CreateJSStockInfoChartContainer(option);if(!chart)return false;if(option.OnCreatedCallback)option.OnCreatedCallback(chart);this.JSChartContainer=chart;this.DivElement.JSChart=this;//div中保存一份
16003
- if(option.EnableResize==true)this.CreateResizeListener();if(option.Symbol){chart.ChangeSymbol(option.Symbol);//下载列表码表
16008
+ if(option.EnableResize==true)this.CreateResizeListener();if(option.EnablePopMenuV2===true)chart.InitalPopMenu();if(option.Symbol){chart.ChangeSymbol(option.Symbol);//下载列表码表
16004
16009
  }else{chart.Draw();}};this.CreateResizeListener=function(){var _this124=this;this.ResizeListener=new ResizeObserver(function(entries){_this124.OnDivResize(entries);});this.ResizeListener.observe(this.DivElement);};this.OnDivResize=function(entries){JSConsole.Chart.Log("[JSStockInfoChart::OnDivResize] entries=",entries);this.OnSize();};//切换股票代码接口
16005
16010
  this.ChangeSymbol=function(symbol,option){if(this.JSChartContainer)this.JSChartContainer.ChangeSymbol(symbol,option);};this.CreateJSStockInfoChartContainer=function(option){var chart=new JSStockInfoChartContainer(this.CanvasElement);chart.Create(option);this.SetChartBorder(chart,option);if(IFrameSplitOperator.IsNonEmptyArray(option.Column))chart.SetColumn(option.Column);if(IFrameSplitOperator.IsNonEmptyArray(option.HeaderColumn))chart.SetHeaderColumn(option.HeaderColumn);if(IFrameSplitOperator.IsNonEmptyArray(option.MouseOnKey))chart.SetMouseOnKey(option.MouseOnKey);//是否自动更新
16006
16011
  if(option.NetworkFilter)chart.NetworkFilter=option.NetworkFilter;if(option.IsAutoUpdate!=null)chart.IsAutoUpdate=option.IsAutoUpdate;if(option.AutoUpdateFrequency>0)chart.AutoUpdateFrequency=option.AutoUpdateFrequency;//注册事件
@@ -16024,11 +16029,15 @@ this.BorderData={MapData:null};//key=Field Value:[null, {ExePrice} ,{ExePrice} ]
16024
16029
  this.MapStockData;//事件回调
16025
16030
  this.mapEvent=new _map2.default();//通知外部调用 key:JSCHART_EVENT_ID value:{Callback:回调,}
16026
16031
  this.AutoUpdateTimer=null;this.AutoUpdateFrequency=15000;//15秒更新一次数据
16032
+ this.JSPopMenu;//内置菜单
16027
16033
  this.UIElement=uielement;this.IsDestroy=false;//是否已经销毁了
16028
16034
  this.ChartDestroy=function()//销毁
16029
- {this.IsDestroy=true;this.StopAutoUpdate();};//设置事件回调
16035
+ {this.IsDestroy=true;this.StopAutoUpdate();this.DestroyPopMenu();};//设置事件回调
16030
16036
  //{event:事件id, callback:回调函数}
16031
- this.AddEventCallback=function(object){if(!object||!object.event||!object.callback)return;var data={Callback:object.callback,Source:object};this.mapEvent.set(object.event,data);};this.ClearData=function(){this.Data.Name=null;this.Data.YClose=null;this.Data.YFClose=null;this.Data.Buys=[{Name:"买一",Price:null,Vol:null,Amount:null},{Name:"买二",Price:null,Vol:null,Amount:null},{Name:"买三",Price:null,Vol:null,Amount:null},{Name:"买四",Price:null,Vol:null,Amount:null},{Name:"买五",Price:null,Vol:null,Amount:null},{Name:"买六",Price:null,Vol:null,Amount:null},{Name:"买七",Price:null,Vol:null,Amount:null},{Name:"买八",Price:null,Vol:null,Amount:null},{Name:"买九",Price:null,Vol:null,Amount:null},{Name:"买十",Price:null,Vol:null,Amount:null}];this.Data.Sells=[{Name:"卖一",Price:null,Vol:null,Amount:null},{Name:"卖二",Price:null,Vol:null,Amount:null},{Name:"卖三",Price:null,Vol:null,Amount:null},{Name:"卖四",Price:null,Vol:null,Amount:null},{Name:"卖五",Price:null,Vol:null,Amount:null},{Name:"卖六",Price:null,Vol:null,Amount:null},{Name:"卖七",Price:null,Vol:null,Amount:null},{Name:"卖八",Price:null,Vol:null,Amount:null},{Name:"卖九",Price:null,Vol:null,Amount:null},{Name:"卖十",Price:null,Vol:null,Amount:null}];this.Data.MapData=new _map2.default();};this.ChangeSymbol=function(symbol,option){var _this125=this;this.CancelAutoUpdate();this.ClearData();this.Symbol=symbol;this.Data.Symbol=symbol;if(option){if(IFrameSplitOperator.IsNonEmptyArray(option.Column))this.SetColumn(option.Column);if(IFrameSplitOperator.IsNumber(option.BuySellCount))this.SetBuySellCount(option.BuySellCount);if(IFrameSplitOperator.IsNonEmptyArray(option.MouseOnKey))this.SetMouseOnKey(option.MouseOnKey);}this.Draw();this.RequestStockData();if(this.IsAutoUpdate){var frequency=this.AutoUpdateFrequency;setInterval(function(){var marketStatus=MARKET_SUFFIX_NAME.GetMarketStatus(_this125.Symbol);if(marketStatus==0||marketStatus==3)//闭市,盘后
16037
+ this.AddEventCallback=function(object){if(!object||!object.event||!object.callback)return;var data={Callback:object.callback,Source:object};this.mapEvent.set(object.event,data);};this.RemoveEventCallback=function(eventid){if(!this.mapEvent.has(eventid))return;this.mapEvent.delete(eventid);};this.GetEventCallback=function(id)//获取事件回调
16038
+ {if(!this.mapEvent.has(id))return null;var item=this.mapEvent.get(id);return item;};this.InitalPopMenu=function()//初始化弹出窗口
16039
+ {if(this.JSPopMenu)return;this.JSPopMenu=new JSPopMenu();//内置菜单
16040
+ this.JSPopMenu.Inital();};this.DestroyPopMenu=function(){if(!this.JSPopMenu)return;this.JSPopMenu.Destroy();this.JSPopMenu=null;};this.ClearData=function(){this.Data.Name=null;this.Data.YClose=null;this.Data.YFClose=null;this.Data.Buys=[{Name:"买一",Price:null,Vol:null,Amount:null},{Name:"买二",Price:null,Vol:null,Amount:null},{Name:"买三",Price:null,Vol:null,Amount:null},{Name:"买四",Price:null,Vol:null,Amount:null},{Name:"买五",Price:null,Vol:null,Amount:null},{Name:"买六",Price:null,Vol:null,Amount:null},{Name:"买七",Price:null,Vol:null,Amount:null},{Name:"买八",Price:null,Vol:null,Amount:null},{Name:"买九",Price:null,Vol:null,Amount:null},{Name:"买十",Price:null,Vol:null,Amount:null}];this.Data.Sells=[{Name:"卖一",Price:null,Vol:null,Amount:null},{Name:"卖二",Price:null,Vol:null,Amount:null},{Name:"卖三",Price:null,Vol:null,Amount:null},{Name:"卖四",Price:null,Vol:null,Amount:null},{Name:"卖五",Price:null,Vol:null,Amount:null},{Name:"卖六",Price:null,Vol:null,Amount:null},{Name:"卖七",Price:null,Vol:null,Amount:null},{Name:"卖八",Price:null,Vol:null,Amount:null},{Name:"卖九",Price:null,Vol:null,Amount:null},{Name:"卖十",Price:null,Vol:null,Amount:null}];this.Data.MapData=new _map2.default();};this.ChangeSymbol=function(symbol,option){var _this125=this;this.CancelAutoUpdate();this.ClearData();this.ChartClearMouseOnData();this.Symbol=symbol;this.Data.Symbol=symbol;if(option){if(IFrameSplitOperator.IsArray(option.Column))this.SetColumn(option.Column);if(IFrameSplitOperator.IsNumber(option.BuySellCount))this.SetBuySellCount(option.BuySellCount);if(IFrameSplitOperator.IsArray(option.MouseOnKey))this.SetMouseOnKey(option.MouseOnKey);}this.Draw();this.RequestStockData();if(this.IsAutoUpdate){var frequency=this.AutoUpdateFrequency;setInterval(function(){var marketStatus=MARKET_SUFFIX_NAME.GetMarketStatus(_this125.Symbol);if(marketStatus==0||marketStatus==3)//闭市,盘后
16032
16041
  return;_this125.RequestStockData();},frequency);}};this.CancelAutoUpdate=function()//关闭停止更新
16033
16042
  {if(this.AutoUpdateTimer){clearInterval(this.AutoUpdateTimer);this.AutoUpdateTimer=null;}};this.StopAutoUpdate=function(){this.CancelAutoUpdate();if(!this.IsAutoUpdate)return;this.IsAutoUpdate=false;};this.RequestStockData=function(){var _this126=this;if(this.NetworkFilter){var obj={Name:'JSStockInfoChartContainer::RequestStockData',//类名::函数名
16034
16043
  Explain:'股票5档实时数据',Request:{Data:{symbol:this.Symbol}},Self:this,PreventDefault:false};this.NetworkFilter(obj,function(data){_this126.RecvStockData(data);});if(obj.PreventDefault==true)return;//已被上层替换,不调用默认的网络请求
@@ -16038,8 +16047,15 @@ this.Frame=new JSStockInfoFrame();this.Frame.ChartBorder=new ChartBorder();this.
16038
16047
  var chart=new ChartStockData();chart.Frame=this.Frame;chart.ChartBorder=this.Frame.ChartBorder;chart.Canvas=this.Canvas;chart.UIElement=this.UIElement;chart.GetEventCallback=function(id){return _this127.GetEventCallback(id);};chart.Data=this.Data;chart.BorderData=this.BorderData;chart.GlobalOption=this.GlobalOption;chart.FixedRowData=this.FixedRowData;chart.SortInfo=this.SortInfo;this.ChartPaint[0]=chart;if(option){}this.UIElement.oncontextmenu=function(e){_this127.UIOnContextMenu(e);};this.UIElement.onmousedown=function(e){_this127.UIOnMouseDown(e);};this.UIElement.onmousemove=function(e){_this127.UIOnMouseMove(e);};this.UIElement.onmouseout=function(e){_this127.UIOnMounseOut(e);};this.UIElement.onmouseleave=function(e){_this127.UIOnMouseleave(e);};/*
16039
16048
  this.UIElement.ondblclick=(e)=>{ this.UIOnDblClick(e); }
16040
16049
 
16041
- */};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();this.ClickDownPoint={X:e.clientX,Y:e.clientY};var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;};this.UIOnContextMenu=function(e){if(e)//去掉系统右键菜单
16042
- {if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();e.returnValue=false;}};this.UIOnMouseMove=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var option={Update:false};this.OnChartMouseMove(x,y,e,option);if(option.Update===true)this.Draw();};this.OnChartMouseMove=function(x,y,e,option){for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item&&item.OnMouseMove){if(item.OnMouseMove(x,y,e,option))return true;}}return false;};this.UIOnMouseleave=function(e){var option={Update:false};this.ChartClearMouseOnData(option);if(option.Update===true)this.Draw();};this.UIOnMounseOut=function(e){var option={Update:false};this.ChartClearMouseOnData(option);if(option.Update===true)this.Draw();//this.HideAllTooltip();
16050
+ */};this.UIOnMouseDown=function(e){var pixelTatio=GetDevicePixelRatio();this.ClickDownPoint={X:e.clientX,Y:e.clientY};var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;if(e){if(e.button==0)//左键点击
16051
+ {var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_CLICK_STOCKINFO_ITEM,ptClick,e);}else if(e.button==2)//右键点击
16052
+ {var ptClick={X:this.ClickDownPoint.X,Y:this.ClickDownPoint.Y};this.TryClickPaintEvent(JSCHART_EVENT_ID.ON_RCLICK_STOCKINFO_ITEM,ptClick,e);}}};this.UIOnContextMenu=function(e){if(e)//去掉系统右键菜单
16053
+ {if(e.preventDefault)e.preventDefault();if(e.stopPropagation)e.stopPropagation();e.returnValue=false;}var x=e.clientX-this.UIElement.getBoundingClientRect().left;var y=e.clientY-this.UIElement.getBoundingClientRect().top;this.OnRightMenu(x,y,e);};this.OnRightMenu=function(x,y,e){var _this128=this;if(!this.JSPopMenu)return;var pixelTatio=GetDevicePixelRatio();var toolTip=new TooltipData();var data=null;for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x*pixelTatio,y*pixelTatio,toolTip)){if(toolTip.Data){data={Cell:toolTip.Data};break;}}}if(!data)return;data.e=e;var menuData={Menu:null,Position:JSPopMenu.POSITION_ID.RIGHT_MENU_ID};menuData.ClickCallback=function(data){_this128.OnClickRightMenu(data);};var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_CREATE_RIGHT_MENU);if(event&&event.Callback){var sendData={MenuData:menuData,Data:data};event.Callback(event,sendData,this);}if(menuData.Menu)this.PopupMenuByRClick(menuData,x,y);};//右键菜单
16054
+ this.PopupMenuByRClick=function(menuData,x,y){if(!this.JSPopMenu)return;var rtClient=this.UIElement.getBoundingClientRect();var rtScroll=GetScrollPosition();x+=rtClient.left+rtScroll.Left;y+=rtClient.top+rtScroll.Top;this.JSPopMenu.CreatePopMenu(menuData);this.JSPopMenu.PopupMenuByRight(x,y);};//点击右键菜单
16055
+ this.OnClickRightMenu=function(data){JSConsole.Chart.Log('[JSStockInfoChartContainer::OnClickRightMenu] ',data);if(!data||!data.Data)return;var cmdID=data.Data.ID;//命令ID
16056
+ var aryArgs=data.Data.Args;//参数
16057
+ var event=this.GetEventCallback(JSCHART_EVENT_ID.ON_MENU_COMMAND);//回调通知外部
16058
+ 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.ExecuteMenuCommand=function(cmdID,aryArgs){};this.UIOnMouseMove=function(e){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-this.UIElement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-this.UIElement.getBoundingClientRect().top)*pixelTatio;var option={Update:false};this.OnChartMouseMove(x,y,e,option);if(option.Update===true)this.Draw();};this.OnChartMouseMove=function(x,y,e,option){for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item&&item.OnMouseMove){if(item.OnMouseMove(x,y,e,option))return true;}}return false;};this.TryClickPaintEvent=function(eventID,ptClick,e){var event=this.GetEventCallback(eventID);if(!event)return false;if(ptClick.X==e.clientX&&ptClick.Y==e.clientY){var pixelTatio=GetDevicePixelRatio();var x=(e.clientX-uielement.getBoundingClientRect().left)*pixelTatio;var y=(e.clientY-uielement.getBoundingClientRect().top)*pixelTatio;var toolTip=new TooltipData();for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item.GetTooltipData(x,y,toolTip)){if(toolTip.Data){var data={X:e.clientX,Y:e.clientY,Tooltip:toolTip};event.Callback(event,data,this);return true;}}}}return false;};this.UIOnMouseleave=function(e){var option={Update:false};this.ChartClearMouseOnData(option);if(option.Update===true)this.Draw();};this.UIOnMounseOut=function(e){var option={Update:false};this.ChartClearMouseOnData(option);if(option.Update===true)this.Draw();//this.HideAllTooltip();
16043
16059
  };this.ChartClearMouseOnData=function(option){for(var i=0;i<this.ChartPaint.length;++i){var item=this.ChartPaint[i];if(item&&item.ClearMouseOnData){item.ClearMouseOnData(option);}}};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();//获取设备的分辨率
16044
16060
  this.Canvas.lineWidth=pixelTatio;//手机端需要根据分辨率比调整线段宽度
16045
16061
  this.Frame.Draw();this.Frame.DrawLogo();//框架内图形
@@ -16065,8 +16081,8 @@ this.TableConfig=CloneData(g_JSChartResource.StockInfo.Table);//显示的字段
16065
16081
  this.Column=[[{Name:"涨停价",Key:"UpLimit",ColorType:3,FloatPrecision:-1},{Name:"跌停价",Key:"DownLimit",ColorType:3,FloatPrecision:-1}],[{Name:"现价",Key:"Price",ColorType:3,FloatPrecision:-1},{Name:"今开",Key:"Open",ColorType:3,FloatPrecision:-1}],[{Name:"最高",Key:"High",ColorType:3,FloatPrecision:-1},{Name:"最低",Key:"Low",ColorType:3,FloatPrecision:-1}],[{Name:"涨幅",Key:"Increase",ColorType:1,FloatPrecision:2,StringFormat:"{Value}%"},{Name:"涨跌",Key:"UpDown",ColorType:1,FloatPrecision:-1}],[{Name:"振幅",Key:"Amplitude",FloatPrecision:2,StringFormat:"{Value}%"},{Name:"换手率",Key:"Exchange",FloatPrecision:2,StringFormat:"{Value}%"}],[{Name:"总量",Key:"Vol",FloatPrecision:0,Format:{Type:3,ExFloatPrecision:2}},{Name:"总额",Key:"Amount",FloatPrecision:0,Format:{Type:3,ExFloatPrecision:2}}],[{Name:"内盘",Key:"InVol",ColorType:4,FloatPrecision:0},{Name:"外盘",Key:"OutVol",ColorType:5,FloatPrecision:0}],[{Name:"TTM",Key:"PE_TTM",FloatPrecision:2},{Name:"市净率",Key:"PB",FloatPrecision:2}],[{Name:"流通市值",Key:"FlowMarketValue",FloatPrecision:0,Format:{Type:3,ExFloatPrecision:2}},{Name:"总市值",Key:"TotalMarketValue",FloatPrecision:0,Format:{Type:3,ExFloatPrecision:2}}]];this.AryCellRect=[];this.MouseOnItem=null;//{ Key:, Rect: }
16066
16082
  //this.MouseOnItem={ Key:"SELL_PRICE_0" };
16067
16083
  this.MouseOnConfig=CloneData(g_JSChartResource.StockInfo.MouseOn);this.MapMouseOnKey=new _map2.default();this.ReloadResource=function(resource){this.UpColor=g_JSChartResource.StockInfo.UpTextColor;this.DownColor=g_JSChartResource.StockInfo.DownTextColor;this.UnchangeColor=g_JSChartResource.StockInfo.UnchangeTextColor;this.HeaderConfig=CloneData(g_JSChartResource.StockInfo.Header);//买卖5档配置
16068
- this.BuySellConfig=CloneData(g_JSChartResource.StockInfo.BuySell);this.TableConfig=CloneData(g_JSChartResource.StockInfo.Table);this.MouseOnConfig=CloneData(g_JSChartResource.StockInfo.MouseOn);};this.ClearMouseOnData=function(option){if(!this.MouseOnItem){this.MouseOnItem=null;if(option)option.Update=true;//需要更新
16069
- }};this.SetColumn=function(aryColumn){this.Column=[];if(!IFrameSplitOperator.IsNonEmptyArray(aryColumn))return;for(var i=0;i<aryColumn.length;++i){var item=aryColumn[i];if(!item)continue;this.Column.push(CloneData(item));}};this.SetHeaderColumn=function(aryColumn){this.HeaderColumn=[];if(!IFrameSplitOperator.IsNonEmptyArray(aryColumn))return;for(var i=0;i<aryColumn.length;++i){var item=aryColumn[i];if(!item)continue;this.HeaderColumn.push(CloneData(item));}};this.SetMouseOnKey=function(aryKey){this.MapMouseOnKey.clear();if(!IFrameSplitOperator.IsNonEmptyArray(aryKey))return;for(var i=0;i<aryKey.length;++i){var key=aryKey[i];if(!key)continue;this.MapMouseOnKey.set(key,{Key:key});}};this.OnMouseMove=function(x,y,e,option){if(!IFrameSplitOperator.IsNonEmptyArray(this.AryCellRect))return false;if(this.MouseOnItem&&this.MouseOnItem.Rect){var rect=this.MouseOnItem.Rect;if(Path2DHelper.PtInRect(x,y,rect))return true;}for(var i=0;i<this.AryCellRect.length;++i){var item=this.AryCellRect[i];var rect=item.Rect;if(Path2DHelper.PtInRect(x,y,rect)){this.MouseOnItem={Key:item.Data.Key,Rect:rect};if(option)option.Update=true;return true;}}if(this.MouseOnItem){this.MouseOnItem=null;if(option)option.Update=true;}return false;};this.Draw=function(){this.AryCellRect=[];this.Decimal=GetfloatPrecision(this.Data.Symbol);var border=this.ChartBorder.GetBorder();var position={Left:border.Left,Right:border.Right,Top:border.Top,Width:border.Right-border.Left,Border:border};this.DrawHeader(position);this.DrawBuySell(position);this.DrawTable(position);};this.DrawHeader=function(position){var config=this.HeaderConfig;var top=position.Top;var left=position.Left;var xText=left;var yText=top;this.Canvas.font=config.Name.Font;var nameHeight=this.Canvas.measureText("擎").width;nameHeight+=config.Name.Margin.Top+config.Name.Margin.Bottom;this.Canvas.font=config.Symbol.Font;var symbolHeight=this.Canvas.measureText("擎").width;symbolHeight+=config.Symbol.Margin.Top+config.Symbol.Margin.Bottom;var lineHeight=Math.max(symbolHeight,nameHeight);this.Canvas.textAlign='left';this.Canvas.textBaseline='bottom';if(this.Data.Name){var text=this.Data.Name;xText+=config.Name.Margin.Left;var yBottom=yText+lineHeight-config.Name.Margin.Bottom+config.Name.Margin.YOffset;this.Canvas.font=config.Name.Font;this.Canvas.fillStyle=config.Name.Color;this.Canvas.fillText(text,xText,yBottom);var textWidth=this.Canvas.measureText(text).width;xText+=textWidth+config.Name.Margin.Right;}if(this.Data.Symbol){var text=MARKET_SUFFIX_NAME.GetShortSymbol(this.Data.Symbol);xText+=config.Symbol.Margin.Left;var yBottom=yText+lineHeight-config.Symbol.Margin.Bottom+config.Symbol.Margin.YOffset;this.Canvas.font=config.Symbol.Font;this.Canvas.fillStyle=config.Symbol.Color;this.Canvas.fillText(text,xText,yBottom);var textWidth=this.Canvas.measureText(text).width;xText+=textWidth+config.Symbol.Margin.Right;}yText+=lineHeight;if(IFrameSplitOperator.IsNonEmptyArray(this.HeaderColumn)){lineHeight=0;for(var i=0;i<this.HeaderColumn.length&&i<config.AryCell.length;++i){var subConfig=config.AryCell[i];this.Canvas.font=subConfig.Font;var textHeight=this.Canvas.measureText("擎").width;textHeight+=subConfig.Margin.Top+subConfig.Margin.Bottom;if(lineHeight<textHeight)lineHeight=textHeight;}var xText=left;for(var i=0;i<this.HeaderColumn.length&&i<config.AryCell.length;++i){var item=this.HeaderColumn[i];var text="--.--";color=config.TextColor;if(item.DefaultText)text=item.DefaultText;var subConfig=config.AryCell[i];if(this.Data.MapData&&this.Data.MapData.has(item.Key)){var dataItem=this.Data.MapData.get(item.Key);var text=this.FormatValue(item,dataItem);if(item.ColorType===3&&IFrameSplitOperator.IsNumber(dataItem.Value))color=this.GetPriceColor(dataItem.Value);else if(item.ColorType==1&&IFrameSplitOperator.IsNumber(dataItem.Value))color=this.GetUpDownColor(dataItem.Value,0);else if(item.ColorType==4)color=this.UpColor;else if(item.ColorType==5)color=this.DownColor;}if(item.TextColor)color=item.TextColor;if(text){this.Canvas.font=subConfig.Font;var textWidth=this.Canvas.measureText(text).width;var x=xText+subConfig.Margin.Left;this.Canvas.fillStyle=color;var yBottom=yText+lineHeight-subConfig.Margin.Bottom+subConfig.Margin.YOffset;this.Canvas.fillText(text,x,yBottom);xText+=subConfig.Margin.Left+subConfig.Margin.Right+textWidth;}}yText+=lineHeight;}position.Top=yText;if(config.BottomLine&&config.BottomLine.Enable){var xLeft=position.Border.Left,xRight=position.Border.Right;this.Canvas.strokeStyle=config.BottomLine.Color;var lineWidth=1*GetDevicePixelRatio();;this.Canvas.lineWidth=lineWidth;this.Canvas.beginPath();this.Canvas.moveTo(xLeft,ToFixedPoint(yText));this.Canvas.lineTo(xRight,ToFixedPoint(yText));this.Canvas.stroke();position.Top=ToFixedPoint(yText);}};//买卖5档
16084
+ this.BuySellConfig=CloneData(g_JSChartResource.StockInfo.BuySell);this.TableConfig=CloneData(g_JSChartResource.StockInfo.Table);this.MouseOnConfig=CloneData(g_JSChartResource.StockInfo.MouseOn);};this.ClearMouseOnData=function(option){if(this.MouseOnItem){this.MouseOnItem=null;if(option)option.Update=true;//需要更新
16085
+ }};this.SetColumn=function(aryColumn){this.Column=[];if(!IFrameSplitOperator.IsNonEmptyArray(aryColumn))return;for(var i=0;i<aryColumn.length;++i){var item=aryColumn[i];if(!item)continue;this.Column.push(CloneData(item));}};this.SetHeaderColumn=function(aryColumn){this.HeaderColumn=[];if(!IFrameSplitOperator.IsNonEmptyArray(aryColumn))return;for(var i=0;i<aryColumn.length;++i){var item=aryColumn[i];if(!item)continue;this.HeaderColumn.push(CloneData(item));}};this.SetMouseOnKey=function(aryKey){this.MapMouseOnKey.clear();if(!IFrameSplitOperator.IsNonEmptyArray(aryKey))return;for(var i=0;i<aryKey.length;++i){var key=aryKey[i];if(!key)continue;this.MapMouseOnKey.set(key,{Key:key});}};this.OnMouseMove=function(x,y,e,option){if(!IFrameSplitOperator.IsNonEmptyArray(this.AryCellRect))return false;if(this.MouseOnItem&&this.MouseOnItem.Rect){var rect=this.MouseOnItem.Rect;if(Path2DHelper.PtInRect(x,y,rect))return true;}for(var i=0;i<this.AryCellRect.length;++i){var item=this.AryCellRect[i];var rect=item.Rect;if(Path2DHelper.PtInRect(x,y,rect)){this.MouseOnItem={Key:item.Data.Key,Rect:rect};if(option)option.Update=true;return true;}}if(this.MouseOnItem){this.MouseOnItem=null;if(option)option.Update=true;}return false;};this.GetTooltipData=function(x,y,tooltip){if(!IFrameSplitOperator.IsNonEmptyArray(this.AryCellRect))return false;for(var i=0;i<this.AryCellRect.length;++i){var item=this.AryCellRect[i];var rect=item.Rect;if(Path2DHelper.PtInRect(x,y,rect)){tooltip.Data=item;tooltip.ChartPaint=this;tooltip.Type=151;return true;}}return false;};this.Draw=function(){this.AryCellRect=[];this.Decimal=GetfloatPrecision(this.Data.Symbol);var border=this.ChartBorder.GetBorder();var position={Left:border.Left,Right:border.Right,Top:border.Top,Width:border.Right-border.Left,Border:border};this.DrawHeader(position);this.DrawBuySell(position);this.DrawTable(position);};this.DrawHeader=function(position){var config=this.HeaderConfig;var top=position.Top;var left=position.Left;var xText=left;var yText=top;this.Canvas.font=config.Name.Font;var nameHeight=this.Canvas.measureText("擎").width;nameHeight+=config.Name.Margin.Top+config.Name.Margin.Bottom;this.Canvas.font=config.Symbol.Font;var symbolHeight=this.Canvas.measureText("擎").width;symbolHeight+=config.Symbol.Margin.Top+config.Symbol.Margin.Bottom;var lineHeight=Math.max(symbolHeight,nameHeight);this.Canvas.textAlign='left';this.Canvas.textBaseline='bottom';if(this.Data.Name){var text=this.Data.Name;xText+=config.Name.Margin.Left;var yBottom=yText+lineHeight-config.Name.Margin.Bottom+config.Name.Margin.YOffset;this.Canvas.font=config.Name.Font;this.Canvas.fillStyle=config.Name.Color;this.Canvas.fillText(text,xText,yBottom);var textWidth=this.Canvas.measureText(text).width;xText+=textWidth+config.Name.Margin.Right;}if(this.Data.Symbol){var text=MARKET_SUFFIX_NAME.GetShortSymbol(this.Data.Symbol);xText+=config.Symbol.Margin.Left;var yBottom=yText+lineHeight-config.Symbol.Margin.Bottom+config.Symbol.Margin.YOffset;this.Canvas.font=config.Symbol.Font;this.Canvas.fillStyle=config.Symbol.Color;this.Canvas.fillText(text,xText,yBottom);var textWidth=this.Canvas.measureText(text).width;xText+=textWidth+config.Symbol.Margin.Right;}yText+=lineHeight;if(IFrameSplitOperator.IsNonEmptyArray(this.HeaderColumn)){lineHeight=0;for(var i=0;i<this.HeaderColumn.length&&i<config.AryCell.length;++i){var subConfig=config.AryCell[i];this.Canvas.font=subConfig.Font;var textHeight=this.Canvas.measureText("擎").width;textHeight+=subConfig.Margin.Top+subConfig.Margin.Bottom;if(lineHeight<textHeight)lineHeight=textHeight;}var xText=left;for(var i=0;i<this.HeaderColumn.length&&i<config.AryCell.length;++i){var item=this.HeaderColumn[i];var text="--.--";color=config.TextColor;if(item.DefaultText)text=item.DefaultText;var subConfig=config.AryCell[i];if(this.Data.MapData&&this.Data.MapData.has(item.Key)){var dataItem=this.Data.MapData.get(item.Key);var text=this.FormatValue(item,dataItem);if(item.ColorType===3&&IFrameSplitOperator.IsNumber(dataItem.Value))color=this.GetPriceColor(dataItem.Value);else if(item.ColorType==1&&IFrameSplitOperator.IsNumber(dataItem.Value))color=this.GetUpDownColor(dataItem.Value,0);else if(item.ColorType==4)color=this.UpColor;else if(item.ColorType==5)color=this.DownColor;}if(item.TextColor)color=item.TextColor;if(text){this.Canvas.font=subConfig.Font;var textWidth=this.Canvas.measureText(text).width;var x=xText+subConfig.Margin.Left;this.Canvas.fillStyle=color;var yBottom=yText+lineHeight-subConfig.Margin.Bottom+subConfig.Margin.YOffset;this.Canvas.fillText(text,x,yBottom);xText+=subConfig.Margin.Left+subConfig.Margin.Right+textWidth;}}yText+=lineHeight;}position.Top=yText;if(config.BottomLine&&config.BottomLine.Enable){var xLeft=position.Border.Left,xRight=position.Border.Right;this.Canvas.strokeStyle=config.BottomLine.Color;var lineWidth=1*GetDevicePixelRatio();;this.Canvas.lineWidth=lineWidth;this.Canvas.beginPath();this.Canvas.moveTo(xLeft,ToFixedPoint(yText));this.Canvas.lineTo(xRight,ToFixedPoint(yText));this.Canvas.stroke();position.Top=ToFixedPoint(yText);}};//买卖5档
16070
16086
  this.DrawBuySell=function(position){if(this.BuySellCount<=0)return;var config=this.BuySellConfig;var top=position.Top;var left=position.Left+config.Margin.Left;var cellWidth=(position.Width-config.Margin.Left-config.Margin.Right)/4;var yText=top+config.Margin.Top;var xText=left;this.Canvas.font=config.Font;this.Canvas.textAlign='left';this.Canvas.textBaseline='bottom';var cellHeight=this.Canvas.measureText("擎").width+config.CellMargin.Top+config.CellMargin.Bottom;var count=this.BuySellCount;var sellVol=0,buyVol=0;for(var i=count-1;i>=0;--i){xText=left;var item=this.Data.Sells[i];this.DrawBuySellItem(item,xText,yText,cellWidth,cellHeight,{Type:1,Index:i});if(IFrameSplitOperator.IsNumber(item.Vol))sellVol+=item.Vol;yText+=cellHeight;}var yCenter=null;if(config.CenterLine)//留出画线的位置
16071
16087
  {yCenter=yText;var lineConfig=config.CenterLine;var lineWidth=lineConfig.Width;yText+=lineWidth;}for(var i=0;i<count&&i<this.Data.Buys.length;++i){xText=left;var item=this.Data.Buys[i];this.DrawBuySellItem(item,xText,yText,cellWidth,cellHeight,{Type:2,Index:i});if(IFrameSplitOperator.IsNumber(item.Vol))buyVol+=item.Vol;yText+=cellHeight;}position.Top=yText;if(IFrameSplitOperator.IsNumber(yCenter)&&config.CenterLine){var lineConfig=config.CenterLine;var xLeft=position.Border.Left,xRight=position.Border.Right;var lineWidth=lineConfig.Width;if(buyVol+sellVol>0){var buyRate=buyVol/(buyVol+sellVol);var barWidth=xRight-xLeft;var buyWidth=barWidth*buyRate;var xCenter=xLeft+buyWidth;this.Canvas.lineWidth=lineWidth;this.Canvas.strokeStyle=lineConfig.BuyColor;this.Canvas.beginPath();this.Canvas.moveTo(xLeft,ToFixedPoint2(lineWidth,yCenter));this.Canvas.lineTo(xCenter,ToFixedPoint2(lineWidth,yCenter));this.Canvas.stroke();this.Canvas.strokeStyle=lineConfig.SellColor;this.Canvas.beginPath();this.Canvas.moveTo(xCenter,ToFixedPoint2(lineWidth,yCenter));this.Canvas.lineTo(xRight,ToFixedPoint2(lineWidth,yCenter));this.Canvas.stroke();}else{this.Canvas.strokeStyle=lineConfig.NoneColor;this.Canvas.lineWidth=lineWidth;this.Canvas.beginPath();this.Canvas.moveTo(xLeft,ToFixedPoint2(lineWidth,yCenter));this.Canvas.lineTo(xRight,ToFixedPoint2(lineWidth,yCenter));this.Canvas.stroke();}}if(config.BottomLine&&config.BottomLine.Enable){var xLeft=position.Border.Left,xRight=position.Border.Right;this.Canvas.strokeStyle=config.BottomLine.Color;this.Canvas.lineWidth=1*GetDevicePixelRatio();this.Canvas.beginPath();this.Canvas.moveTo(xLeft,ToFixedPoint(yText));this.Canvas.lineTo(xRight,ToFixedPoint(yText));this.Canvas.stroke();}if(config.TopLine&&config.TopLine.Enable){var xLeft=position.Border.Left,xRight=position.Border.Right;this.Canvas.strokeStyle=config.BottomLine.Color;this.Canvas.lineWidth=1*GetDevicePixelRatio();this.Canvas.beginPath();this.Canvas.moveTo(xLeft,ToFixedPoint(top));this.Canvas.lineTo(xRight,ToFixedPoint(top));this.Canvas.stroke();}};//itemInfo={ Type:2(1=买 2=卖), Index:数据索引 }
16072
16088
  this.DrawBuySellItem=function(item,left,top,cellWidth,cellHeight,itemInfo){var config=this.BuySellConfig;var xText=left;var yBottom=top+cellHeight-config.CellMargin.Bottom+config.CellMargin.YOffset;if(item.Name){this.Canvas.fillStyle=config.TitleColor;this.Canvas.fillText(item.Name,xText+config.CellMargin.Left,yBottom);}xText+=cellWidth;if(IFrameSplitOperator.IsNumber(item.Price)){var key=(itemInfo.Type==1?"BUY":"SELL")+'_PRICE_'+itemInfo.Index;var mouseOnItem=this.IsMouseOn(key);var text=item.Price.toFixed(this.Decimal);var textWidth=this.Canvas.measureText(text).width;var x=xText+cellWidth-textWidth-config.CellMargin.Right;var rtCell={Left:xText,Width:cellWidth,Top:top,Height:cellHeight};rtCell.Right=rtCell.Left+rtCell.Width;rtCell.Bottom=rtCell.Top+rtCell.Height;if(mouseOnItem)this.DrawMouseOnRect(rtCell);this.Canvas.fillStyle=this.GetPriceColor(item.Price);this.Canvas.fillText(text,x,yBottom);if(this.MapMouseOnKey.has(key))this.AryCellRect.push({Rect:rtCell,Data:{Type:1,Key:key,Value:item.Price}});}xText+=cellWidth;xText+=cellWidth;if(IFrameSplitOperator.IsNumber(item.Vol)){var text=item.Vol.toFixed(0);var textWidth=this.Canvas.measureText(text).width;var x=xText+cellWidth-textWidth-config.CellMargin.Right;this.Canvas.fillStyle=config.VolColor;this.Canvas.fillText(text,x,yBottom);}};this.IsMouseOn=function(key){if(!this.MouseOnItem)return null;if(this.MouseOnItem.Key===key)return this.MouseOnItem;return null;};this.DrawMouseOnRect=function(rect){if(!this.MouseOnItem)return;this.Canvas.fillStyle=this.MouseOnConfig.BGColor;this.Canvas.fillRect(rect.Left,rect.Top,rect.Width,rect.Height);this.MouseOnItem.Rect=rect;};this.DrawTable=function(position){if(!IFrameSplitOperator.IsNonEmptyArray(this.Column))return;var config=this.TableConfig;var top=position.Top;var left=position.Left+config.Margin.Left;var cellWidth=(position.Width-config.Margin.Left-config.Margin.Right)/4;var yText=top+config.Margin.Top;var xText=left;this.Canvas.font=config.Font;this.Canvas.textAlign='left';this.Canvas.textBaseline='bottom';var cellHeight=this.Canvas.measureText("擎").width+config.CellMargin.Top+config.CellMargin.Bottom;for(var i=0;i<this.Column.length;++i){xText=left;var item=this.Column[i];if(!item||!IFrameSplitOperator.IsNonEmptyArray(item))continue;this.DrawRowItem(item,xText,yText,cellWidth,cellHeight);yText+=cellHeight;}};this.DrawRowItem=function(aryData,left,top,cellWidth,cellHeight){var config=this.TableConfig;var xText=left;var yBottom=top+cellHeight-config.CellMargin.Bottom+config.CellMargin.YOffset;for(var i=0;i<aryData.length&&i<2;++i){var item=aryData[i];if(item){if(item.Name){this.Canvas.fillStyle=config.TitleColor;this.Canvas.fillText(item.Name,xText+config.CellMargin.Left,yBottom);}xText+=cellWidth;if(this.Data.MapData&&this.Data.MapData.has(item.Key)){var dataItem=this.Data.MapData.get(item.Key);color=config.TextColor;var text=this.FormatValue(item,dataItem);if(item.ColorType===3&&IFrameSplitOperator.IsNumber(dataItem.Value))color=this.GetPriceColor(dataItem.Value);else if(item.ColorType==1&&IFrameSplitOperator.IsNumber(dataItem.Value))color=this.GetUpDownColor(dataItem.Value,0);else if(item.ColorType==4)color=this.UpColor;else if(item.ColorType==5)color=this.DownColor;if(item.TextColor)color=item.TextColor;if(text){if(i==0&&item.ShowType==1)//整行显示
@@ -16077,7 +16093,7 @@ text=value.toFixed(dec);break;case 2://千分位分割
16077
16093
  text=IFrameSplitOperator.FormatValueThousandsString(value,dec);break;case 3:var exfloatPrecision=1;if(IFrameSplitOperator.IsNumber(format.ExFloatPrecision))exfloatPrecision=format.ExFloatPrecision;text=IFrameSplitOperator.FormatValueStringV2(value,dec,exfloatPrecision);break;}}}if(column.StringFormat&&text)text=column.StringFormat.replace('{Value}',text);return text;};this.GetPriceColor=function(price){var upperSymbol=null;if(this.Data.Symbol)upperSymbol=this.Data.Symbol.toUpperCase();if(MARKET_SUFFIX_NAME.IsChinaFutures(upperSymbol)){if(!IFrameSplitOperator.IsNumber(this.Data.YFClose))return this.UnchangeColor;return this.GetUpDownColor(price,this.Data.YFClose);}else{if(!IFrameSplitOperator.IsNumber(this.Data.YClose))return this.UnchangeColor;return this.GetUpDownColor(price,this.Data.YClose);}};this.GetUpDownColor=function(price,price2){if(price>price2)return this.UpColor;else if(price<price2)return this.DownColor;else return this.UnchangeColor;};}/********************************************************************************
16078
16094
  * 版本信息输出
16079
16095
  *
16080
- */var HQCHART_VERSION="1.1.15454";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();//把给外界调用的方法暴露出来
16096
+ */var HQCHART_VERSION="1.1.15479";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();//把给外界调用的方法暴露出来
16081
16097
  exports.default=(_jsChartInit$jsChartS={jsChartInit:JSChart.Init,jsChartStyle:JSChart.SetStyle,// IsIndexSymbol:IsIndexSymbol,
16082
16098
  // BaseIndex:BaseIndex,
16083
16099
  // ChartLine:ChartLine,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hqchart",
3
- "version": "1.1.15455",
3
+ "version": "1.1.15480",
4
4
  "description": "HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据对接",
5
5
  "main": "lib/main.js",
6
6
  "scripts": {
@@ -556,6 +556,7 @@ function JSDialogDrawTool()
556
556
  this.Close=function(e)
557
557
  {
558
558
  if (!this.DivDialog) return;
559
+ if (!this.IsShow()) return;
559
560
 
560
561
  this.DivDialog.style.visibility='hidden';
561
562
 
@@ -901,6 +902,8 @@ function JSDialogModifyDraw()
901
902
  if (!this.DivDialog) return;
902
903
 
903
904
  this.ChartPicture=null;
905
+ if (!this.IsShow()) return;
906
+
904
907
  this.DivDialog.style.visibility='hidden';
905
908
 
906
909
  if (this.HQChart) this.HQChart.RestoreFocus(this.RestoreFocusDelay);